diff --git a/22.09.21/main.py b/22.09.21/main.py new file mode 100644 index 00000000..e4709fdd --- /dev/null +++ b/22.09.21/main.py @@ -0,0 +1,30 @@ +# Author - Kristiāns Francis Cagulis +# Date - 22.09.2021 +# +# Uzdevums: +# +# Firma apsolījusi Ziemassvētku bonusu 15% apjomā no mēneša algas par KATRU nostrādāto gadu virs 2 gadiem. +# Uzdevums. Noprasiet lietotājam mēneša algas apjomu un nostrādāto gadu skaitu. +# Izvadiet bonusu. + + +class Bonuss(): + def __init__(self): + self.percent = .15 + self.salary = float(input("Mēneša algas apjoms: ")) + self.time_worked = int(input("Nostrādātais gadu skaits: ")) + + def _calculate_bonus(self): + if self.time_worked > 2: + salary_bonus = self.percent * self.salary * (self.time_worked - 2) + return f"Jūsu algas bonuss ir {round(salary_bonus, 2)}€" + else: + return "Jums algas bonuss nepienākas." + + +def main(): + print(Bonuss()._calculate_bonus()) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt deleted file mode 100644 index b3fa7ce0..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt +++ /dev/null @@ -1,18 +0,0 @@ -..\eel\__init__.py -..\eel\__main__.py -..\eel\__pycache__\__init__.cpython-39.pyc -..\eel\__pycache__\__main__.cpython-39.pyc -..\eel\__pycache__\browsers.cpython-39.pyc -..\eel\__pycache__\chrome.cpython-39.pyc -..\eel\__pycache__\edge.cpython-39.pyc -..\eel\__pycache__\electron.cpython-39.pyc -..\eel\browsers.py -..\eel\chrome.py -..\eel\edge.py -..\eel\eel.js -..\eel\electron.py -PKG-INFO -SOURCES.txt -dependency_links.txt -requires.txt -top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/_cffi_backend.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/_cffi_backend.cp39-win_amd64.pyd deleted file mode 100644 index 9df446ab..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/_cffi_backend.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc deleted file mode 100644 index b22a4b7b..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt deleted file mode 100644 index 011bf10d..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt +++ /dev/null @@ -1,11 +0,0 @@ -..\bottle_websocket\__init__.py -..\bottle_websocket\__pycache__\__init__.cpython-39.pyc -..\bottle_websocket\__pycache__\plugin.cpython-39.pyc -..\bottle_websocket\__pycache__\server.cpython-39.pyc -..\bottle_websocket\plugin.py -..\bottle_websocket\server.py -PKG-INFO -SOURCES.txt -dependency_links.txt -requires.txt -top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 6f3f627a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc deleted file mode 100644 index 918e28da..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/LICENSE b/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/LICENSE deleted file mode 100644 index 29225eee..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ - -Except when otherwise stated (look for LICENSE files in directories or -information at the beginning of each file) all software and -documentation is licensed as follows: - - The MIT License - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/METADATA b/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/METADATA deleted file mode 100644 index eb89ffb9..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/METADATA +++ /dev/null @@ -1,37 +0,0 @@ -Metadata-Version: 2.1 -Name: cffi -Version: 1.14.6 -Summary: Foreign Function Interface for Python calling C code. -Home-page: http://cffi.readthedocs.org -Author: Armin Rigo, Maciej Fijalkowski -Author-email: python-cffi@googlegroups.com -License: MIT -Platform: UNKNOWN -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.2 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: License :: OSI Approved :: MIT License -Requires-Dist: pycparser - - -CFFI -==== - -Foreign Function Interface for Python calling C code. -Please see the `Documentation `_. - -Contact -------- - -`Mailing list `_ - - diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/RECORD b/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/RECORD deleted file mode 100644 index f32f78ba..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/RECORD +++ /dev/null @@ -1,44 +0,0 @@ -_cffi_backend.cp39-win_amd64.pyd,sha256=g-0gIhTSjRQSX9t2C3xkOfecWcArs6OeeBL41iLJeto,183296 -cffi-1.14.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -cffi-1.14.6.dist-info/LICENSE,sha256=esEZUOct9bRcUXFqeyLnuzSzJNZ_Bl4pOBUt1HLEgV8,1320 -cffi-1.14.6.dist-info/METADATA,sha256=iARP_3-zijWu2wMTGLxBjOvhLauXbXbudMbvCUaPKrI,1191 -cffi-1.14.6.dist-info/RECORD,, -cffi-1.14.6.dist-info/WHEEL,sha256=jr7ubY0Lkz_yXH9FfFe9PTtLhGOsf62dZkNvTYrJINE,100 -cffi-1.14.6.dist-info/entry_points.txt,sha256=Q9f5C9IpjYxo0d2PK9eUcnkgxHc9pHWwjEMaANPKNCI,76 -cffi-1.14.6.dist-info/top_level.txt,sha256=rE7WR3rZfNKxWI9-jn6hsHCAl7MDkB-FmuQbxWjFehQ,19 -cffi/__init__.py,sha256=mPnPU823V2y9fzXsnm_A9UrnX9xQ1MbonbJLTlSIJY4,527 -cffi/__pycache__/__init__.cpython-39.pyc,, -cffi/__pycache__/api.cpython-39.pyc,, -cffi/__pycache__/backend_ctypes.cpython-39.pyc,, -cffi/__pycache__/cffi_opcode.cpython-39.pyc,, -cffi/__pycache__/commontypes.cpython-39.pyc,, -cffi/__pycache__/cparser.cpython-39.pyc,, -cffi/__pycache__/error.cpython-39.pyc,, -cffi/__pycache__/ffiplatform.cpython-39.pyc,, -cffi/__pycache__/lock.cpython-39.pyc,, -cffi/__pycache__/model.cpython-39.pyc,, -cffi/__pycache__/pkgconfig.cpython-39.pyc,, -cffi/__pycache__/recompiler.cpython-39.pyc,, -cffi/__pycache__/setuptools_ext.cpython-39.pyc,, -cffi/__pycache__/vengine_cpy.cpython-39.pyc,, -cffi/__pycache__/vengine_gen.cpython-39.pyc,, -cffi/__pycache__/verifier.cpython-39.pyc,, -cffi/_cffi_errors.h,sha256=G0bGOb-6SNIO0UY8KEN3cM40Yd1JuR5bETQ8Ni5PxWY,4057 -cffi/_cffi_include.h,sha256=H7cgdZR-POwmUFrIup4jOGzmje8YoQHhN99gVFg7w08,15185 -cffi/_embedding.h,sha256=wHYFVdsluJBmvPMOftLrP8qWAWpXpJdMkw52o1hHU-8,18108 -cffi/api.py,sha256=Xs_dAN5x1ehfnn_F9ZTdA3Ce0bmPrqeIOkO4Ya1tfbQ,43029 -cffi/backend_ctypes.py,sha256=BHN3q2giL2_Y8wMDST2CIcc_qoMrs65qV9Ob5JvxBZ4,43575 -cffi/cffi_opcode.py,sha256=57P2NHLZkuTWueZybu5iosWljb6ocQmUXzGrCplrnyE,5911 -cffi/commontypes.py,sha256=mEZD4g0qtadnv6O6CEXvMQaJ1K6SRbG5S1h4YvVZHOU,2769 -cffi/cparser.py,sha256=CwVk2V3ATYlCoywG6zN35w6UQ7zj2EWX68KjoJp2Mzk,45237 -cffi/error.py,sha256=Bka7fSV22aIglTQDPIDfpnxTc1aWZLMQdQOJY-h_PUA,908 -cffi/ffiplatform.py,sha256=qioydJeC63dEvrQ3ht5_BPmSs7wzzzuWnZAJtfhic7I,4173 -cffi/lock.py,sha256=vnbsel7392Ib8gGBifIfAfc7MHteSwd3nP725pvc25Q,777 -cffi/model.py,sha256=HRD0WEYHF2Vr6RjS-4wyncElrZxU2256zY0fbMkSKec,22385 -cffi/parse_c_type.h,sha256=fKYNqWNX5f9kZNNhbXcRLTOlpRGRhh8eCLyHmTXIZnQ,6157 -cffi/pkgconfig.py,sha256=9zDcDf0XKIJaxFHLg7e-W8-Xb8Yq5hdhqH7kLg-ugRo,4495 -cffi/recompiler.py,sha256=LmEalHqs90dgp5od-BiZizsu2M2WJV7S6ctNSxj3FsA,66149 -cffi/setuptools_ext.py,sha256=8y14TOlRAkgdczmwtPOahyFXJHNyIqhLjUHMYQmjOHs,9150 -cffi/vengine_cpy.py,sha256=ukugKCIsURxJzHxlxS265tGjQfPTFDbThwsqBrwKh-A,44396 -cffi/vengine_gen.py,sha256=mykUhLFJIcV6AyQ5cMJ3n_7dbqw0a9WEjXW0E-WfgiI,27359 -cffi/verifier.py,sha256=AZuuR7MxjMYZc8IsZjGsF8mdGajCsOY60AZLwZZ_Z2Y,11560 diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/entry_points.txt b/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/entry_points.txt deleted file mode 100644 index eee7e0fb..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[distutils.setup_keywords] -cffi_modules = cffi.setuptools_ext:cffi_modules - diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/top_level.txt b/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/top_level.txt deleted file mode 100644 index f6457795..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/top_level.txt +++ /dev/null @@ -1,2 +0,0 @@ -_cffi_backend -cffi diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__init__.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/__init__.py deleted file mode 100644 index cdc26f09..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -__all__ = ['FFI', 'VerificationError', 'VerificationMissing', 'CDefError', - 'FFIError'] - -from .api import FFI -from .error import CDefError, FFIError, VerificationError, VerificationMissing -from .error import PkgConfigError - -__version__ = "1.14.6" -__version_info__ = (1, 14, 6) - -# The verifier module file names are based on the CRC32 of a string that -# contains the following version number. It may be older than __version__ -# if nothing is clearly incompatible. -__version_verifier_modules__ = "0.8.6" diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index f859cacf..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/api.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/api.cpython-39.pyc deleted file mode 100644 index db1578d1..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/api.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/backend_ctypes.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/backend_ctypes.cpython-39.pyc deleted file mode 100644 index b0761eed..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/backend_ctypes.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cffi_opcode.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cffi_opcode.cpython-39.pyc deleted file mode 100644 index 4ec29a8d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cffi_opcode.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/commontypes.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/commontypes.cpython-39.pyc deleted file mode 100644 index 15d62dc8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/commontypes.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cparser.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cparser.cpython-39.pyc deleted file mode 100644 index f898be99..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/cparser.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/error.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/error.cpython-39.pyc deleted file mode 100644 index 77fac51e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/error.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/ffiplatform.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/ffiplatform.cpython-39.pyc deleted file mode 100644 index 9b694c4f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/ffiplatform.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/lock.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/lock.cpython-39.pyc deleted file mode 100644 index 842cf51e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/lock.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/model.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/model.cpython-39.pyc deleted file mode 100644 index a953c772..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/model.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/pkgconfig.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/pkgconfig.cpython-39.pyc deleted file mode 100644 index 70033ec8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/pkgconfig.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/recompiler.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/recompiler.cpython-39.pyc deleted file mode 100644 index ed1772c2..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/recompiler.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/setuptools_ext.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/setuptools_ext.cpython-39.pyc deleted file mode 100644 index 5cb1a097..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/setuptools_ext.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_cpy.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_cpy.cpython-39.pyc deleted file mode 100644 index 83ef1b5d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_cpy.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_gen.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_gen.cpython-39.pyc deleted file mode 100644 index e272afc8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/vengine_gen.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/verifier.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/verifier.cpython-39.pyc deleted file mode 100644 index 561288ea..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/cffi/__pycache__/verifier.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_errors.h b/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_errors.h deleted file mode 100644 index 158e0590..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_errors.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef CFFI_MESSAGEBOX -# ifdef _MSC_VER -# define CFFI_MESSAGEBOX 1 -# else -# define CFFI_MESSAGEBOX 0 -# endif -#endif - - -#if CFFI_MESSAGEBOX -/* Windows only: logic to take the Python-CFFI embedding logic - initialization errors and display them in a background thread - with MessageBox. The idea is that if the whole program closes - as a result of this problem, then likely it is already a console - program and you can read the stderr output in the console too. - If it is not a console program, then it will likely show its own - dialog to complain, or generally not abruptly close, and for this - case the background thread should stay alive. -*/ -static void *volatile _cffi_bootstrap_text; - -static PyObject *_cffi_start_error_capture(void) -{ - PyObject *result = NULL; - PyObject *x, *m, *bi; - - if (InterlockedCompareExchangePointer(&_cffi_bootstrap_text, - (void *)1, NULL) != NULL) - return (PyObject *)1; - - m = PyImport_AddModule("_cffi_error_capture"); - if (m == NULL) - goto error; - - result = PyModule_GetDict(m); - if (result == NULL) - goto error; - -#if PY_MAJOR_VERSION >= 3 - bi = PyImport_ImportModule("builtins"); -#else - bi = PyImport_ImportModule("__builtin__"); -#endif - if (bi == NULL) - goto error; - PyDict_SetItemString(result, "__builtins__", bi); - Py_DECREF(bi); - - x = PyRun_String( - "import sys\n" - "class FileLike:\n" - " def write(self, x):\n" - " try:\n" - " of.write(x)\n" - " except: pass\n" - " self.buf += x\n" - " def flush(self):\n" - " pass\n" - "fl = FileLike()\n" - "fl.buf = ''\n" - "of = sys.stderr\n" - "sys.stderr = fl\n" - "def done():\n" - " sys.stderr = of\n" - " return fl.buf\n", /* make sure the returned value stays alive */ - Py_file_input, - result, result); - Py_XDECREF(x); - - error: - if (PyErr_Occurred()) - { - PyErr_WriteUnraisable(Py_None); - PyErr_Clear(); - } - return result; -} - -#pragma comment(lib, "user32.lib") - -static DWORD WINAPI _cffi_bootstrap_dialog(LPVOID ignored) -{ - Sleep(666); /* may be interrupted if the whole process is closing */ -#if PY_MAJOR_VERSION >= 3 - MessageBoxW(NULL, (wchar_t *)_cffi_bootstrap_text, - L"Python-CFFI error", - MB_OK | MB_ICONERROR); -#else - MessageBoxA(NULL, (char *)_cffi_bootstrap_text, - "Python-CFFI error", - MB_OK | MB_ICONERROR); -#endif - _cffi_bootstrap_text = NULL; - return 0; -} - -static void _cffi_stop_error_capture(PyObject *ecap) -{ - PyObject *s; - void *text; - - if (ecap == (PyObject *)1) - return; - - if (ecap == NULL) - goto error; - - s = PyRun_String("done()", Py_eval_input, ecap, ecap); - if (s == NULL) - goto error; - - /* Show a dialog box, but in a background thread, and - never show multiple dialog boxes at once. */ -#if PY_MAJOR_VERSION >= 3 - text = PyUnicode_AsWideCharString(s, NULL); -#else - text = PyString_AsString(s); -#endif - - _cffi_bootstrap_text = text; - - if (text != NULL) - { - HANDLE h; - h = CreateThread(NULL, 0, _cffi_bootstrap_dialog, - NULL, 0, NULL); - if (h != NULL) - CloseHandle(h); - } - /* decref the string, but it should stay alive as 'fl.buf' - in the small module above. It will really be freed only if - we later get another similar error. So it's a leak of at - most one copy of the small module. That's fine for this - situation which is usually a "fatal error" anyway. */ - Py_DECREF(s); - PyErr_Clear(); - return; - - error: - _cffi_bootstrap_text = NULL; - PyErr_Clear(); -} - -#else - -static PyObject *_cffi_start_error_capture(void) { return NULL; } -static void _cffi_stop_error_capture(PyObject *ecap) { } - -#endif diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_include.h b/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_include.h deleted file mode 100644 index e4c0a672..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/_cffi_include.h +++ /dev/null @@ -1,385 +0,0 @@ -#define _CFFI_ - -/* We try to define Py_LIMITED_API before including Python.h. - - Mess: we can only define it if Py_DEBUG, Py_TRACE_REFS and - Py_REF_DEBUG are not defined. This is a best-effort approximation: - we can learn about Py_DEBUG from pyconfig.h, but it is unclear if - the same works for the other two macros. Py_DEBUG implies them, - but not the other way around. - - The implementation is messy (issue #350): on Windows, with _MSC_VER, - we have to define Py_LIMITED_API even before including pyconfig.h. - In that case, we guess what pyconfig.h will do to the macros above, - and check our guess after the #include. - - Note that on Windows, with CPython 3.x, you need >= 3.5 and virtualenv - version >= 16.0.0. With older versions of either, you don't get a - copy of PYTHON3.DLL in the virtualenv. We can't check the version of - CPython *before* we even include pyconfig.h. ffi.set_source() puts - a ``#define _CFFI_NO_LIMITED_API'' at the start of this file if it is - running on Windows < 3.5, as an attempt at fixing it, but that's - arguably wrong because it may not be the target version of Python. - Still better than nothing I guess. As another workaround, you can - remove the definition of Py_LIMITED_API here. - - See also 'py_limited_api' in cffi/setuptools_ext.py. -*/ -#if !defined(_CFFI_USE_EMBEDDING) && !defined(Py_LIMITED_API) -# ifdef _MSC_VER -# if !defined(_DEBUG) && !defined(Py_DEBUG) && !defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG) && !defined(_CFFI_NO_LIMITED_API) -# define Py_LIMITED_API -# endif -# include - /* sanity-check: Py_LIMITED_API will cause crashes if any of these - are also defined. Normally, the Python file PC/pyconfig.h does not - cause any of these to be defined, with the exception that _DEBUG - causes Py_DEBUG. Double-check that. */ -# ifdef Py_LIMITED_API -# if defined(Py_DEBUG) -# error "pyconfig.h unexpectedly defines Py_DEBUG, but Py_LIMITED_API is set" -# endif -# if defined(Py_TRACE_REFS) -# error "pyconfig.h unexpectedly defines Py_TRACE_REFS, but Py_LIMITED_API is set" -# endif -# if defined(Py_REF_DEBUG) -# error "pyconfig.h unexpectedly defines Py_REF_DEBUG, but Py_LIMITED_API is set" -# endif -# endif -# else -# include -# if !defined(Py_DEBUG) && !defined(Py_TRACE_REFS) && !defined(Py_REF_DEBUG) && !defined(_CFFI_NO_LIMITED_API) -# define Py_LIMITED_API -# endif -# endif -#endif - -#include -#ifdef __cplusplus -extern "C" { -#endif -#include -#include "parse_c_type.h" - -/* this block of #ifs should be kept exactly identical between - c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py - and cffi/_cffi_include.h */ -#if defined(_MSC_VER) -# include /* for alloca() */ -# if _MSC_VER < 1600 /* MSVC < 2010 */ - typedef __int8 int8_t; - typedef __int16 int16_t; - typedef __int32 int32_t; - typedef __int64 int64_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int64 uint64_t; - typedef __int8 int_least8_t; - typedef __int16 int_least16_t; - typedef __int32 int_least32_t; - typedef __int64 int_least64_t; - typedef unsigned __int8 uint_least8_t; - typedef unsigned __int16 uint_least16_t; - typedef unsigned __int32 uint_least32_t; - typedef unsigned __int64 uint_least64_t; - typedef __int8 int_fast8_t; - typedef __int16 int_fast16_t; - typedef __int32 int_fast32_t; - typedef __int64 int_fast64_t; - typedef unsigned __int8 uint_fast8_t; - typedef unsigned __int16 uint_fast16_t; - typedef unsigned __int32 uint_fast32_t; - typedef unsigned __int64 uint_fast64_t; - typedef __int64 intmax_t; - typedef unsigned __int64 uintmax_t; -# else -# include -# endif -# if _MSC_VER < 1800 /* MSVC < 2013 */ -# ifndef __cplusplus - typedef unsigned char _Bool; -# endif -# endif -#else -# include -# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux) -# include -# endif -#endif - -#ifdef __GNUC__ -# define _CFFI_UNUSED_FN __attribute__((unused)) -#else -# define _CFFI_UNUSED_FN /* nothing */ -#endif - -#ifdef __cplusplus -# ifndef _Bool - typedef bool _Bool; /* semi-hackish: C++ has no _Bool; bool is builtin */ -# endif -#endif - -/********** CPython-specific section **********/ -#ifndef PYPY_VERSION - - -#if PY_MAJOR_VERSION >= 3 -# define PyInt_FromLong PyLong_FromLong -#endif - -#define _cffi_from_c_double PyFloat_FromDouble -#define _cffi_from_c_float PyFloat_FromDouble -#define _cffi_from_c_long PyInt_FromLong -#define _cffi_from_c_ulong PyLong_FromUnsignedLong -#define _cffi_from_c_longlong PyLong_FromLongLong -#define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong -#define _cffi_from_c__Bool PyBool_FromLong - -#define _cffi_to_c_double PyFloat_AsDouble -#define _cffi_to_c_float PyFloat_AsDouble - -#define _cffi_from_c_int(x, type) \ - (((type)-1) > 0 ? /* unsigned */ \ - (sizeof(type) < sizeof(long) ? \ - PyInt_FromLong((long)x) : \ - sizeof(type) == sizeof(long) ? \ - PyLong_FromUnsignedLong((unsigned long)x) : \ - PyLong_FromUnsignedLongLong((unsigned long long)x)) : \ - (sizeof(type) <= sizeof(long) ? \ - PyInt_FromLong((long)x) : \ - PyLong_FromLongLong((long long)x))) - -#define _cffi_to_c_int(o, type) \ - ((type)( \ - sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o) \ - : (type)_cffi_to_c_i8(o)) : \ - sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o) \ - : (type)_cffi_to_c_i16(o)) : \ - sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o) \ - : (type)_cffi_to_c_i32(o)) : \ - sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o) \ - : (type)_cffi_to_c_i64(o)) : \ - (Py_FatalError("unsupported size for type " #type), (type)0))) - -#define _cffi_to_c_i8 \ - ((int(*)(PyObject *))_cffi_exports[1]) -#define _cffi_to_c_u8 \ - ((int(*)(PyObject *))_cffi_exports[2]) -#define _cffi_to_c_i16 \ - ((int(*)(PyObject *))_cffi_exports[3]) -#define _cffi_to_c_u16 \ - ((int(*)(PyObject *))_cffi_exports[4]) -#define _cffi_to_c_i32 \ - ((int(*)(PyObject *))_cffi_exports[5]) -#define _cffi_to_c_u32 \ - ((unsigned int(*)(PyObject *))_cffi_exports[6]) -#define _cffi_to_c_i64 \ - ((long long(*)(PyObject *))_cffi_exports[7]) -#define _cffi_to_c_u64 \ - ((unsigned long long(*)(PyObject *))_cffi_exports[8]) -#define _cffi_to_c_char \ - ((int(*)(PyObject *))_cffi_exports[9]) -#define _cffi_from_c_pointer \ - ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[10]) -#define _cffi_to_c_pointer \ - ((char *(*)(PyObject *, struct _cffi_ctypedescr *))_cffi_exports[11]) -#define _cffi_get_struct_layout \ - not used any more -#define _cffi_restore_errno \ - ((void(*)(void))_cffi_exports[13]) -#define _cffi_save_errno \ - ((void(*)(void))_cffi_exports[14]) -#define _cffi_from_c_char \ - ((PyObject *(*)(char))_cffi_exports[15]) -#define _cffi_from_c_deref \ - ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[16]) -#define _cffi_to_c \ - ((int(*)(char *, struct _cffi_ctypedescr *, PyObject *))_cffi_exports[17]) -#define _cffi_from_c_struct \ - ((PyObject *(*)(char *, struct _cffi_ctypedescr *))_cffi_exports[18]) -#define _cffi_to_c_wchar_t \ - ((_cffi_wchar_t(*)(PyObject *))_cffi_exports[19]) -#define _cffi_from_c_wchar_t \ - ((PyObject *(*)(_cffi_wchar_t))_cffi_exports[20]) -#define _cffi_to_c_long_double \ - ((long double(*)(PyObject *))_cffi_exports[21]) -#define _cffi_to_c__Bool \ - ((_Bool(*)(PyObject *))_cffi_exports[22]) -#define _cffi_prepare_pointer_call_argument \ - ((Py_ssize_t(*)(struct _cffi_ctypedescr *, \ - PyObject *, char **))_cffi_exports[23]) -#define _cffi_convert_array_from_object \ - ((int(*)(char *, struct _cffi_ctypedescr *, PyObject *))_cffi_exports[24]) -#define _CFFI_CPIDX 25 -#define _cffi_call_python \ - ((void(*)(struct _cffi_externpy_s *, char *))_cffi_exports[_CFFI_CPIDX]) -#define _cffi_to_c_wchar3216_t \ - ((int(*)(PyObject *))_cffi_exports[26]) -#define _cffi_from_c_wchar3216_t \ - ((PyObject *(*)(int))_cffi_exports[27]) -#define _CFFI_NUM_EXPORTS 28 - -struct _cffi_ctypedescr; - -static void *_cffi_exports[_CFFI_NUM_EXPORTS]; - -#define _cffi_type(index) ( \ - assert((((uintptr_t)_cffi_types[index]) & 1) == 0), \ - (struct _cffi_ctypedescr *)_cffi_types[index]) - -static PyObject *_cffi_init(const char *module_name, Py_ssize_t version, - const struct _cffi_type_context_s *ctx) -{ - PyObject *module, *o_arg, *new_module; - void *raw[] = { - (void *)module_name, - (void *)version, - (void *)_cffi_exports, - (void *)ctx, - }; - - module = PyImport_ImportModule("_cffi_backend"); - if (module == NULL) - goto failure; - - o_arg = PyLong_FromVoidPtr((void *)raw); - if (o_arg == NULL) - goto failure; - - new_module = PyObject_CallMethod( - module, (char *)"_init_cffi_1_0_external_module", (char *)"O", o_arg); - - Py_DECREF(o_arg); - Py_DECREF(module); - return new_module; - - failure: - Py_XDECREF(module); - return NULL; -} - - -#ifdef HAVE_WCHAR_H -typedef wchar_t _cffi_wchar_t; -#else -typedef uint16_t _cffi_wchar_t; /* same random pick as _cffi_backend.c */ -#endif - -_CFFI_UNUSED_FN static uint16_t _cffi_to_c_char16_t(PyObject *o) -{ - if (sizeof(_cffi_wchar_t) == 2) - return (uint16_t)_cffi_to_c_wchar_t(o); - else - return (uint16_t)_cffi_to_c_wchar3216_t(o); -} - -_CFFI_UNUSED_FN static PyObject *_cffi_from_c_char16_t(uint16_t x) -{ - if (sizeof(_cffi_wchar_t) == 2) - return _cffi_from_c_wchar_t((_cffi_wchar_t)x); - else - return _cffi_from_c_wchar3216_t((int)x); -} - -_CFFI_UNUSED_FN static int _cffi_to_c_char32_t(PyObject *o) -{ - if (sizeof(_cffi_wchar_t) == 4) - return (int)_cffi_to_c_wchar_t(o); - else - return (int)_cffi_to_c_wchar3216_t(o); -} - -_CFFI_UNUSED_FN static PyObject *_cffi_from_c_char32_t(unsigned int x) -{ - if (sizeof(_cffi_wchar_t) == 4) - return _cffi_from_c_wchar_t((_cffi_wchar_t)x); - else - return _cffi_from_c_wchar3216_t((int)x); -} - -union _cffi_union_alignment_u { - unsigned char m_char; - unsigned short m_short; - unsigned int m_int; - unsigned long m_long; - unsigned long long m_longlong; - float m_float; - double m_double; - long double m_longdouble; -}; - -struct _cffi_freeme_s { - struct _cffi_freeme_s *next; - union _cffi_union_alignment_u alignment; -}; - -_CFFI_UNUSED_FN static int -_cffi_convert_array_argument(struct _cffi_ctypedescr *ctptr, PyObject *arg, - char **output_data, Py_ssize_t datasize, - struct _cffi_freeme_s **freeme) -{ - char *p; - if (datasize < 0) - return -1; - - p = *output_data; - if (p == NULL) { - struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc( - offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize); - if (fp == NULL) - return -1; - fp->next = *freeme; - *freeme = fp; - p = *output_data = (char *)&fp->alignment; - } - memset((void *)p, 0, (size_t)datasize); - return _cffi_convert_array_from_object(p, ctptr, arg); -} - -_CFFI_UNUSED_FN static void -_cffi_free_array_arguments(struct _cffi_freeme_s *freeme) -{ - do { - void *p = (void *)freeme; - freeme = freeme->next; - PyObject_Free(p); - } while (freeme != NULL); -} - -/********** end CPython-specific section **********/ -#else -_CFFI_UNUSED_FN -static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *); -# define _cffi_call_python _cffi_call_python_org -#endif - - -#define _cffi_array_len(array) (sizeof(array) / sizeof((array)[0])) - -#define _cffi_prim_int(size, sign) \ - ((size) == 1 ? ((sign) ? _CFFI_PRIM_INT8 : _CFFI_PRIM_UINT8) : \ - (size) == 2 ? ((sign) ? _CFFI_PRIM_INT16 : _CFFI_PRIM_UINT16) : \ - (size) == 4 ? ((sign) ? _CFFI_PRIM_INT32 : _CFFI_PRIM_UINT32) : \ - (size) == 8 ? ((sign) ? _CFFI_PRIM_INT64 : _CFFI_PRIM_UINT64) : \ - _CFFI__UNKNOWN_PRIM) - -#define _cffi_prim_float(size) \ - ((size) == sizeof(float) ? _CFFI_PRIM_FLOAT : \ - (size) == sizeof(double) ? _CFFI_PRIM_DOUBLE : \ - (size) == sizeof(long double) ? _CFFI__UNKNOWN_LONG_DOUBLE : \ - _CFFI__UNKNOWN_FLOAT_PRIM) - -#define _cffi_check_int(got, got_nonpos, expected) \ - ((got_nonpos) == (expected <= 0) && \ - (got) == (unsigned long long)expected) - -#ifdef MS_WIN32 -# define _cffi_stdcall __stdcall -#else -# define _cffi_stdcall /* nothing */ -#endif - -#ifdef __cplusplus -} -#endif diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/_embedding.h b/IKEA_scraper/.venv/Lib/site-packages/cffi/_embedding.h deleted file mode 100644 index 7410231f..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/_embedding.h +++ /dev/null @@ -1,527 +0,0 @@ - -/***** Support code for embedding *****/ - -#ifdef __cplusplus -extern "C" { -#endif - - -#if defined(_WIN32) -# define CFFI_DLLEXPORT __declspec(dllexport) -#elif defined(__GNUC__) -# define CFFI_DLLEXPORT __attribute__((visibility("default"))) -#else -# define CFFI_DLLEXPORT /* nothing */ -#endif - - -/* There are two global variables of type _cffi_call_python_fnptr: - - * _cffi_call_python, which we declare just below, is the one called - by ``extern "Python"`` implementations. - - * _cffi_call_python_org, which on CPython is actually part of the - _cffi_exports[] array, is the function pointer copied from - _cffi_backend. - - After initialization is complete, both are equal. However, the - first one remains equal to &_cffi_start_and_call_python until the - very end of initialization, when we are (or should be) sure that - concurrent threads also see a completely initialized world, and - only then is it changed. -*/ -#undef _cffi_call_python -typedef void (*_cffi_call_python_fnptr)(struct _cffi_externpy_s *, char *); -static void _cffi_start_and_call_python(struct _cffi_externpy_s *, char *); -static _cffi_call_python_fnptr _cffi_call_python = &_cffi_start_and_call_python; - - -#ifndef _MSC_VER - /* --- Assuming a GCC not infinitely old --- */ -# define cffi_compare_and_swap(l,o,n) __sync_bool_compare_and_swap(l,o,n) -# define cffi_write_barrier() __sync_synchronize() -# if !defined(__amd64__) && !defined(__x86_64__) && \ - !defined(__i386__) && !defined(__i386) -# define cffi_read_barrier() __sync_synchronize() -# else -# define cffi_read_barrier() (void)0 -# endif -#else - /* --- Windows threads version --- */ -# include -# define cffi_compare_and_swap(l,o,n) \ - (InterlockedCompareExchangePointer(l,n,o) == (o)) -# define cffi_write_barrier() InterlockedCompareExchange(&_cffi_dummy,0,0) -# define cffi_read_barrier() (void)0 -static volatile LONG _cffi_dummy; -#endif - -#ifdef WITH_THREAD -# ifndef _MSC_VER -# include - static pthread_mutex_t _cffi_embed_startup_lock; -# else - static CRITICAL_SECTION _cffi_embed_startup_lock; -# endif - static char _cffi_embed_startup_lock_ready = 0; -#endif - -static void _cffi_acquire_reentrant_mutex(void) -{ - static void *volatile lock = NULL; - - while (!cffi_compare_and_swap(&lock, NULL, (void *)1)) { - /* should ideally do a spin loop instruction here, but - hard to do it portably and doesn't really matter I - think: pthread_mutex_init() should be very fast, and - this is only run at start-up anyway. */ - } - -#ifdef WITH_THREAD - if (!_cffi_embed_startup_lock_ready) { -# ifndef _MSC_VER - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_cffi_embed_startup_lock, &attr); -# else - InitializeCriticalSection(&_cffi_embed_startup_lock); -# endif - _cffi_embed_startup_lock_ready = 1; - } -#endif - - while (!cffi_compare_and_swap(&lock, (void *)1, NULL)) - ; - -#ifndef _MSC_VER - pthread_mutex_lock(&_cffi_embed_startup_lock); -#else - EnterCriticalSection(&_cffi_embed_startup_lock); -#endif -} - -static void _cffi_release_reentrant_mutex(void) -{ -#ifndef _MSC_VER - pthread_mutex_unlock(&_cffi_embed_startup_lock); -#else - LeaveCriticalSection(&_cffi_embed_startup_lock); -#endif -} - - -/********** CPython-specific section **********/ -#ifndef PYPY_VERSION - -#include "_cffi_errors.h" - - -#define _cffi_call_python_org _cffi_exports[_CFFI_CPIDX] - -PyMODINIT_FUNC _CFFI_PYTHON_STARTUP_FUNC(void); /* forward */ - -static void _cffi_py_initialize(void) -{ - /* XXX use initsigs=0, which "skips initialization registration of - signal handlers, which might be useful when Python is - embedded" according to the Python docs. But review and think - if it should be a user-controllable setting. - - XXX we should also give a way to write errors to a buffer - instead of to stderr. - - XXX if importing 'site' fails, CPython (any version) calls - exit(). Should we try to work around this behavior here? - */ - Py_InitializeEx(0); -} - -static int _cffi_initialize_python(void) -{ - /* This initializes Python, imports _cffi_backend, and then the - present .dll/.so is set up as a CPython C extension module. - */ - int result; - PyGILState_STATE state; - PyObject *pycode=NULL, *global_dict=NULL, *x; - PyObject *builtins; - - state = PyGILState_Ensure(); - - /* Call the initxxx() function from the present module. It will - create and initialize us as a CPython extension module, instead - of letting the startup Python code do it---it might reimport - the same .dll/.so and get maybe confused on some platforms. - It might also have troubles locating the .dll/.so again for all - I know. - */ - (void)_CFFI_PYTHON_STARTUP_FUNC(); - if (PyErr_Occurred()) - goto error; - - /* Now run the Python code provided to ffi.embedding_init_code(). - */ - pycode = Py_CompileString(_CFFI_PYTHON_STARTUP_CODE, - "", - Py_file_input); - if (pycode == NULL) - goto error; - global_dict = PyDict_New(); - if (global_dict == NULL) - goto error; - builtins = PyEval_GetBuiltins(); - if (builtins == NULL) - goto error; - if (PyDict_SetItemString(global_dict, "__builtins__", builtins) < 0) - goto error; - x = PyEval_EvalCode( -#if PY_MAJOR_VERSION < 3 - (PyCodeObject *) -#endif - pycode, global_dict, global_dict); - if (x == NULL) - goto error; - Py_DECREF(x); - - /* Done! Now if we've been called from - _cffi_start_and_call_python() in an ``extern "Python"``, we can - only hope that the Python code did correctly set up the - corresponding @ffi.def_extern() function. Otherwise, the - general logic of ``extern "Python"`` functions (inside the - _cffi_backend module) will find that the reference is still - missing and print an error. - */ - result = 0; - done: - Py_XDECREF(pycode); - Py_XDECREF(global_dict); - PyGILState_Release(state); - return result; - - error:; - { - /* Print as much information as potentially useful. - Debugging load-time failures with embedding is not fun - */ - PyObject *ecap; - PyObject *exception, *v, *tb, *f, *modules, *mod; - PyErr_Fetch(&exception, &v, &tb); - ecap = _cffi_start_error_capture(); - f = PySys_GetObject((char *)"stderr"); - if (f != NULL && f != Py_None) { - PyFile_WriteString( - "Failed to initialize the Python-CFFI embedding logic:\n\n", f); - } - - if (exception != NULL) { - PyErr_NormalizeException(&exception, &v, &tb); - PyErr_Display(exception, v, tb); - } - Py_XDECREF(exception); - Py_XDECREF(v); - Py_XDECREF(tb); - - if (f != NULL && f != Py_None) { - PyFile_WriteString("\nFrom: " _CFFI_MODULE_NAME - "\ncompiled with cffi version: 1.14.6" - "\n_cffi_backend module: ", f); - modules = PyImport_GetModuleDict(); - mod = PyDict_GetItemString(modules, "_cffi_backend"); - if (mod == NULL) { - PyFile_WriteString("not loaded", f); - } - else { - v = PyObject_GetAttrString(mod, "__file__"); - PyFile_WriteObject(v, f, 0); - Py_XDECREF(v); - } - PyFile_WriteString("\nsys.path: ", f); - PyFile_WriteObject(PySys_GetObject((char *)"path"), f, 0); - PyFile_WriteString("\n\n", f); - } - _cffi_stop_error_capture(ecap); - } - result = -1; - goto done; -} - -#if PY_VERSION_HEX < 0x03080000 -PyAPI_DATA(char *) _PyParser_TokenNames[]; /* from CPython */ -#endif - -static int _cffi_carefully_make_gil(void) -{ - /* This does the basic initialization of Python. It can be called - completely concurrently from unrelated threads. It assumes - that we don't hold the GIL before (if it exists), and we don't - hold it afterwards. - - (What it really does used to be completely different in Python 2 - and Python 3, with the Python 2 solution avoiding the spin-lock - around the Py_InitializeEx() call. However, after recent changes - to CPython 2.7 (issue #358) it no longer works. So we use the - Python 3 solution everywhere.) - - This initializes Python by calling Py_InitializeEx(). - Important: this must not be called concurrently at all. - So we use a global variable as a simple spin lock. This global - variable must be from 'libpythonX.Y.so', not from this - cffi-based extension module, because it must be shared from - different cffi-based extension modules. - - In Python < 3.8, we choose - _PyParser_TokenNames[0] as a completely arbitrary pointer value - that is never written to. The default is to point to the - string "ENDMARKER". We change it temporarily to point to the - next character in that string. (Yes, I know it's REALLY - obscure.) - - In Python >= 3.8, this string array is no longer writable, so - instead we pick PyCapsuleType.tp_version_tag. We can't change - Python < 3.8 because someone might use a mixture of cffi - embedded modules, some of which were compiled before this file - changed. - */ - -#ifdef WITH_THREAD -# if PY_VERSION_HEX < 0x03080000 - char *volatile *lock = (char *volatile *)_PyParser_TokenNames; - char *old_value, *locked_value; - - while (1) { /* spin loop */ - old_value = *lock; - locked_value = old_value + 1; - if (old_value[0] == 'E') { - assert(old_value[1] == 'N'); - if (cffi_compare_and_swap(lock, old_value, locked_value)) - break; - } - else { - assert(old_value[0] == 'N'); - /* should ideally do a spin loop instruction here, but - hard to do it portably and doesn't really matter I - think: PyEval_InitThreads() should be very fast, and - this is only run at start-up anyway. */ - } - } -# else - int volatile *lock = (int volatile *)&PyCapsule_Type.tp_version_tag; - int old_value, locked_value; - assert(!(PyCapsule_Type.tp_flags & Py_TPFLAGS_HAVE_VERSION_TAG)); - - while (1) { /* spin loop */ - old_value = *lock; - locked_value = -42; - if (old_value == 0) { - if (cffi_compare_and_swap(lock, old_value, locked_value)) - break; - } - else { - assert(old_value == locked_value); - /* should ideally do a spin loop instruction here, but - hard to do it portably and doesn't really matter I - think: PyEval_InitThreads() should be very fast, and - this is only run at start-up anyway. */ - } - } -# endif -#endif - - /* call Py_InitializeEx() */ - if (!Py_IsInitialized()) { - _cffi_py_initialize(); -#if PY_VERSION_HEX < 0x03070000 - PyEval_InitThreads(); -#endif - PyEval_SaveThread(); /* release the GIL */ - /* the returned tstate must be the one that has been stored into the - autoTLSkey by _PyGILState_Init() called from Py_Initialize(). */ - } - else { -#if PY_VERSION_HEX < 0x03070000 - /* PyEval_InitThreads() is always a no-op from CPython 3.7 */ - PyGILState_STATE state = PyGILState_Ensure(); - PyEval_InitThreads(); - PyGILState_Release(state); -#endif - } - -#ifdef WITH_THREAD - /* release the lock */ - while (!cffi_compare_and_swap(lock, locked_value, old_value)) - ; -#endif - - return 0; -} - -/********** end CPython-specific section **********/ - - -#else - - -/********** PyPy-specific section **********/ - -PyMODINIT_FUNC _CFFI_PYTHON_STARTUP_FUNC(const void *[]); /* forward */ - -static struct _cffi_pypy_init_s { - const char *name; - void *func; /* function pointer */ - const char *code; -} _cffi_pypy_init = { - _CFFI_MODULE_NAME, - _CFFI_PYTHON_STARTUP_FUNC, - _CFFI_PYTHON_STARTUP_CODE, -}; - -extern int pypy_carefully_make_gil(const char *); -extern int pypy_init_embedded_cffi_module(int, struct _cffi_pypy_init_s *); - -static int _cffi_carefully_make_gil(void) -{ - return pypy_carefully_make_gil(_CFFI_MODULE_NAME); -} - -static int _cffi_initialize_python(void) -{ - return pypy_init_embedded_cffi_module(0xB011, &_cffi_pypy_init); -} - -/********** end PyPy-specific section **********/ - - -#endif - - -#ifdef __GNUC__ -__attribute__((noinline)) -#endif -static _cffi_call_python_fnptr _cffi_start_python(void) -{ - /* Delicate logic to initialize Python. This function can be - called multiple times concurrently, e.g. when the process calls - its first ``extern "Python"`` functions in multiple threads at - once. It can also be called recursively, in which case we must - ignore it. We also have to consider what occurs if several - different cffi-based extensions reach this code in parallel - threads---it is a different copy of the code, then, and we - can't have any shared global variable unless it comes from - 'libpythonX.Y.so'. - - Idea: - - * _cffi_carefully_make_gil(): "carefully" call - PyEval_InitThreads() (possibly with Py_InitializeEx() first). - - * then we use a (local) custom lock to make sure that a call to this - cffi-based extension will wait if another call to the *same* - extension is running the initialization in another thread. - It is reentrant, so that a recursive call will not block, but - only one from a different thread. - - * then we grab the GIL and (Python 2) we call Py_InitializeEx(). - At this point, concurrent calls to Py_InitializeEx() are not - possible: we have the GIL. - - * do the rest of the specific initialization, which may - temporarily release the GIL but not the custom lock. - Only release the custom lock when we are done. - */ - static char called = 0; - - if (_cffi_carefully_make_gil() != 0) - return NULL; - - _cffi_acquire_reentrant_mutex(); - - /* Here the GIL exists, but we don't have it. We're only protected - from concurrency by the reentrant mutex. */ - - /* This file only initializes the embedded module once, the first - time this is called, even if there are subinterpreters. */ - if (!called) { - called = 1; /* invoke _cffi_initialize_python() only once, - but don't set '_cffi_call_python' right now, - otherwise concurrent threads won't call - this function at all (we need them to wait) */ - if (_cffi_initialize_python() == 0) { - /* now initialization is finished. Switch to the fast-path. */ - - /* We would like nobody to see the new value of - '_cffi_call_python' without also seeing the rest of the - data initialized. However, this is not possible. But - the new value of '_cffi_call_python' is the function - 'cffi_call_python()' from _cffi_backend. So: */ - cffi_write_barrier(); - /* ^^^ we put a write barrier here, and a corresponding - read barrier at the start of cffi_call_python(). This - ensures that after that read barrier, we see everything - done here before the write barrier. - */ - - assert(_cffi_call_python_org != NULL); - _cffi_call_python = (_cffi_call_python_fnptr)_cffi_call_python_org; - } - else { - /* initialization failed. Reset this to NULL, even if it was - already set to some other value. Future calls to - _cffi_start_python() are still forced to occur, and will - always return NULL from now on. */ - _cffi_call_python_org = NULL; - } - } - - _cffi_release_reentrant_mutex(); - - return (_cffi_call_python_fnptr)_cffi_call_python_org; -} - -static -void _cffi_start_and_call_python(struct _cffi_externpy_s *externpy, char *args) -{ - _cffi_call_python_fnptr fnptr; - int current_err = errno; -#ifdef _MSC_VER - int current_lasterr = GetLastError(); -#endif - fnptr = _cffi_start_python(); - if (fnptr == NULL) { - fprintf(stderr, "function %s() called, but initialization code " - "failed. Returning 0.\n", externpy->name); - memset(args, 0, externpy->size_of_result); - } -#ifdef _MSC_VER - SetLastError(current_lasterr); -#endif - errno = current_err; - - if (fnptr != NULL) - fnptr(externpy, args); -} - - -/* The cffi_start_python() function makes sure Python is initialized - and our cffi module is set up. It can be called manually from the - user C code. The same effect is obtained automatically from any - dll-exported ``extern "Python"`` function. This function returns - -1 if initialization failed, 0 if all is OK. */ -_CFFI_UNUSED_FN -static int cffi_start_python(void) -{ - if (_cffi_call_python == &_cffi_start_and_call_python) { - if (_cffi_start_python() == NULL) - return -1; - } - cffi_read_barrier(); - return 0; -} - -#undef cffi_compare_and_swap -#undef cffi_write_barrier -#undef cffi_read_barrier - -#ifdef __cplusplus -} -#endif diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/api.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/api.py deleted file mode 100644 index 999a8aef..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/api.py +++ /dev/null @@ -1,965 +0,0 @@ -import sys, types -from .lock import allocate_lock -from .error import CDefError -from . import model - -try: - callable -except NameError: - # Python 3.1 - from collections import Callable - callable = lambda x: isinstance(x, Callable) - -try: - basestring -except NameError: - # Python 3.x - basestring = str - -_unspecified = object() - - - -class FFI(object): - r''' - The main top-level class that you instantiate once, or once per module. - - Example usage: - - ffi = FFI() - ffi.cdef(""" - int printf(const char *, ...); - """) - - C = ffi.dlopen(None) # standard library - -or- - C = ffi.verify() # use a C compiler: verify the decl above is right - - C.printf("hello, %s!\n", ffi.new("char[]", "world")) - ''' - - def __init__(self, backend=None): - """Create an FFI instance. The 'backend' argument is used to - select a non-default backend, mostly for tests. - """ - if backend is None: - # You need PyPy (>= 2.0 beta), or a CPython (>= 2.6) with - # _cffi_backend.so compiled. - import _cffi_backend as backend - from . import __version__ - if backend.__version__ != __version__: - # bad version! Try to be as explicit as possible. - if hasattr(backend, '__file__'): - # CPython - raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. When we import the top-level '_cffi_backend' extension module, we get version %s, located in %r. The two versions should be equal; check your installation." % ( - __version__, __file__, - backend.__version__, backend.__file__)) - else: - # PyPy - raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. This interpreter comes with a built-in '_cffi_backend' module, which is version %s. The two versions should be equal; check your installation." % ( - __version__, __file__, backend.__version__)) - # (If you insist you can also try to pass the option - # 'backend=backend_ctypes.CTypesBackend()', but don't - # rely on it! It's probably not going to work well.) - - from . import cparser - self._backend = backend - self._lock = allocate_lock() - self._parser = cparser.Parser() - self._cached_btypes = {} - self._parsed_types = types.ModuleType('parsed_types').__dict__ - self._new_types = types.ModuleType('new_types').__dict__ - self._function_caches = [] - self._libraries = [] - self._cdefsources = [] - self._included_ffis = [] - self._windows_unicode = None - self._init_once_cache = {} - self._cdef_version = None - self._embedding = None - self._typecache = model.get_typecache(backend) - if hasattr(backend, 'set_ffi'): - backend.set_ffi(self) - for name in list(backend.__dict__): - if name.startswith('RTLD_'): - setattr(self, name, getattr(backend, name)) - # - with self._lock: - self.BVoidP = self._get_cached_btype(model.voidp_type) - self.BCharA = self._get_cached_btype(model.char_array_type) - if isinstance(backend, types.ModuleType): - # _cffi_backend: attach these constants to the class - if not hasattr(FFI, 'NULL'): - FFI.NULL = self.cast(self.BVoidP, 0) - FFI.CData, FFI.CType = backend._get_types() - else: - # ctypes backend: attach these constants to the instance - self.NULL = self.cast(self.BVoidP, 0) - self.CData, self.CType = backend._get_types() - self.buffer = backend.buffer - - def cdef(self, csource, override=False, packed=False, pack=None): - """Parse the given C source. This registers all declared functions, - types, and global variables. The functions and global variables can - then be accessed via either 'ffi.dlopen()' or 'ffi.verify()'. - The types can be used in 'ffi.new()' and other functions. - If 'packed' is specified as True, all structs declared inside this - cdef are packed, i.e. laid out without any field alignment at all. - Alternatively, 'pack' can be a small integer, and requests for - alignment greater than that are ignored (pack=1 is equivalent to - packed=True). - """ - self._cdef(csource, override=override, packed=packed, pack=pack) - - def embedding_api(self, csource, packed=False, pack=None): - self._cdef(csource, packed=packed, pack=pack, dllexport=True) - if self._embedding is None: - self._embedding = '' - - def _cdef(self, csource, override=False, **options): - if not isinstance(csource, str): # unicode, on Python 2 - if not isinstance(csource, basestring): - raise TypeError("cdef() argument must be a string") - csource = csource.encode('ascii') - with self._lock: - self._cdef_version = object() - self._parser.parse(csource, override=override, **options) - self._cdefsources.append(csource) - if override: - for cache in self._function_caches: - cache.clear() - finishlist = self._parser._recomplete - if finishlist: - self._parser._recomplete = [] - for tp in finishlist: - tp.finish_backend_type(self, finishlist) - - def dlopen(self, name, flags=0): - """Load and return a dynamic library identified by 'name'. - The standard C library can be loaded by passing None. - Note that functions and types declared by 'ffi.cdef()' are not - linked to a particular library, just like C headers; in the - library we only look for the actual (untyped) symbols. - """ - if not (isinstance(name, basestring) or - name is None or - isinstance(name, self.CData)): - raise TypeError("dlopen(name): name must be a file name, None, " - "or an already-opened 'void *' handle") - with self._lock: - lib, function_cache = _make_ffi_library(self, name, flags) - self._function_caches.append(function_cache) - self._libraries.append(lib) - return lib - - def dlclose(self, lib): - """Close a library obtained with ffi.dlopen(). After this call, - access to functions or variables from the library will fail - (possibly with a segmentation fault). - """ - type(lib).__cffi_close__(lib) - - def _typeof_locked(self, cdecl): - # call me with the lock! - key = cdecl - if key in self._parsed_types: - return self._parsed_types[key] - # - if not isinstance(cdecl, str): # unicode, on Python 2 - cdecl = cdecl.encode('ascii') - # - type = self._parser.parse_type(cdecl) - really_a_function_type = type.is_raw_function - if really_a_function_type: - type = type.as_function_pointer() - btype = self._get_cached_btype(type) - result = btype, really_a_function_type - self._parsed_types[key] = result - return result - - def _typeof(self, cdecl, consider_function_as_funcptr=False): - # string -> ctype object - try: - result = self._parsed_types[cdecl] - except KeyError: - with self._lock: - result = self._typeof_locked(cdecl) - # - btype, really_a_function_type = result - if really_a_function_type and not consider_function_as_funcptr: - raise CDefError("the type %r is a function type, not a " - "pointer-to-function type" % (cdecl,)) - return btype - - def typeof(self, cdecl): - """Parse the C type given as a string and return the - corresponding object. - It can also be used on 'cdata' instance to get its C type. - """ - if isinstance(cdecl, basestring): - return self._typeof(cdecl) - if isinstance(cdecl, self.CData): - return self._backend.typeof(cdecl) - if isinstance(cdecl, types.BuiltinFunctionType): - res = _builtin_function_type(cdecl) - if res is not None: - return res - if (isinstance(cdecl, types.FunctionType) - and hasattr(cdecl, '_cffi_base_type')): - with self._lock: - return self._get_cached_btype(cdecl._cffi_base_type) - raise TypeError(type(cdecl)) - - def sizeof(self, cdecl): - """Return the size in bytes of the argument. It can be a - string naming a C type, or a 'cdata' instance. - """ - if isinstance(cdecl, basestring): - BType = self._typeof(cdecl) - return self._backend.sizeof(BType) - else: - return self._backend.sizeof(cdecl) - - def alignof(self, cdecl): - """Return the natural alignment size in bytes of the C type - given as a string. - """ - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return self._backend.alignof(cdecl) - - def offsetof(self, cdecl, *fields_or_indexes): - """Return the offset of the named field inside the given - structure or array, which must be given as a C type name. - You can give several field names in case of nested structures. - You can also give numeric values which correspond to array - items, in case of an array type. - """ - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return self._typeoffsetof(cdecl, *fields_or_indexes)[1] - - def new(self, cdecl, init=None): - """Allocate an instance according to the specified C type and - return a pointer to it. The specified C type must be either a - pointer or an array: ``new('X *')`` allocates an X and returns - a pointer to it, whereas ``new('X[n]')`` allocates an array of - n X'es and returns an array referencing it (which works - mostly like a pointer, like in C). You can also use - ``new('X[]', n)`` to allocate an array of a non-constant - length n. - - The memory is initialized following the rules of declaring a - global variable in C: by default it is zero-initialized, but - an explicit initializer can be given which can be used to - fill all or part of the memory. - - When the returned object goes out of scope, the memory - is freed. In other words the returned object has - ownership of the value of type 'cdecl' that it points to. This - means that the raw data can be used as long as this object is - kept alive, but must not be used for a longer time. Be careful - about that when copying the pointer to the memory somewhere - else, e.g. into another structure. - """ - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return self._backend.newp(cdecl, init) - - def new_allocator(self, alloc=None, free=None, - should_clear_after_alloc=True): - """Return a new allocator, i.e. a function that behaves like ffi.new() - but uses the provided low-level 'alloc' and 'free' functions. - - 'alloc' is called with the size as argument. If it returns NULL, a - MemoryError is raised. 'free' is called with the result of 'alloc' - as argument. Both can be either Python function or directly C - functions. If 'free' is None, then no free function is called. - If both 'alloc' and 'free' are None, the default is used. - - If 'should_clear_after_alloc' is set to False, then the memory - returned by 'alloc' is assumed to be already cleared (or you are - fine with garbage); otherwise CFFI will clear it. - """ - compiled_ffi = self._backend.FFI() - allocator = compiled_ffi.new_allocator(alloc, free, - should_clear_after_alloc) - def allocate(cdecl, init=None): - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return allocator(cdecl, init) - return allocate - - def cast(self, cdecl, source): - """Similar to a C cast: returns an instance of the named C - type initialized with the given 'source'. The source is - casted between integers or pointers of any type. - """ - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return self._backend.cast(cdecl, source) - - def string(self, cdata, maxlen=-1): - """Return a Python string (or unicode string) from the 'cdata'. - If 'cdata' is a pointer or array of characters or bytes, returns - the null-terminated string. The returned string extends until - the first null character, or at most 'maxlen' characters. If - 'cdata' is an array then 'maxlen' defaults to its length. - - If 'cdata' is a pointer or array of wchar_t, returns a unicode - string following the same rules. - - If 'cdata' is a single character or byte or a wchar_t, returns - it as a string or unicode string. - - If 'cdata' is an enum, returns the value of the enumerator as a - string, or 'NUMBER' if the value is out of range. - """ - return self._backend.string(cdata, maxlen) - - def unpack(self, cdata, length): - """Unpack an array of C data of the given length, - returning a Python string/unicode/list. - - If 'cdata' is a pointer to 'char', returns a byte string. - It does not stop at the first null. This is equivalent to: - ffi.buffer(cdata, length)[:] - - If 'cdata' is a pointer to 'wchar_t', returns a unicode string. - 'length' is measured in wchar_t's; it is not the size in bytes. - - If 'cdata' is a pointer to anything else, returns a list of - 'length' items. This is a faster equivalent to: - [cdata[i] for i in range(length)] - """ - return self._backend.unpack(cdata, length) - - #def buffer(self, cdata, size=-1): - # """Return a read-write buffer object that references the raw C data - # pointed to by the given 'cdata'. The 'cdata' must be a pointer or - # an array. Can be passed to functions expecting a buffer, or directly - # manipulated with: - # - # buf[:] get a copy of it in a regular string, or - # buf[idx] as a single character - # buf[:] = ... - # buf[idx] = ... change the content - # """ - # note that 'buffer' is a type, set on this instance by __init__ - - def from_buffer(self, cdecl, python_buffer=_unspecified, - require_writable=False): - """Return a cdata of the given type pointing to the data of the - given Python object, which must support the buffer interface. - Note that this is not meant to be used on the built-in types - str or unicode (you can build 'char[]' arrays explicitly) - but only on objects containing large quantities of raw data - in some other format, like 'array.array' or numpy arrays. - - The first argument is optional and default to 'char[]'. - """ - if python_buffer is _unspecified: - cdecl, python_buffer = self.BCharA, cdecl - elif isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - return self._backend.from_buffer(cdecl, python_buffer, - require_writable) - - def memmove(self, dest, src, n): - """ffi.memmove(dest, src, n) copies n bytes of memory from src to dest. - - Like the C function memmove(), the memory areas may overlap; - apart from that it behaves like the C function memcpy(). - - 'src' can be any cdata ptr or array, or any Python buffer object. - 'dest' can be any cdata ptr or array, or a writable Python buffer - object. The size to copy, 'n', is always measured in bytes. - - Unlike other methods, this one supports all Python buffer including - byte strings and bytearrays---but it still does not support - non-contiguous buffers. - """ - return self._backend.memmove(dest, src, n) - - def callback(self, cdecl, python_callable=None, error=None, onerror=None): - """Return a callback object or a decorator making such a - callback object. 'cdecl' must name a C function pointer type. - The callback invokes the specified 'python_callable' (which may - be provided either directly or via a decorator). Important: the - callback object must be manually kept alive for as long as the - callback may be invoked from the C level. - """ - def callback_decorator_wrap(python_callable): - if not callable(python_callable): - raise TypeError("the 'python_callable' argument " - "is not callable") - return self._backend.callback(cdecl, python_callable, - error, onerror) - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl, consider_function_as_funcptr=True) - if python_callable is None: - return callback_decorator_wrap # decorator mode - else: - return callback_decorator_wrap(python_callable) # direct mode - - def getctype(self, cdecl, replace_with=''): - """Return a string giving the C type 'cdecl', which may be itself - a string or a object. If 'replace_with' is given, it gives - extra text to append (or insert for more complicated C types), like - a variable name, or '*' to get actually the C type 'pointer-to-cdecl'. - """ - if isinstance(cdecl, basestring): - cdecl = self._typeof(cdecl) - replace_with = replace_with.strip() - if (replace_with.startswith('*') - and '&[' in self._backend.getcname(cdecl, '&')): - replace_with = '(%s)' % replace_with - elif replace_with and not replace_with[0] in '[(': - replace_with = ' ' + replace_with - return self._backend.getcname(cdecl, replace_with) - - def gc(self, cdata, destructor, size=0): - """Return a new cdata object that points to the same - data. Later, when this new cdata object is garbage-collected, - 'destructor(old_cdata_object)' will be called. - - The optional 'size' gives an estimate of the size, used to - trigger the garbage collection more eagerly. So far only used - on PyPy. It tells the GC that the returned object keeps alive - roughly 'size' bytes of external memory. - """ - return self._backend.gcp(cdata, destructor, size) - - def _get_cached_btype(self, type): - assert self._lock.acquire(False) is False - # call me with the lock! - try: - BType = self._cached_btypes[type] - except KeyError: - finishlist = [] - BType = type.get_cached_btype(self, finishlist) - for type in finishlist: - type.finish_backend_type(self, finishlist) - return BType - - def verify(self, source='', tmpdir=None, **kwargs): - """Verify that the current ffi signatures compile on this - machine, and return a dynamic library object. The dynamic - library can be used to call functions and access global - variables declared in this 'ffi'. The library is compiled - by the C compiler: it gives you C-level API compatibility - (including calling macros). This is unlike 'ffi.dlopen()', - which requires binary compatibility in the signatures. - """ - from .verifier import Verifier, _caller_dir_pycache - # - # If set_unicode(True) was called, insert the UNICODE and - # _UNICODE macro declarations - if self._windows_unicode: - self._apply_windows_unicode(kwargs) - # - # Set the tmpdir here, and not in Verifier.__init__: it picks - # up the caller's directory, which we want to be the caller of - # ffi.verify(), as opposed to the caller of Veritier(). - tmpdir = tmpdir or _caller_dir_pycache() - # - # Make a Verifier() and use it to load the library. - self.verifier = Verifier(self, source, tmpdir, **kwargs) - lib = self.verifier.load_library() - # - # Save the loaded library for keep-alive purposes, even - # if the caller doesn't keep it alive itself (it should). - self._libraries.append(lib) - return lib - - def _get_errno(self): - return self._backend.get_errno() - def _set_errno(self, errno): - self._backend.set_errno(errno) - errno = property(_get_errno, _set_errno, None, - "the value of 'errno' from/to the C calls") - - def getwinerror(self, code=-1): - return self._backend.getwinerror(code) - - def _pointer_to(self, ctype): - with self._lock: - return model.pointer_cache(self, ctype) - - def addressof(self, cdata, *fields_or_indexes): - """Return the address of a . - If 'fields_or_indexes' are given, returns the address of that - field or array item in the structure or array, recursively in - case of nested structures. - """ - try: - ctype = self._backend.typeof(cdata) - except TypeError: - if '__addressof__' in type(cdata).__dict__: - return type(cdata).__addressof__(cdata, *fields_or_indexes) - raise - if fields_or_indexes: - ctype, offset = self._typeoffsetof(ctype, *fields_or_indexes) - else: - if ctype.kind == "pointer": - raise TypeError("addressof(pointer)") - offset = 0 - ctypeptr = self._pointer_to(ctype) - return self._backend.rawaddressof(ctypeptr, cdata, offset) - - def _typeoffsetof(self, ctype, field_or_index, *fields_or_indexes): - ctype, offset = self._backend.typeoffsetof(ctype, field_or_index) - for field1 in fields_or_indexes: - ctype, offset1 = self._backend.typeoffsetof(ctype, field1, 1) - offset += offset1 - return ctype, offset - - def include(self, ffi_to_include): - """Includes the typedefs, structs, unions and enums defined - in another FFI instance. Usage is similar to a #include in C, - where a part of the program might include types defined in - another part for its own usage. Note that the include() - method has no effect on functions, constants and global - variables, which must anyway be accessed directly from the - lib object returned by the original FFI instance. - """ - if not isinstance(ffi_to_include, FFI): - raise TypeError("ffi.include() expects an argument that is also of" - " type cffi.FFI, not %r" % ( - type(ffi_to_include).__name__,)) - if ffi_to_include is self: - raise ValueError("self.include(self)") - with ffi_to_include._lock: - with self._lock: - self._parser.include(ffi_to_include._parser) - self._cdefsources.append('[') - self._cdefsources.extend(ffi_to_include._cdefsources) - self._cdefsources.append(']') - self._included_ffis.append(ffi_to_include) - - def new_handle(self, x): - return self._backend.newp_handle(self.BVoidP, x) - - def from_handle(self, x): - return self._backend.from_handle(x) - - def release(self, x): - self._backend.release(x) - - def set_unicode(self, enabled_flag): - """Windows: if 'enabled_flag' is True, enable the UNICODE and - _UNICODE defines in C, and declare the types like TCHAR and LPTCSTR - to be (pointers to) wchar_t. If 'enabled_flag' is False, - declare these types to be (pointers to) plain 8-bit characters. - This is mostly for backward compatibility; you usually want True. - """ - if self._windows_unicode is not None: - raise ValueError("set_unicode() can only be called once") - enabled_flag = bool(enabled_flag) - if enabled_flag: - self.cdef("typedef wchar_t TBYTE;" - "typedef wchar_t TCHAR;" - "typedef const wchar_t *LPCTSTR;" - "typedef const wchar_t *PCTSTR;" - "typedef wchar_t *LPTSTR;" - "typedef wchar_t *PTSTR;" - "typedef TBYTE *PTBYTE;" - "typedef TCHAR *PTCHAR;") - else: - self.cdef("typedef char TBYTE;" - "typedef char TCHAR;" - "typedef const char *LPCTSTR;" - "typedef const char *PCTSTR;" - "typedef char *LPTSTR;" - "typedef char *PTSTR;" - "typedef TBYTE *PTBYTE;" - "typedef TCHAR *PTCHAR;") - self._windows_unicode = enabled_flag - - def _apply_windows_unicode(self, kwds): - defmacros = kwds.get('define_macros', ()) - if not isinstance(defmacros, (list, tuple)): - raise TypeError("'define_macros' must be a list or tuple") - defmacros = list(defmacros) + [('UNICODE', '1'), - ('_UNICODE', '1')] - kwds['define_macros'] = defmacros - - def _apply_embedding_fix(self, kwds): - # must include an argument like "-lpython2.7" for the compiler - def ensure(key, value): - lst = kwds.setdefault(key, []) - if value not in lst: - lst.append(value) - # - if '__pypy__' in sys.builtin_module_names: - import os - if sys.platform == "win32": - # we need 'libpypy-c.lib'. Current distributions of - # pypy (>= 4.1) contain it as 'libs/python27.lib'. - pythonlib = "python{0[0]}{0[1]}".format(sys.version_info) - if hasattr(sys, 'prefix'): - ensure('library_dirs', os.path.join(sys.prefix, 'libs')) - else: - # we need 'libpypy-c.{so,dylib}', which should be by - # default located in 'sys.prefix/bin' for installed - # systems. - if sys.version_info < (3,): - pythonlib = "pypy-c" - else: - pythonlib = "pypy3-c" - if hasattr(sys, 'prefix'): - ensure('library_dirs', os.path.join(sys.prefix, 'bin')) - # On uninstalled pypy's, the libpypy-c is typically found in - # .../pypy/goal/. - if hasattr(sys, 'prefix'): - ensure('library_dirs', os.path.join(sys.prefix, 'pypy', 'goal')) - else: - if sys.platform == "win32": - template = "python%d%d" - if hasattr(sys, 'gettotalrefcount'): - template += '_d' - else: - try: - import sysconfig - except ImportError: # 2.6 - from distutils import sysconfig - template = "python%d.%d" - if sysconfig.get_config_var('DEBUG_EXT'): - template += sysconfig.get_config_var('DEBUG_EXT') - pythonlib = (template % - (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) - if hasattr(sys, 'abiflags'): - pythonlib += sys.abiflags - ensure('libraries', pythonlib) - if sys.platform == "win32": - ensure('extra_link_args', '/MANIFEST') - - def set_source(self, module_name, source, source_extension='.c', **kwds): - import os - if hasattr(self, '_assigned_source'): - raise ValueError("set_source() cannot be called several times " - "per ffi object") - if not isinstance(module_name, basestring): - raise TypeError("'module_name' must be a string") - if os.sep in module_name or (os.altsep and os.altsep in module_name): - raise ValueError("'module_name' must not contain '/': use a dotted " - "name to make a 'package.module' location") - self._assigned_source = (str(module_name), source, - source_extension, kwds) - - def set_source_pkgconfig(self, module_name, pkgconfig_libs, source, - source_extension='.c', **kwds): - from . import pkgconfig - if not isinstance(pkgconfig_libs, list): - raise TypeError("the pkgconfig_libs argument must be a list " - "of package names") - kwds2 = pkgconfig.flags_from_pkgconfig(pkgconfig_libs) - pkgconfig.merge_flags(kwds, kwds2) - self.set_source(module_name, source, source_extension, **kwds) - - def distutils_extension(self, tmpdir='build', verbose=True): - from distutils.dir_util import mkpath - from .recompiler import recompile - # - if not hasattr(self, '_assigned_source'): - if hasattr(self, 'verifier'): # fallback, 'tmpdir' ignored - return self.verifier.get_extension() - raise ValueError("set_source() must be called before" - " distutils_extension()") - module_name, source, source_extension, kwds = self._assigned_source - if source is None: - raise TypeError("distutils_extension() is only for C extension " - "modules, not for dlopen()-style pure Python " - "modules") - mkpath(tmpdir) - ext, updated = recompile(self, module_name, - source, tmpdir=tmpdir, extradir=tmpdir, - source_extension=source_extension, - call_c_compiler=False, **kwds) - if verbose: - if updated: - sys.stderr.write("regenerated: %r\n" % (ext.sources[0],)) - else: - sys.stderr.write("not modified: %r\n" % (ext.sources[0],)) - return ext - - def emit_c_code(self, filename): - from .recompiler import recompile - # - if not hasattr(self, '_assigned_source'): - raise ValueError("set_source() must be called before emit_c_code()") - module_name, source, source_extension, kwds = self._assigned_source - if source is None: - raise TypeError("emit_c_code() is only for C extension modules, " - "not for dlopen()-style pure Python modules") - recompile(self, module_name, source, - c_file=filename, call_c_compiler=False, **kwds) - - def emit_python_code(self, filename): - from .recompiler import recompile - # - if not hasattr(self, '_assigned_source'): - raise ValueError("set_source() must be called before emit_c_code()") - module_name, source, source_extension, kwds = self._assigned_source - if source is not None: - raise TypeError("emit_python_code() is only for dlopen()-style " - "pure Python modules, not for C extension modules") - recompile(self, module_name, source, - c_file=filename, call_c_compiler=False, **kwds) - - def compile(self, tmpdir='.', verbose=0, target=None, debug=None): - """The 'target' argument gives the final file name of the - compiled DLL. Use '*' to force distutils' choice, suitable for - regular CPython C API modules. Use a file name ending in '.*' - to ask for the system's default extension for dynamic libraries - (.so/.dll/.dylib). - - The default is '*' when building a non-embedded C API extension, - and (module_name + '.*') when building an embedded library. - """ - from .recompiler import recompile - # - if not hasattr(self, '_assigned_source'): - raise ValueError("set_source() must be called before compile()") - module_name, source, source_extension, kwds = self._assigned_source - return recompile(self, module_name, source, tmpdir=tmpdir, - target=target, source_extension=source_extension, - compiler_verbose=verbose, debug=debug, **kwds) - - def init_once(self, func, tag): - # Read _init_once_cache[tag], which is either (False, lock) if - # we're calling the function now in some thread, or (True, result). - # Don't call setdefault() in most cases, to avoid allocating and - # immediately freeing a lock; but still use setdefaut() to avoid - # races. - try: - x = self._init_once_cache[tag] - except KeyError: - x = self._init_once_cache.setdefault(tag, (False, allocate_lock())) - # Common case: we got (True, result), so we return the result. - if x[0]: - return x[1] - # Else, it's a lock. Acquire it to serialize the following tests. - with x[1]: - # Read again from _init_once_cache the current status. - x = self._init_once_cache[tag] - if x[0]: - return x[1] - # Call the function and store the result back. - result = func() - self._init_once_cache[tag] = (True, result) - return result - - def embedding_init_code(self, pysource): - if self._embedding: - raise ValueError("embedding_init_code() can only be called once") - # fix 'pysource' before it gets dumped into the C file: - # - remove empty lines at the beginning, so it starts at "line 1" - # - dedent, if all non-empty lines are indented - # - check for SyntaxErrors - import re - match = re.match(r'\s*\n', pysource) - if match: - pysource = pysource[match.end():] - lines = pysource.splitlines() or [''] - prefix = re.match(r'\s*', lines[0]).group() - for i in range(1, len(lines)): - line = lines[i] - if line.rstrip(): - while not line.startswith(prefix): - prefix = prefix[:-1] - i = len(prefix) - lines = [line[i:]+'\n' for line in lines] - pysource = ''.join(lines) - # - compile(pysource, "cffi_init", "exec") - # - self._embedding = pysource - - def def_extern(self, *args, **kwds): - raise ValueError("ffi.def_extern() is only available on API-mode FFI " - "objects") - - def list_types(self): - """Returns the user type names known to this FFI instance. - This returns a tuple containing three lists of names: - (typedef_names, names_of_structs, names_of_unions) - """ - typedefs = [] - structs = [] - unions = [] - for key in self._parser._declarations: - if key.startswith('typedef '): - typedefs.append(key[8:]) - elif key.startswith('struct '): - structs.append(key[7:]) - elif key.startswith('union '): - unions.append(key[6:]) - typedefs.sort() - structs.sort() - unions.sort() - return (typedefs, structs, unions) - - -def _load_backend_lib(backend, name, flags): - import os - if not isinstance(name, basestring): - if sys.platform != "win32" or name is not None: - return backend.load_library(name, flags) - name = "c" # Windows: load_library(None) fails, but this works - # on Python 2 (backward compatibility hack only) - first_error = None - if '.' in name or '/' in name or os.sep in name: - try: - return backend.load_library(name, flags) - except OSError as e: - first_error = e - import ctypes.util - path = ctypes.util.find_library(name) - if path is None: - if name == "c" and sys.platform == "win32" and sys.version_info >= (3,): - raise OSError("dlopen(None) cannot work on Windows for Python 3 " - "(see http://bugs.python.org/issue23606)") - msg = ("ctypes.util.find_library() did not manage " - "to locate a library called %r" % (name,)) - if first_error is not None: - msg = "%s. Additionally, %s" % (first_error, msg) - raise OSError(msg) - return backend.load_library(path, flags) - -def _make_ffi_library(ffi, libname, flags): - backend = ffi._backend - backendlib = _load_backend_lib(backend, libname, flags) - # - def accessor_function(name): - key = 'function ' + name - tp, _ = ffi._parser._declarations[key] - BType = ffi._get_cached_btype(tp) - value = backendlib.load_function(BType, name) - library.__dict__[name] = value - # - def accessor_variable(name): - key = 'variable ' + name - tp, _ = ffi._parser._declarations[key] - BType = ffi._get_cached_btype(tp) - read_variable = backendlib.read_variable - write_variable = backendlib.write_variable - setattr(FFILibrary, name, property( - lambda self: read_variable(BType, name), - lambda self, value: write_variable(BType, name, value))) - # - def addressof_var(name): - try: - return addr_variables[name] - except KeyError: - with ffi._lock: - if name not in addr_variables: - key = 'variable ' + name - tp, _ = ffi._parser._declarations[key] - BType = ffi._get_cached_btype(tp) - if BType.kind != 'array': - BType = model.pointer_cache(ffi, BType) - p = backendlib.load_function(BType, name) - addr_variables[name] = p - return addr_variables[name] - # - def accessor_constant(name): - raise NotImplementedError("non-integer constant '%s' cannot be " - "accessed from a dlopen() library" % (name,)) - # - def accessor_int_constant(name): - library.__dict__[name] = ffi._parser._int_constants[name] - # - accessors = {} - accessors_version = [False] - addr_variables = {} - # - def update_accessors(): - if accessors_version[0] is ffi._cdef_version: - return - # - for key, (tp, _) in ffi._parser._declarations.items(): - if not isinstance(tp, model.EnumType): - tag, name = key.split(' ', 1) - if tag == 'function': - accessors[name] = accessor_function - elif tag == 'variable': - accessors[name] = accessor_variable - elif tag == 'constant': - accessors[name] = accessor_constant - else: - for i, enumname in enumerate(tp.enumerators): - def accessor_enum(name, tp=tp, i=i): - tp.check_not_partial() - library.__dict__[name] = tp.enumvalues[i] - accessors[enumname] = accessor_enum - for name in ffi._parser._int_constants: - accessors.setdefault(name, accessor_int_constant) - accessors_version[0] = ffi._cdef_version - # - def make_accessor(name): - with ffi._lock: - if name in library.__dict__ or name in FFILibrary.__dict__: - return # added by another thread while waiting for the lock - if name not in accessors: - update_accessors() - if name not in accessors: - raise AttributeError(name) - accessors[name](name) - # - class FFILibrary(object): - def __getattr__(self, name): - make_accessor(name) - return getattr(self, name) - def __setattr__(self, name, value): - try: - property = getattr(self.__class__, name) - except AttributeError: - make_accessor(name) - setattr(self, name, value) - else: - property.__set__(self, value) - def __dir__(self): - with ffi._lock: - update_accessors() - return accessors.keys() - def __addressof__(self, name): - if name in library.__dict__: - return library.__dict__[name] - if name in FFILibrary.__dict__: - return addressof_var(name) - make_accessor(name) - if name in library.__dict__: - return library.__dict__[name] - if name in FFILibrary.__dict__: - return addressof_var(name) - raise AttributeError("cffi library has no function or " - "global variable named '%s'" % (name,)) - def __cffi_close__(self): - backendlib.close_lib() - self.__dict__.clear() - # - if isinstance(libname, basestring): - try: - if not isinstance(libname, str): # unicode, on Python 2 - libname = libname.encode('utf-8') - FFILibrary.__name__ = 'FFILibrary_%s' % libname - except UnicodeError: - pass - library = FFILibrary() - return library, library.__dict__ - -def _builtin_function_type(func): - # a hack to make at least ffi.typeof(builtin_function) work, - # if the builtin function was obtained by 'vengine_cpy'. - import sys - try: - module = sys.modules[func.__module__] - ffi = module._cffi_original_ffi - types_of_builtin_funcs = module._cffi_types_of_builtin_funcs - tp = types_of_builtin_funcs[func] - except (KeyError, AttributeError, TypeError): - return None - else: - with ffi._lock: - return ffi._get_cached_btype(tp) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/backend_ctypes.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/backend_ctypes.py deleted file mode 100644 index e7956a79..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/backend_ctypes.py +++ /dev/null @@ -1,1121 +0,0 @@ -import ctypes, ctypes.util, operator, sys -from . import model - -if sys.version_info < (3,): - bytechr = chr -else: - unicode = str - long = int - xrange = range - bytechr = lambda num: bytes([num]) - -class CTypesType(type): - pass - -class CTypesData(object): - __metaclass__ = CTypesType - __slots__ = ['__weakref__'] - __name__ = '' - - def __init__(self, *args): - raise TypeError("cannot instantiate %r" % (self.__class__,)) - - @classmethod - def _newp(cls, init): - raise TypeError("expected a pointer or array ctype, got '%s'" - % (cls._get_c_name(),)) - - @staticmethod - def _to_ctypes(value): - raise TypeError - - @classmethod - def _arg_to_ctypes(cls, *value): - try: - ctype = cls._ctype - except AttributeError: - raise TypeError("cannot create an instance of %r" % (cls,)) - if value: - res = cls._to_ctypes(*value) - if not isinstance(res, ctype): - res = cls._ctype(res) - else: - res = cls._ctype() - return res - - @classmethod - def _create_ctype_obj(cls, init): - if init is None: - return cls._arg_to_ctypes() - else: - return cls._arg_to_ctypes(init) - - @staticmethod - def _from_ctypes(ctypes_value): - raise TypeError - - @classmethod - def _get_c_name(cls, replace_with=''): - return cls._reftypename.replace(' &', replace_with) - - @classmethod - def _fix_class(cls): - cls.__name__ = 'CData<%s>' % (cls._get_c_name(),) - cls.__qualname__ = 'CData<%s>' % (cls._get_c_name(),) - cls.__module__ = 'ffi' - - def _get_own_repr(self): - raise NotImplementedError - - def _addr_repr(self, address): - if address == 0: - return 'NULL' - else: - if address < 0: - address += 1 << (8*ctypes.sizeof(ctypes.c_void_p)) - return '0x%x' % address - - def __repr__(self, c_name=None): - own = self._get_own_repr() - return '' % (c_name or self._get_c_name(), own) - - def _convert_to_address(self, BClass): - if BClass is None: - raise TypeError("cannot convert %r to an address" % ( - self._get_c_name(),)) - else: - raise TypeError("cannot convert %r to %r" % ( - self._get_c_name(), BClass._get_c_name())) - - @classmethod - def _get_size(cls): - return ctypes.sizeof(cls._ctype) - - def _get_size_of_instance(self): - return ctypes.sizeof(self._ctype) - - @classmethod - def _cast_from(cls, source): - raise TypeError("cannot cast to %r" % (cls._get_c_name(),)) - - def _cast_to_integer(self): - return self._convert_to_address(None) - - @classmethod - def _alignment(cls): - return ctypes.alignment(cls._ctype) - - def __iter__(self): - raise TypeError("cdata %r does not support iteration" % ( - self._get_c_name()),) - - def _make_cmp(name): - cmpfunc = getattr(operator, name) - def cmp(self, other): - v_is_ptr = not isinstance(self, CTypesGenericPrimitive) - w_is_ptr = (isinstance(other, CTypesData) and - not isinstance(other, CTypesGenericPrimitive)) - if v_is_ptr and w_is_ptr: - return cmpfunc(self._convert_to_address(None), - other._convert_to_address(None)) - elif v_is_ptr or w_is_ptr: - return NotImplemented - else: - if isinstance(self, CTypesGenericPrimitive): - self = self._value - if isinstance(other, CTypesGenericPrimitive): - other = other._value - return cmpfunc(self, other) - cmp.func_name = name - return cmp - - __eq__ = _make_cmp('__eq__') - __ne__ = _make_cmp('__ne__') - __lt__ = _make_cmp('__lt__') - __le__ = _make_cmp('__le__') - __gt__ = _make_cmp('__gt__') - __ge__ = _make_cmp('__ge__') - - def __hash__(self): - return hash(self._convert_to_address(None)) - - def _to_string(self, maxlen): - raise TypeError("string(): %r" % (self,)) - - -class CTypesGenericPrimitive(CTypesData): - __slots__ = [] - - def __hash__(self): - return hash(self._value) - - def _get_own_repr(self): - return repr(self._from_ctypes(self._value)) - - -class CTypesGenericArray(CTypesData): - __slots__ = [] - - @classmethod - def _newp(cls, init): - return cls(init) - - def __iter__(self): - for i in xrange(len(self)): - yield self[i] - - def _get_own_repr(self): - return self._addr_repr(ctypes.addressof(self._blob)) - - -class CTypesGenericPtr(CTypesData): - __slots__ = ['_address', '_as_ctype_ptr'] - _automatic_casts = False - kind = "pointer" - - @classmethod - def _newp(cls, init): - return cls(init) - - @classmethod - def _cast_from(cls, source): - if source is None: - address = 0 - elif isinstance(source, CTypesData): - address = source._cast_to_integer() - elif isinstance(source, (int, long)): - address = source - else: - raise TypeError("bad type for cast to %r: %r" % - (cls, type(source).__name__)) - return cls._new_pointer_at(address) - - @classmethod - def _new_pointer_at(cls, address): - self = cls.__new__(cls) - self._address = address - self._as_ctype_ptr = ctypes.cast(address, cls._ctype) - return self - - def _get_own_repr(self): - try: - return self._addr_repr(self._address) - except AttributeError: - return '???' - - def _cast_to_integer(self): - return self._address - - def __nonzero__(self): - return bool(self._address) - __bool__ = __nonzero__ - - @classmethod - def _to_ctypes(cls, value): - if not isinstance(value, CTypesData): - raise TypeError("unexpected %s object" % type(value).__name__) - address = value._convert_to_address(cls) - return ctypes.cast(address, cls._ctype) - - @classmethod - def _from_ctypes(cls, ctypes_ptr): - address = ctypes.cast(ctypes_ptr, ctypes.c_void_p).value or 0 - return cls._new_pointer_at(address) - - @classmethod - def _initialize(cls, ctypes_ptr, value): - if value: - ctypes_ptr.contents = cls._to_ctypes(value).contents - - def _convert_to_address(self, BClass): - if (BClass in (self.__class__, None) or BClass._automatic_casts - or self._automatic_casts): - return self._address - else: - return CTypesData._convert_to_address(self, BClass) - - -class CTypesBaseStructOrUnion(CTypesData): - __slots__ = ['_blob'] - - @classmethod - def _create_ctype_obj(cls, init): - # may be overridden - raise TypeError("cannot instantiate opaque type %s" % (cls,)) - - def _get_own_repr(self): - return self._addr_repr(ctypes.addressof(self._blob)) - - @classmethod - def _offsetof(cls, fieldname): - return getattr(cls._ctype, fieldname).offset - - def _convert_to_address(self, BClass): - if getattr(BClass, '_BItem', None) is self.__class__: - return ctypes.addressof(self._blob) - else: - return CTypesData._convert_to_address(self, BClass) - - @classmethod - def _from_ctypes(cls, ctypes_struct_or_union): - self = cls.__new__(cls) - self._blob = ctypes_struct_or_union - return self - - @classmethod - def _to_ctypes(cls, value): - return value._blob - - def __repr__(self, c_name=None): - return CTypesData.__repr__(self, c_name or self._get_c_name(' &')) - - -class CTypesBackend(object): - - PRIMITIVE_TYPES = { - 'char': ctypes.c_char, - 'short': ctypes.c_short, - 'int': ctypes.c_int, - 'long': ctypes.c_long, - 'long long': ctypes.c_longlong, - 'signed char': ctypes.c_byte, - 'unsigned char': ctypes.c_ubyte, - 'unsigned short': ctypes.c_ushort, - 'unsigned int': ctypes.c_uint, - 'unsigned long': ctypes.c_ulong, - 'unsigned long long': ctypes.c_ulonglong, - 'float': ctypes.c_float, - 'double': ctypes.c_double, - '_Bool': ctypes.c_bool, - } - - for _name in ['unsigned long long', 'unsigned long', - 'unsigned int', 'unsigned short', 'unsigned char']: - _size = ctypes.sizeof(PRIMITIVE_TYPES[_name]) - PRIMITIVE_TYPES['uint%d_t' % (8*_size)] = PRIMITIVE_TYPES[_name] - if _size == ctypes.sizeof(ctypes.c_void_p): - PRIMITIVE_TYPES['uintptr_t'] = PRIMITIVE_TYPES[_name] - if _size == ctypes.sizeof(ctypes.c_size_t): - PRIMITIVE_TYPES['size_t'] = PRIMITIVE_TYPES[_name] - - for _name in ['long long', 'long', 'int', 'short', 'signed char']: - _size = ctypes.sizeof(PRIMITIVE_TYPES[_name]) - PRIMITIVE_TYPES['int%d_t' % (8*_size)] = PRIMITIVE_TYPES[_name] - if _size == ctypes.sizeof(ctypes.c_void_p): - PRIMITIVE_TYPES['intptr_t'] = PRIMITIVE_TYPES[_name] - PRIMITIVE_TYPES['ptrdiff_t'] = PRIMITIVE_TYPES[_name] - if _size == ctypes.sizeof(ctypes.c_size_t): - PRIMITIVE_TYPES['ssize_t'] = PRIMITIVE_TYPES[_name] - - - def __init__(self): - self.RTLD_LAZY = 0 # not supported anyway by ctypes - self.RTLD_NOW = 0 - self.RTLD_GLOBAL = ctypes.RTLD_GLOBAL - self.RTLD_LOCAL = ctypes.RTLD_LOCAL - - def set_ffi(self, ffi): - self.ffi = ffi - - def _get_types(self): - return CTypesData, CTypesType - - def load_library(self, path, flags=0): - cdll = ctypes.CDLL(path, flags) - return CTypesLibrary(self, cdll) - - def new_void_type(self): - class CTypesVoid(CTypesData): - __slots__ = [] - _reftypename = 'void &' - @staticmethod - def _from_ctypes(novalue): - return None - @staticmethod - def _to_ctypes(novalue): - if novalue is not None: - raise TypeError("None expected, got %s object" % - (type(novalue).__name__,)) - return None - CTypesVoid._fix_class() - return CTypesVoid - - def new_primitive_type(self, name): - if name == 'wchar_t': - raise NotImplementedError(name) - ctype = self.PRIMITIVE_TYPES[name] - if name == 'char': - kind = 'char' - elif name in ('float', 'double'): - kind = 'float' - else: - if name in ('signed char', 'unsigned char'): - kind = 'byte' - elif name == '_Bool': - kind = 'bool' - else: - kind = 'int' - is_signed = (ctype(-1).value == -1) - # - def _cast_source_to_int(source): - if isinstance(source, (int, long, float)): - source = int(source) - elif isinstance(source, CTypesData): - source = source._cast_to_integer() - elif isinstance(source, bytes): - source = ord(source) - elif source is None: - source = 0 - else: - raise TypeError("bad type for cast to %r: %r" % - (CTypesPrimitive, type(source).__name__)) - return source - # - kind1 = kind - class CTypesPrimitive(CTypesGenericPrimitive): - __slots__ = ['_value'] - _ctype = ctype - _reftypename = '%s &' % name - kind = kind1 - - def __init__(self, value): - self._value = value - - @staticmethod - def _create_ctype_obj(init): - if init is None: - return ctype() - return ctype(CTypesPrimitive._to_ctypes(init)) - - if kind == 'int' or kind == 'byte': - @classmethod - def _cast_from(cls, source): - source = _cast_source_to_int(source) - source = ctype(source).value # cast within range - return cls(source) - def __int__(self): - return self._value - - if kind == 'bool': - @classmethod - def _cast_from(cls, source): - if not isinstance(source, (int, long, float)): - source = _cast_source_to_int(source) - return cls(bool(source)) - def __int__(self): - return int(self._value) - - if kind == 'char': - @classmethod - def _cast_from(cls, source): - source = _cast_source_to_int(source) - source = bytechr(source & 0xFF) - return cls(source) - def __int__(self): - return ord(self._value) - - if kind == 'float': - @classmethod - def _cast_from(cls, source): - if isinstance(source, float): - pass - elif isinstance(source, CTypesGenericPrimitive): - if hasattr(source, '__float__'): - source = float(source) - else: - source = int(source) - else: - source = _cast_source_to_int(source) - source = ctype(source).value # fix precision - return cls(source) - def __int__(self): - return int(self._value) - def __float__(self): - return self._value - - _cast_to_integer = __int__ - - if kind == 'int' or kind == 'byte' or kind == 'bool': - @staticmethod - def _to_ctypes(x): - if not isinstance(x, (int, long)): - if isinstance(x, CTypesData): - x = int(x) - else: - raise TypeError("integer expected, got %s" % - type(x).__name__) - if ctype(x).value != x: - if not is_signed and x < 0: - raise OverflowError("%s: negative integer" % name) - else: - raise OverflowError("%s: integer out of bounds" - % name) - return x - - if kind == 'char': - @staticmethod - def _to_ctypes(x): - if isinstance(x, bytes) and len(x) == 1: - return x - if isinstance(x, CTypesPrimitive): # > - return x._value - raise TypeError("character expected, got %s" % - type(x).__name__) - def __nonzero__(self): - return ord(self._value) != 0 - else: - def __nonzero__(self): - return self._value != 0 - __bool__ = __nonzero__ - - if kind == 'float': - @staticmethod - def _to_ctypes(x): - if not isinstance(x, (int, long, float, CTypesData)): - raise TypeError("float expected, got %s" % - type(x).__name__) - return ctype(x).value - - @staticmethod - def _from_ctypes(value): - return getattr(value, 'value', value) - - @staticmethod - def _initialize(blob, init): - blob.value = CTypesPrimitive._to_ctypes(init) - - if kind == 'char': - def _to_string(self, maxlen): - return self._value - if kind == 'byte': - def _to_string(self, maxlen): - return chr(self._value & 0xff) - # - CTypesPrimitive._fix_class() - return CTypesPrimitive - - def new_pointer_type(self, BItem): - getbtype = self.ffi._get_cached_btype - if BItem is getbtype(model.PrimitiveType('char')): - kind = 'charp' - elif BItem in (getbtype(model.PrimitiveType('signed char')), - getbtype(model.PrimitiveType('unsigned char'))): - kind = 'bytep' - elif BItem is getbtype(model.void_type): - kind = 'voidp' - else: - kind = 'generic' - # - class CTypesPtr(CTypesGenericPtr): - __slots__ = ['_own'] - if kind == 'charp': - __slots__ += ['__as_strbuf'] - _BItem = BItem - if hasattr(BItem, '_ctype'): - _ctype = ctypes.POINTER(BItem._ctype) - _bitem_size = ctypes.sizeof(BItem._ctype) - else: - _ctype = ctypes.c_void_p - if issubclass(BItem, CTypesGenericArray): - _reftypename = BItem._get_c_name('(* &)') - else: - _reftypename = BItem._get_c_name(' * &') - - def __init__(self, init): - ctypeobj = BItem._create_ctype_obj(init) - if kind == 'charp': - self.__as_strbuf = ctypes.create_string_buffer( - ctypeobj.value + b'\x00') - self._as_ctype_ptr = ctypes.cast( - self.__as_strbuf, self._ctype) - else: - self._as_ctype_ptr = ctypes.pointer(ctypeobj) - self._address = ctypes.cast(self._as_ctype_ptr, - ctypes.c_void_p).value - self._own = True - - def __add__(self, other): - if isinstance(other, (int, long)): - return self._new_pointer_at(self._address + - other * self._bitem_size) - else: - return NotImplemented - - def __sub__(self, other): - if isinstance(other, (int, long)): - return self._new_pointer_at(self._address - - other * self._bitem_size) - elif type(self) is type(other): - return (self._address - other._address) // self._bitem_size - else: - return NotImplemented - - def __getitem__(self, index): - if getattr(self, '_own', False) and index != 0: - raise IndexError - return BItem._from_ctypes(self._as_ctype_ptr[index]) - - def __setitem__(self, index, value): - self._as_ctype_ptr[index] = BItem._to_ctypes(value) - - if kind == 'charp' or kind == 'voidp': - @classmethod - def _arg_to_ctypes(cls, *value): - if value and isinstance(value[0], bytes): - return ctypes.c_char_p(value[0]) - else: - return super(CTypesPtr, cls)._arg_to_ctypes(*value) - - if kind == 'charp' or kind == 'bytep': - def _to_string(self, maxlen): - if maxlen < 0: - maxlen = sys.maxsize - p = ctypes.cast(self._as_ctype_ptr, - ctypes.POINTER(ctypes.c_char)) - n = 0 - while n < maxlen and p[n] != b'\x00': - n += 1 - return b''.join([p[i] for i in range(n)]) - - def _get_own_repr(self): - if getattr(self, '_own', False): - return 'owning %d bytes' % ( - ctypes.sizeof(self._as_ctype_ptr.contents),) - return super(CTypesPtr, self)._get_own_repr() - # - if (BItem is self.ffi._get_cached_btype(model.void_type) or - BItem is self.ffi._get_cached_btype(model.PrimitiveType('char'))): - CTypesPtr._automatic_casts = True - # - CTypesPtr._fix_class() - return CTypesPtr - - def new_array_type(self, CTypesPtr, length): - if length is None: - brackets = ' &[]' - else: - brackets = ' &[%d]' % length - BItem = CTypesPtr._BItem - getbtype = self.ffi._get_cached_btype - if BItem is getbtype(model.PrimitiveType('char')): - kind = 'char' - elif BItem in (getbtype(model.PrimitiveType('signed char')), - getbtype(model.PrimitiveType('unsigned char'))): - kind = 'byte' - else: - kind = 'generic' - # - class CTypesArray(CTypesGenericArray): - __slots__ = ['_blob', '_own'] - if length is not None: - _ctype = BItem._ctype * length - else: - __slots__.append('_ctype') - _reftypename = BItem._get_c_name(brackets) - _declared_length = length - _CTPtr = CTypesPtr - - def __init__(self, init): - if length is None: - if isinstance(init, (int, long)): - len1 = init - init = None - elif kind == 'char' and isinstance(init, bytes): - len1 = len(init) + 1 # extra null - else: - init = tuple(init) - len1 = len(init) - self._ctype = BItem._ctype * len1 - self._blob = self._ctype() - self._own = True - if init is not None: - self._initialize(self._blob, init) - - @staticmethod - def _initialize(blob, init): - if isinstance(init, bytes): - init = [init[i:i+1] for i in range(len(init))] - else: - if isinstance(init, CTypesGenericArray): - if (len(init) != len(blob) or - not isinstance(init, CTypesArray)): - raise TypeError("length/type mismatch: %s" % (init,)) - init = tuple(init) - if len(init) > len(blob): - raise IndexError("too many initializers") - addr = ctypes.cast(blob, ctypes.c_void_p).value - PTR = ctypes.POINTER(BItem._ctype) - itemsize = ctypes.sizeof(BItem._ctype) - for i, value in enumerate(init): - p = ctypes.cast(addr + i * itemsize, PTR) - BItem._initialize(p.contents, value) - - def __len__(self): - return len(self._blob) - - def __getitem__(self, index): - if not (0 <= index < len(self._blob)): - raise IndexError - return BItem._from_ctypes(self._blob[index]) - - def __setitem__(self, index, value): - if not (0 <= index < len(self._blob)): - raise IndexError - self._blob[index] = BItem._to_ctypes(value) - - if kind == 'char' or kind == 'byte': - def _to_string(self, maxlen): - if maxlen < 0: - maxlen = len(self._blob) - p = ctypes.cast(self._blob, - ctypes.POINTER(ctypes.c_char)) - n = 0 - while n < maxlen and p[n] != b'\x00': - n += 1 - return b''.join([p[i] for i in range(n)]) - - def _get_own_repr(self): - if getattr(self, '_own', False): - return 'owning %d bytes' % (ctypes.sizeof(self._blob),) - return super(CTypesArray, self)._get_own_repr() - - def _convert_to_address(self, BClass): - if BClass in (CTypesPtr, None) or BClass._automatic_casts: - return ctypes.addressof(self._blob) - else: - return CTypesData._convert_to_address(self, BClass) - - @staticmethod - def _from_ctypes(ctypes_array): - self = CTypesArray.__new__(CTypesArray) - self._blob = ctypes_array - return self - - @staticmethod - def _arg_to_ctypes(value): - return CTypesPtr._arg_to_ctypes(value) - - def __add__(self, other): - if isinstance(other, (int, long)): - return CTypesPtr._new_pointer_at( - ctypes.addressof(self._blob) + - other * ctypes.sizeof(BItem._ctype)) - else: - return NotImplemented - - @classmethod - def _cast_from(cls, source): - raise NotImplementedError("casting to %r" % ( - cls._get_c_name(),)) - # - CTypesArray._fix_class() - return CTypesArray - - def _new_struct_or_union(self, kind, name, base_ctypes_class): - # - class struct_or_union(base_ctypes_class): - pass - struct_or_union.__name__ = '%s_%s' % (kind, name) - kind1 = kind - # - class CTypesStructOrUnion(CTypesBaseStructOrUnion): - __slots__ = ['_blob'] - _ctype = struct_or_union - _reftypename = '%s &' % (name,) - _kind = kind = kind1 - # - CTypesStructOrUnion._fix_class() - return CTypesStructOrUnion - - def new_struct_type(self, name): - return self._new_struct_or_union('struct', name, ctypes.Structure) - - def new_union_type(self, name): - return self._new_struct_or_union('union', name, ctypes.Union) - - def complete_struct_or_union(self, CTypesStructOrUnion, fields, tp, - totalsize=-1, totalalignment=-1, sflags=0, - pack=0): - if totalsize >= 0 or totalalignment >= 0: - raise NotImplementedError("the ctypes backend of CFFI does not support " - "structures completed by verify(); please " - "compile and install the _cffi_backend module.") - struct_or_union = CTypesStructOrUnion._ctype - fnames = [fname for (fname, BField, bitsize) in fields] - btypes = [BField for (fname, BField, bitsize) in fields] - bitfields = [bitsize for (fname, BField, bitsize) in fields] - # - bfield_types = {} - cfields = [] - for (fname, BField, bitsize) in fields: - if bitsize < 0: - cfields.append((fname, BField._ctype)) - bfield_types[fname] = BField - else: - cfields.append((fname, BField._ctype, bitsize)) - bfield_types[fname] = Ellipsis - if sflags & 8: - struct_or_union._pack_ = 1 - elif pack: - struct_or_union._pack_ = pack - struct_or_union._fields_ = cfields - CTypesStructOrUnion._bfield_types = bfield_types - # - @staticmethod - def _create_ctype_obj(init): - result = struct_or_union() - if init is not None: - initialize(result, init) - return result - CTypesStructOrUnion._create_ctype_obj = _create_ctype_obj - # - def initialize(blob, init): - if is_union: - if len(init) > 1: - raise ValueError("union initializer: %d items given, but " - "only one supported (use a dict if needed)" - % (len(init),)) - if not isinstance(init, dict): - if isinstance(init, (bytes, unicode)): - raise TypeError("union initializer: got a str") - init = tuple(init) - if len(init) > len(fnames): - raise ValueError("too many values for %s initializer" % - CTypesStructOrUnion._get_c_name()) - init = dict(zip(fnames, init)) - addr = ctypes.addressof(blob) - for fname, value in init.items(): - BField, bitsize = name2fieldtype[fname] - assert bitsize < 0, \ - "not implemented: initializer with bit fields" - offset = CTypesStructOrUnion._offsetof(fname) - PTR = ctypes.POINTER(BField._ctype) - p = ctypes.cast(addr + offset, PTR) - BField._initialize(p.contents, value) - is_union = CTypesStructOrUnion._kind == 'union' - name2fieldtype = dict(zip(fnames, zip(btypes, bitfields))) - # - for fname, BField, bitsize in fields: - if fname == '': - raise NotImplementedError("nested anonymous structs/unions") - if hasattr(CTypesStructOrUnion, fname): - raise ValueError("the field name %r conflicts in " - "the ctypes backend" % fname) - if bitsize < 0: - def getter(self, fname=fname, BField=BField, - offset=CTypesStructOrUnion._offsetof(fname), - PTR=ctypes.POINTER(BField._ctype)): - addr = ctypes.addressof(self._blob) - p = ctypes.cast(addr + offset, PTR) - return BField._from_ctypes(p.contents) - def setter(self, value, fname=fname, BField=BField): - setattr(self._blob, fname, BField._to_ctypes(value)) - # - if issubclass(BField, CTypesGenericArray): - setter = None - if BField._declared_length == 0: - def getter(self, fname=fname, BFieldPtr=BField._CTPtr, - offset=CTypesStructOrUnion._offsetof(fname), - PTR=ctypes.POINTER(BField._ctype)): - addr = ctypes.addressof(self._blob) - p = ctypes.cast(addr + offset, PTR) - return BFieldPtr._from_ctypes(p) - # - else: - def getter(self, fname=fname, BField=BField): - return BField._from_ctypes(getattr(self._blob, fname)) - def setter(self, value, fname=fname, BField=BField): - # xxx obscure workaround - value = BField._to_ctypes(value) - oldvalue = getattr(self._blob, fname) - setattr(self._blob, fname, value) - if value != getattr(self._blob, fname): - setattr(self._blob, fname, oldvalue) - raise OverflowError("value too large for bitfield") - setattr(CTypesStructOrUnion, fname, property(getter, setter)) - # - CTypesPtr = self.ffi._get_cached_btype(model.PointerType(tp)) - for fname in fnames: - if hasattr(CTypesPtr, fname): - raise ValueError("the field name %r conflicts in " - "the ctypes backend" % fname) - def getter(self, fname=fname): - return getattr(self[0], fname) - def setter(self, value, fname=fname): - setattr(self[0], fname, value) - setattr(CTypesPtr, fname, property(getter, setter)) - - def new_function_type(self, BArgs, BResult, has_varargs): - nameargs = [BArg._get_c_name() for BArg in BArgs] - if has_varargs: - nameargs.append('...') - nameargs = ', '.join(nameargs) - # - class CTypesFunctionPtr(CTypesGenericPtr): - __slots__ = ['_own_callback', '_name'] - _ctype = ctypes.CFUNCTYPE(getattr(BResult, '_ctype', None), - *[BArg._ctype for BArg in BArgs], - use_errno=True) - _reftypename = BResult._get_c_name('(* &)(%s)' % (nameargs,)) - - def __init__(self, init, error=None): - # create a callback to the Python callable init() - import traceback - assert not has_varargs, "varargs not supported for callbacks" - if getattr(BResult, '_ctype', None) is not None: - error = BResult._from_ctypes( - BResult._create_ctype_obj(error)) - else: - error = None - def callback(*args): - args2 = [] - for arg, BArg in zip(args, BArgs): - args2.append(BArg._from_ctypes(arg)) - try: - res2 = init(*args2) - res2 = BResult._to_ctypes(res2) - except: - traceback.print_exc() - res2 = error - if issubclass(BResult, CTypesGenericPtr): - if res2: - res2 = ctypes.cast(res2, ctypes.c_void_p).value - # .value: http://bugs.python.org/issue1574593 - else: - res2 = None - #print repr(res2) - return res2 - if issubclass(BResult, CTypesGenericPtr): - # The only pointers callbacks can return are void*s: - # http://bugs.python.org/issue5710 - callback_ctype = ctypes.CFUNCTYPE( - ctypes.c_void_p, - *[BArg._ctype for BArg in BArgs], - use_errno=True) - else: - callback_ctype = CTypesFunctionPtr._ctype - self._as_ctype_ptr = callback_ctype(callback) - self._address = ctypes.cast(self._as_ctype_ptr, - ctypes.c_void_p).value - self._own_callback = init - - @staticmethod - def _initialize(ctypes_ptr, value): - if value: - raise NotImplementedError("ctypes backend: not supported: " - "initializers for function pointers") - - def __repr__(self): - c_name = getattr(self, '_name', None) - if c_name: - i = self._reftypename.index('(* &)') - if self._reftypename[i-1] not in ' )*': - c_name = ' ' + c_name - c_name = self._reftypename.replace('(* &)', c_name) - return CTypesData.__repr__(self, c_name) - - def _get_own_repr(self): - if getattr(self, '_own_callback', None) is not None: - return 'calling %r' % (self._own_callback,) - return super(CTypesFunctionPtr, self)._get_own_repr() - - def __call__(self, *args): - if has_varargs: - assert len(args) >= len(BArgs) - extraargs = args[len(BArgs):] - args = args[:len(BArgs)] - else: - assert len(args) == len(BArgs) - ctypes_args = [] - for arg, BArg in zip(args, BArgs): - ctypes_args.append(BArg._arg_to_ctypes(arg)) - if has_varargs: - for i, arg in enumerate(extraargs): - if arg is None: - ctypes_args.append(ctypes.c_void_p(0)) # NULL - continue - if not isinstance(arg, CTypesData): - raise TypeError( - "argument %d passed in the variadic part " - "needs to be a cdata object (got %s)" % - (1 + len(BArgs) + i, type(arg).__name__)) - ctypes_args.append(arg._arg_to_ctypes(arg)) - result = self._as_ctype_ptr(*ctypes_args) - return BResult._from_ctypes(result) - # - CTypesFunctionPtr._fix_class() - return CTypesFunctionPtr - - def new_enum_type(self, name, enumerators, enumvalues, CTypesInt): - assert isinstance(name, str) - reverse_mapping = dict(zip(reversed(enumvalues), - reversed(enumerators))) - # - class CTypesEnum(CTypesInt): - __slots__ = [] - _reftypename = '%s &' % name - - def _get_own_repr(self): - value = self._value - try: - return '%d: %s' % (value, reverse_mapping[value]) - except KeyError: - return str(value) - - def _to_string(self, maxlen): - value = self._value - try: - return reverse_mapping[value] - except KeyError: - return str(value) - # - CTypesEnum._fix_class() - return CTypesEnum - - def get_errno(self): - return ctypes.get_errno() - - def set_errno(self, value): - ctypes.set_errno(value) - - def string(self, b, maxlen=-1): - return b._to_string(maxlen) - - def buffer(self, bptr, size=-1): - raise NotImplementedError("buffer() with ctypes backend") - - def sizeof(self, cdata_or_BType): - if isinstance(cdata_or_BType, CTypesData): - return cdata_or_BType._get_size_of_instance() - else: - assert issubclass(cdata_or_BType, CTypesData) - return cdata_or_BType._get_size() - - def alignof(self, BType): - assert issubclass(BType, CTypesData) - return BType._alignment() - - def newp(self, BType, source): - if not issubclass(BType, CTypesData): - raise TypeError - return BType._newp(source) - - def cast(self, BType, source): - return BType._cast_from(source) - - def callback(self, BType, source, error, onerror): - assert onerror is None # XXX not implemented - return BType(source, error) - - _weakref_cache_ref = None - - def gcp(self, cdata, destructor, size=0): - if self._weakref_cache_ref is None: - import weakref - class MyRef(weakref.ref): - def __eq__(self, other): - myref = self() - return self is other or ( - myref is not None and myref is other()) - def __ne__(self, other): - return not (self == other) - def __hash__(self): - try: - return self._hash - except AttributeError: - self._hash = hash(self()) - return self._hash - self._weakref_cache_ref = {}, MyRef - weak_cache, MyRef = self._weakref_cache_ref - - if destructor is None: - try: - del weak_cache[MyRef(cdata)] - except KeyError: - raise TypeError("Can remove destructor only on a object " - "previously returned by ffi.gc()") - return None - - def remove(k): - cdata, destructor = weak_cache.pop(k, (None, None)) - if destructor is not None: - destructor(cdata) - - new_cdata = self.cast(self.typeof(cdata), cdata) - assert new_cdata is not cdata - weak_cache[MyRef(new_cdata, remove)] = (cdata, destructor) - return new_cdata - - typeof = type - - def getcname(self, BType, replace_with): - return BType._get_c_name(replace_with) - - def typeoffsetof(self, BType, fieldname, num=0): - if isinstance(fieldname, str): - if num == 0 and issubclass(BType, CTypesGenericPtr): - BType = BType._BItem - if not issubclass(BType, CTypesBaseStructOrUnion): - raise TypeError("expected a struct or union ctype") - BField = BType._bfield_types[fieldname] - if BField is Ellipsis: - raise TypeError("not supported for bitfields") - return (BField, BType._offsetof(fieldname)) - elif isinstance(fieldname, (int, long)): - if issubclass(BType, CTypesGenericArray): - BType = BType._CTPtr - if not issubclass(BType, CTypesGenericPtr): - raise TypeError("expected an array or ptr ctype") - BItem = BType._BItem - offset = BItem._get_size() * fieldname - if offset > sys.maxsize: - raise OverflowError - return (BItem, offset) - else: - raise TypeError(type(fieldname)) - - def rawaddressof(self, BTypePtr, cdata, offset=None): - if isinstance(cdata, CTypesBaseStructOrUnion): - ptr = ctypes.pointer(type(cdata)._to_ctypes(cdata)) - elif isinstance(cdata, CTypesGenericPtr): - if offset is None or not issubclass(type(cdata)._BItem, - CTypesBaseStructOrUnion): - raise TypeError("unexpected cdata type") - ptr = type(cdata)._to_ctypes(cdata) - elif isinstance(cdata, CTypesGenericArray): - ptr = type(cdata)._to_ctypes(cdata) - else: - raise TypeError("expected a ") - if offset: - ptr = ctypes.cast( - ctypes.c_void_p( - ctypes.cast(ptr, ctypes.c_void_p).value + offset), - type(ptr)) - return BTypePtr._from_ctypes(ptr) - - -class CTypesLibrary(object): - - def __init__(self, backend, cdll): - self.backend = backend - self.cdll = cdll - - def load_function(self, BType, name): - c_func = getattr(self.cdll, name) - funcobj = BType._from_ctypes(c_func) - funcobj._name = name - return funcobj - - def read_variable(self, BType, name): - try: - ctypes_obj = BType._ctype.in_dll(self.cdll, name) - except AttributeError as e: - raise NotImplementedError(e) - return BType._from_ctypes(ctypes_obj) - - def write_variable(self, BType, name, value): - new_ctypes_obj = BType._to_ctypes(value) - ctypes_obj = BType._ctype.in_dll(self.cdll, name) - ctypes.memmove(ctypes.addressof(ctypes_obj), - ctypes.addressof(new_ctypes_obj), - ctypes.sizeof(BType._ctype)) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/cffi_opcode.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/cffi_opcode.py deleted file mode 100644 index a0df98d1..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/cffi_opcode.py +++ /dev/null @@ -1,187 +0,0 @@ -from .error import VerificationError - -class CffiOp(object): - def __init__(self, op, arg): - self.op = op - self.arg = arg - - def as_c_expr(self): - if self.op is None: - assert isinstance(self.arg, str) - return '(_cffi_opcode_t)(%s)' % (self.arg,) - classname = CLASS_NAME[self.op] - return '_CFFI_OP(_CFFI_OP_%s, %s)' % (classname, self.arg) - - def as_python_bytes(self): - if self.op is None and self.arg.isdigit(): - value = int(self.arg) # non-negative: '-' not in self.arg - if value >= 2**31: - raise OverflowError("cannot emit %r: limited to 2**31-1" - % (self.arg,)) - return format_four_bytes(value) - if isinstance(self.arg, str): - raise VerificationError("cannot emit to Python: %r" % (self.arg,)) - return format_four_bytes((self.arg << 8) | self.op) - - def __str__(self): - classname = CLASS_NAME.get(self.op, self.op) - return '(%s %s)' % (classname, self.arg) - -def format_four_bytes(num): - return '\\x%02X\\x%02X\\x%02X\\x%02X' % ( - (num >> 24) & 0xFF, - (num >> 16) & 0xFF, - (num >> 8) & 0xFF, - (num ) & 0xFF) - -OP_PRIMITIVE = 1 -OP_POINTER = 3 -OP_ARRAY = 5 -OP_OPEN_ARRAY = 7 -OP_STRUCT_UNION = 9 -OP_ENUM = 11 -OP_FUNCTION = 13 -OP_FUNCTION_END = 15 -OP_NOOP = 17 -OP_BITFIELD = 19 -OP_TYPENAME = 21 -OP_CPYTHON_BLTN_V = 23 # varargs -OP_CPYTHON_BLTN_N = 25 # noargs -OP_CPYTHON_BLTN_O = 27 # O (i.e. a single arg) -OP_CONSTANT = 29 -OP_CONSTANT_INT = 31 -OP_GLOBAL_VAR = 33 -OP_DLOPEN_FUNC = 35 -OP_DLOPEN_CONST = 37 -OP_GLOBAL_VAR_F = 39 -OP_EXTERN_PYTHON = 41 - -PRIM_VOID = 0 -PRIM_BOOL = 1 -PRIM_CHAR = 2 -PRIM_SCHAR = 3 -PRIM_UCHAR = 4 -PRIM_SHORT = 5 -PRIM_USHORT = 6 -PRIM_INT = 7 -PRIM_UINT = 8 -PRIM_LONG = 9 -PRIM_ULONG = 10 -PRIM_LONGLONG = 11 -PRIM_ULONGLONG = 12 -PRIM_FLOAT = 13 -PRIM_DOUBLE = 14 -PRIM_LONGDOUBLE = 15 - -PRIM_WCHAR = 16 -PRIM_INT8 = 17 -PRIM_UINT8 = 18 -PRIM_INT16 = 19 -PRIM_UINT16 = 20 -PRIM_INT32 = 21 -PRIM_UINT32 = 22 -PRIM_INT64 = 23 -PRIM_UINT64 = 24 -PRIM_INTPTR = 25 -PRIM_UINTPTR = 26 -PRIM_PTRDIFF = 27 -PRIM_SIZE = 28 -PRIM_SSIZE = 29 -PRIM_INT_LEAST8 = 30 -PRIM_UINT_LEAST8 = 31 -PRIM_INT_LEAST16 = 32 -PRIM_UINT_LEAST16 = 33 -PRIM_INT_LEAST32 = 34 -PRIM_UINT_LEAST32 = 35 -PRIM_INT_LEAST64 = 36 -PRIM_UINT_LEAST64 = 37 -PRIM_INT_FAST8 = 38 -PRIM_UINT_FAST8 = 39 -PRIM_INT_FAST16 = 40 -PRIM_UINT_FAST16 = 41 -PRIM_INT_FAST32 = 42 -PRIM_UINT_FAST32 = 43 -PRIM_INT_FAST64 = 44 -PRIM_UINT_FAST64 = 45 -PRIM_INTMAX = 46 -PRIM_UINTMAX = 47 -PRIM_FLOATCOMPLEX = 48 -PRIM_DOUBLECOMPLEX = 49 -PRIM_CHAR16 = 50 -PRIM_CHAR32 = 51 - -_NUM_PRIM = 52 -_UNKNOWN_PRIM = -1 -_UNKNOWN_FLOAT_PRIM = -2 -_UNKNOWN_LONG_DOUBLE = -3 - -_IO_FILE_STRUCT = -1 - -PRIMITIVE_TO_INDEX = { - 'char': PRIM_CHAR, - 'short': PRIM_SHORT, - 'int': PRIM_INT, - 'long': PRIM_LONG, - 'long long': PRIM_LONGLONG, - 'signed char': PRIM_SCHAR, - 'unsigned char': PRIM_UCHAR, - 'unsigned short': PRIM_USHORT, - 'unsigned int': PRIM_UINT, - 'unsigned long': PRIM_ULONG, - 'unsigned long long': PRIM_ULONGLONG, - 'float': PRIM_FLOAT, - 'double': PRIM_DOUBLE, - 'long double': PRIM_LONGDOUBLE, - 'float _Complex': PRIM_FLOATCOMPLEX, - 'double _Complex': PRIM_DOUBLECOMPLEX, - '_Bool': PRIM_BOOL, - 'wchar_t': PRIM_WCHAR, - 'char16_t': PRIM_CHAR16, - 'char32_t': PRIM_CHAR32, - 'int8_t': PRIM_INT8, - 'uint8_t': PRIM_UINT8, - 'int16_t': PRIM_INT16, - 'uint16_t': PRIM_UINT16, - 'int32_t': PRIM_INT32, - 'uint32_t': PRIM_UINT32, - 'int64_t': PRIM_INT64, - 'uint64_t': PRIM_UINT64, - 'intptr_t': PRIM_INTPTR, - 'uintptr_t': PRIM_UINTPTR, - 'ptrdiff_t': PRIM_PTRDIFF, - 'size_t': PRIM_SIZE, - 'ssize_t': PRIM_SSIZE, - 'int_least8_t': PRIM_INT_LEAST8, - 'uint_least8_t': PRIM_UINT_LEAST8, - 'int_least16_t': PRIM_INT_LEAST16, - 'uint_least16_t': PRIM_UINT_LEAST16, - 'int_least32_t': PRIM_INT_LEAST32, - 'uint_least32_t': PRIM_UINT_LEAST32, - 'int_least64_t': PRIM_INT_LEAST64, - 'uint_least64_t': PRIM_UINT_LEAST64, - 'int_fast8_t': PRIM_INT_FAST8, - 'uint_fast8_t': PRIM_UINT_FAST8, - 'int_fast16_t': PRIM_INT_FAST16, - 'uint_fast16_t': PRIM_UINT_FAST16, - 'int_fast32_t': PRIM_INT_FAST32, - 'uint_fast32_t': PRIM_UINT_FAST32, - 'int_fast64_t': PRIM_INT_FAST64, - 'uint_fast64_t': PRIM_UINT_FAST64, - 'intmax_t': PRIM_INTMAX, - 'uintmax_t': PRIM_UINTMAX, - } - -F_UNION = 0x01 -F_CHECK_FIELDS = 0x02 -F_PACKED = 0x04 -F_EXTERNAL = 0x08 -F_OPAQUE = 0x10 - -G_FLAGS = dict([('_CFFI_' + _key, globals()[_key]) - for _key in ['F_UNION', 'F_CHECK_FIELDS', 'F_PACKED', - 'F_EXTERNAL', 'F_OPAQUE']]) - -CLASS_NAME = {} -for _name, _value in list(globals().items()): - if _name.startswith('OP_') and isinstance(_value, int): - CLASS_NAME[_value] = _name[3:] diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/commontypes.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/commontypes.py deleted file mode 100644 index 8ec97c75..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/commontypes.py +++ /dev/null @@ -1,80 +0,0 @@ -import sys -from . import model -from .error import FFIError - - -COMMON_TYPES = {} - -try: - # fetch "bool" and all simple Windows types - from _cffi_backend import _get_common_types - _get_common_types(COMMON_TYPES) -except ImportError: - pass - -COMMON_TYPES['FILE'] = model.unknown_type('FILE', '_IO_FILE') -COMMON_TYPES['bool'] = '_Bool' # in case we got ImportError above - -for _type in model.PrimitiveType.ALL_PRIMITIVE_TYPES: - if _type.endswith('_t'): - COMMON_TYPES[_type] = _type -del _type - -_CACHE = {} - -def resolve_common_type(parser, commontype): - try: - return _CACHE[commontype] - except KeyError: - cdecl = COMMON_TYPES.get(commontype, commontype) - if not isinstance(cdecl, str): - result, quals = cdecl, 0 # cdecl is already a BaseType - elif cdecl in model.PrimitiveType.ALL_PRIMITIVE_TYPES: - result, quals = model.PrimitiveType(cdecl), 0 - elif cdecl == 'set-unicode-needed': - raise FFIError("The Windows type %r is only available after " - "you call ffi.set_unicode()" % (commontype,)) - else: - if commontype == cdecl: - raise FFIError( - "Unsupported type: %r. Please look at " - "http://cffi.readthedocs.io/en/latest/cdef.html#ffi-cdef-limitations " - "and file an issue if you think this type should really " - "be supported." % (commontype,)) - result, quals = parser.parse_type_and_quals(cdecl) # recursive - - assert isinstance(result, model.BaseTypeByIdentity) - _CACHE[commontype] = result, quals - return result, quals - - -# ____________________________________________________________ -# extra types for Windows (most of them are in commontypes.c) - - -def win_common_types(): - return { - "UNICODE_STRING": model.StructType( - "_UNICODE_STRING", - ["Length", - "MaximumLength", - "Buffer"], - [model.PrimitiveType("unsigned short"), - model.PrimitiveType("unsigned short"), - model.PointerType(model.PrimitiveType("wchar_t"))], - [-1, -1, -1]), - "PUNICODE_STRING": "UNICODE_STRING *", - "PCUNICODE_STRING": "const UNICODE_STRING *", - - "TBYTE": "set-unicode-needed", - "TCHAR": "set-unicode-needed", - "LPCTSTR": "set-unicode-needed", - "PCTSTR": "set-unicode-needed", - "LPTSTR": "set-unicode-needed", - "PTSTR": "set-unicode-needed", - "PTBYTE": "set-unicode-needed", - "PTCHAR": "set-unicode-needed", - } - -if sys.platform == 'win32': - COMMON_TYPES.update(win_common_types()) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/cparser.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/cparser.py deleted file mode 100644 index 74830e91..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/cparser.py +++ /dev/null @@ -1,1006 +0,0 @@ -from . import model -from .commontypes import COMMON_TYPES, resolve_common_type -from .error import FFIError, CDefError -try: - from . import _pycparser as pycparser -except ImportError: - import pycparser -import weakref, re, sys - -try: - if sys.version_info < (3,): - import thread as _thread - else: - import _thread - lock = _thread.allocate_lock() -except ImportError: - lock = None - -def _workaround_for_static_import_finders(): - # Issue #392: packaging tools like cx_Freeze can not find these - # because pycparser uses exec dynamic import. This is an obscure - # workaround. This function is never called. - import pycparser.yacctab - import pycparser.lextab - -CDEF_SOURCE_STRING = "" -_r_comment = re.compile(r"/\*.*?\*/|//([^\n\\]|\\.)*?$", - re.DOTALL | re.MULTILINE) -_r_define = re.compile(r"^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)" - r"\b((?:[^\n\\]|\\.)*?)$", - re.DOTALL | re.MULTILINE) -_r_line_directive = re.compile(r"^[ \t]*#[ \t]*(?:line|\d+)\b.*$", re.MULTILINE) -_r_partial_enum = re.compile(r"=\s*\.\.\.\s*[,}]|\.\.\.\s*\}") -_r_enum_dotdotdot = re.compile(r"__dotdotdot\d+__$") -_r_partial_array = re.compile(r"\[\s*\.\.\.\s*\]") -_r_words = re.compile(r"\w+|\S") -_parser_cache = None -_r_int_literal = re.compile(r"-?0?x?[0-9a-f]+[lu]*$", re.IGNORECASE) -_r_stdcall1 = re.compile(r"\b(__stdcall|WINAPI)\b") -_r_stdcall2 = re.compile(r"[(]\s*(__stdcall|WINAPI)\b") -_r_cdecl = re.compile(r"\b__cdecl\b") -_r_extern_python = re.compile(r'\bextern\s*"' - r'(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.') -_r_star_const_space = re.compile( # matches "* const " - r"[*]\s*((const|volatile|restrict)\b\s*)+") -_r_int_dotdotdot = re.compile(r"(\b(int|long|short|signed|unsigned|char)\s*)+" - r"\.\.\.") -_r_float_dotdotdot = re.compile(r"\b(double|float)\s*\.\.\.") - -def _get_parser(): - global _parser_cache - if _parser_cache is None: - _parser_cache = pycparser.CParser() - return _parser_cache - -def _workaround_for_old_pycparser(csource): - # Workaround for a pycparser issue (fixed between pycparser 2.10 and - # 2.14): "char*const***" gives us a wrong syntax tree, the same as - # for "char***(*const)". This means we can't tell the difference - # afterwards. But "char(*const(***))" gives us the right syntax - # tree. The issue only occurs if there are several stars in - # sequence with no parenthesis inbetween, just possibly qualifiers. - # Attempt to fix it by adding some parentheses in the source: each - # time we see "* const" or "* const *", we add an opening - # parenthesis before each star---the hard part is figuring out where - # to close them. - parts = [] - while True: - match = _r_star_const_space.search(csource) - if not match: - break - #print repr(''.join(parts)+csource), '=>', - parts.append(csource[:match.start()]) - parts.append('('); closing = ')' - parts.append(match.group()) # e.g. "* const " - endpos = match.end() - if csource.startswith('*', endpos): - parts.append('('); closing += ')' - level = 0 - i = endpos - while i < len(csource): - c = csource[i] - if c == '(': - level += 1 - elif c == ')': - if level == 0: - break - level -= 1 - elif c in ',;=': - if level == 0: - break - i += 1 - csource = csource[endpos:i] + closing + csource[i:] - #print repr(''.join(parts)+csource) - parts.append(csource) - return ''.join(parts) - -def _preprocess_extern_python(csource): - # input: `extern "Python" int foo(int);` or - # `extern "Python" { int foo(int); }` - # output: - # void __cffi_extern_python_start; - # int foo(int); - # void __cffi_extern_python_stop; - # - # input: `extern "Python+C" int foo(int);` - # output: - # void __cffi_extern_python_plus_c_start; - # int foo(int); - # void __cffi_extern_python_stop; - parts = [] - while True: - match = _r_extern_python.search(csource) - if not match: - break - endpos = match.end() - 1 - #print - #print ''.join(parts)+csource - #print '=>' - parts.append(csource[:match.start()]) - if 'C' in match.group(1): - parts.append('void __cffi_extern_python_plus_c_start; ') - else: - parts.append('void __cffi_extern_python_start; ') - if csource[endpos] == '{': - # grouping variant - closing = csource.find('}', endpos) - if closing < 0: - raise CDefError("'extern \"Python\" {': no '}' found") - if csource.find('{', endpos + 1, closing) >= 0: - raise NotImplementedError("cannot use { } inside a block " - "'extern \"Python\" { ... }'") - parts.append(csource[endpos+1:closing]) - csource = csource[closing+1:] - else: - # non-grouping variant - semicolon = csource.find(';', endpos) - if semicolon < 0: - raise CDefError("'extern \"Python\": no ';' found") - parts.append(csource[endpos:semicolon+1]) - csource = csource[semicolon+1:] - parts.append(' void __cffi_extern_python_stop;') - #print ''.join(parts)+csource - #print - parts.append(csource) - return ''.join(parts) - -def _warn_for_string_literal(csource): - if '"' not in csource: - return - for line in csource.splitlines(): - if '"' in line and not line.lstrip().startswith('#'): - import warnings - warnings.warn("String literal found in cdef() or type source. " - "String literals are ignored here, but you should " - "remove them anyway because some character sequences " - "confuse pre-parsing.") - break - -def _warn_for_non_extern_non_static_global_variable(decl): - if not decl.storage: - import warnings - warnings.warn("Global variable '%s' in cdef(): for consistency " - "with C it should have a storage class specifier " - "(usually 'extern')" % (decl.name,)) - -def _remove_line_directives(csource): - # _r_line_directive matches whole lines, without the final \n, if they - # start with '#line' with some spacing allowed, or '#NUMBER'. This - # function stores them away and replaces them with exactly the string - # '#line@N', where N is the index in the list 'line_directives'. - line_directives = [] - def replace(m): - i = len(line_directives) - line_directives.append(m.group()) - return '#line@%d' % i - csource = _r_line_directive.sub(replace, csource) - return csource, line_directives - -def _put_back_line_directives(csource, line_directives): - def replace(m): - s = m.group() - if not s.startswith('#line@'): - raise AssertionError("unexpected #line directive " - "(should have been processed and removed") - return line_directives[int(s[6:])] - return _r_line_directive.sub(replace, csource) - -def _preprocess(csource): - # First, remove the lines of the form '#line N "filename"' because - # the "filename" part could confuse the rest - csource, line_directives = _remove_line_directives(csource) - # Remove comments. NOTE: this only work because the cdef() section - # should not contain any string literals (except in line directives)! - def replace_keeping_newlines(m): - return ' ' + m.group().count('\n') * '\n' - csource = _r_comment.sub(replace_keeping_newlines, csource) - # Remove the "#define FOO x" lines - macros = {} - for match in _r_define.finditer(csource): - macroname, macrovalue = match.groups() - macrovalue = macrovalue.replace('\\\n', '').strip() - macros[macroname] = macrovalue - csource = _r_define.sub('', csource) - # - if pycparser.__version__ < '2.14': - csource = _workaround_for_old_pycparser(csource) - # - # BIG HACK: replace WINAPI or __stdcall with "volatile const". - # It doesn't make sense for the return type of a function to be - # "volatile volatile const", so we abuse it to detect __stdcall... - # Hack number 2 is that "int(volatile *fptr)();" is not valid C - # syntax, so we place the "volatile" before the opening parenthesis. - csource = _r_stdcall2.sub(' volatile volatile const(', csource) - csource = _r_stdcall1.sub(' volatile volatile const ', csource) - csource = _r_cdecl.sub(' ', csource) - # - # Replace `extern "Python"` with start/end markers - csource = _preprocess_extern_python(csource) - # - # Now there should not be any string literal left; warn if we get one - _warn_for_string_literal(csource) - # - # Replace "[...]" with "[__dotdotdotarray__]" - csource = _r_partial_array.sub('[__dotdotdotarray__]', csource) - # - # Replace "...}" with "__dotdotdotNUM__}". This construction should - # occur only at the end of enums; at the end of structs we have "...;}" - # and at the end of vararg functions "...);". Also replace "=...[,}]" - # with ",__dotdotdotNUM__[,}]": this occurs in the enums too, when - # giving an unknown value. - matches = list(_r_partial_enum.finditer(csource)) - for number, match in enumerate(reversed(matches)): - p = match.start() - if csource[p] == '=': - p2 = csource.find('...', p, match.end()) - assert p2 > p - csource = '%s,__dotdotdot%d__ %s' % (csource[:p], number, - csource[p2+3:]) - else: - assert csource[p:p+3] == '...' - csource = '%s __dotdotdot%d__ %s' % (csource[:p], number, - csource[p+3:]) - # Replace "int ..." or "unsigned long int..." with "__dotdotdotint__" - csource = _r_int_dotdotdot.sub(' __dotdotdotint__ ', csource) - # Replace "float ..." or "double..." with "__dotdotdotfloat__" - csource = _r_float_dotdotdot.sub(' __dotdotdotfloat__ ', csource) - # Replace all remaining "..." with the same name, "__dotdotdot__", - # which is declared with a typedef for the purpose of C parsing. - csource = csource.replace('...', ' __dotdotdot__ ') - # Finally, put back the line directives - csource = _put_back_line_directives(csource, line_directives) - return csource, macros - -def _common_type_names(csource): - # Look in the source for what looks like usages of types from the - # list of common types. A "usage" is approximated here as the - # appearance of the word, minus a "definition" of the type, which - # is the last word in a "typedef" statement. Approximative only - # but should be fine for all the common types. - look_for_words = set(COMMON_TYPES) - look_for_words.add(';') - look_for_words.add(',') - look_for_words.add('(') - look_for_words.add(')') - look_for_words.add('typedef') - words_used = set() - is_typedef = False - paren = 0 - previous_word = '' - for word in _r_words.findall(csource): - if word in look_for_words: - if word == ';': - if is_typedef: - words_used.discard(previous_word) - look_for_words.discard(previous_word) - is_typedef = False - elif word == 'typedef': - is_typedef = True - paren = 0 - elif word == '(': - paren += 1 - elif word == ')': - paren -= 1 - elif word == ',': - if is_typedef and paren == 0: - words_used.discard(previous_word) - look_for_words.discard(previous_word) - else: # word in COMMON_TYPES - words_used.add(word) - previous_word = word - return words_used - - -class Parser(object): - - def __init__(self): - self._declarations = {} - self._included_declarations = set() - self._anonymous_counter = 0 - self._structnode2type = weakref.WeakKeyDictionary() - self._options = {} - self._int_constants = {} - self._recomplete = [] - self._uses_new_feature = None - - def _parse(self, csource): - csource, macros = _preprocess(csource) - # XXX: for more efficiency we would need to poke into the - # internals of CParser... the following registers the - # typedefs, because their presence or absence influences the - # parsing itself (but what they are typedef'ed to plays no role) - ctn = _common_type_names(csource) - typenames = [] - for name in sorted(self._declarations): - if name.startswith('typedef '): - name = name[8:] - typenames.append(name) - ctn.discard(name) - typenames += sorted(ctn) - # - csourcelines = [] - csourcelines.append('# 1 ""') - for typename in typenames: - csourcelines.append('typedef int %s;' % typename) - csourcelines.append('typedef int __dotdotdotint__, __dotdotdotfloat__,' - ' __dotdotdot__;') - # this forces pycparser to consider the following in the file - # called from line 1 - csourcelines.append('# 1 "%s"' % (CDEF_SOURCE_STRING,)) - csourcelines.append(csource) - fullcsource = '\n'.join(csourcelines) - if lock is not None: - lock.acquire() # pycparser is not thread-safe... - try: - ast = _get_parser().parse(fullcsource) - except pycparser.c_parser.ParseError as e: - self.convert_pycparser_error(e, csource) - finally: - if lock is not None: - lock.release() - # csource will be used to find buggy source text - return ast, macros, csource - - def _convert_pycparser_error(self, e, csource): - # xxx look for ":NUM:" at the start of str(e) - # and interpret that as a line number. This will not work if - # the user gives explicit ``# NUM "FILE"`` directives. - line = None - msg = str(e) - match = re.match(r"%s:(\d+):" % (CDEF_SOURCE_STRING,), msg) - if match: - linenum = int(match.group(1), 10) - csourcelines = csource.splitlines() - if 1 <= linenum <= len(csourcelines): - line = csourcelines[linenum-1] - return line - - def convert_pycparser_error(self, e, csource): - line = self._convert_pycparser_error(e, csource) - - msg = str(e) - if line: - msg = 'cannot parse "%s"\n%s' % (line.strip(), msg) - else: - msg = 'parse error\n%s' % (msg,) - raise CDefError(msg) - - def parse(self, csource, override=False, packed=False, pack=None, - dllexport=False): - if packed: - if packed != True: - raise ValueError("'packed' should be False or True; use " - "'pack' to give another value") - if pack: - raise ValueError("cannot give both 'pack' and 'packed'") - pack = 1 - elif pack: - if pack & (pack - 1): - raise ValueError("'pack' must be a power of two, not %r" % - (pack,)) - else: - pack = 0 - prev_options = self._options - try: - self._options = {'override': override, - 'packed': pack, - 'dllexport': dllexport} - self._internal_parse(csource) - finally: - self._options = prev_options - - def _internal_parse(self, csource): - ast, macros, csource = self._parse(csource) - # add the macros - self._process_macros(macros) - # find the first "__dotdotdot__" and use that as a separator - # between the repeated typedefs and the real csource - iterator = iter(ast.ext) - for decl in iterator: - if decl.name == '__dotdotdot__': - break - else: - assert 0 - current_decl = None - # - try: - self._inside_extern_python = '__cffi_extern_python_stop' - for decl in iterator: - current_decl = decl - if isinstance(decl, pycparser.c_ast.Decl): - self._parse_decl(decl) - elif isinstance(decl, pycparser.c_ast.Typedef): - if not decl.name: - raise CDefError("typedef does not declare any name", - decl) - quals = 0 - if (isinstance(decl.type.type, pycparser.c_ast.IdentifierType) and - decl.type.type.names[-1].startswith('__dotdotdot')): - realtype = self._get_unknown_type(decl) - elif (isinstance(decl.type, pycparser.c_ast.PtrDecl) and - isinstance(decl.type.type, pycparser.c_ast.TypeDecl) and - isinstance(decl.type.type.type, - pycparser.c_ast.IdentifierType) and - decl.type.type.type.names[-1].startswith('__dotdotdot')): - realtype = self._get_unknown_ptr_type(decl) - else: - realtype, quals = self._get_type_and_quals( - decl.type, name=decl.name, partial_length_ok=True, - typedef_example="*(%s *)0" % (decl.name,)) - self._declare('typedef ' + decl.name, realtype, quals=quals) - elif decl.__class__.__name__ == 'Pragma': - pass # skip pragma, only in pycparser 2.15 - else: - raise CDefError("unexpected <%s>: this construct is valid " - "C but not valid in cdef()" % - decl.__class__.__name__, decl) - except CDefError as e: - if len(e.args) == 1: - e.args = e.args + (current_decl,) - raise - except FFIError as e: - msg = self._convert_pycparser_error(e, csource) - if msg: - e.args = (e.args[0] + "\n *** Err: %s" % msg,) - raise - - def _add_constants(self, key, val): - if key in self._int_constants: - if self._int_constants[key] == val: - return # ignore identical double declarations - raise FFIError( - "multiple declarations of constant: %s" % (key,)) - self._int_constants[key] = val - - def _add_integer_constant(self, name, int_str): - int_str = int_str.lower().rstrip("ul") - neg = int_str.startswith('-') - if neg: - int_str = int_str[1:] - # "010" is not valid oct in py3 - if (int_str.startswith("0") and int_str != '0' - and not int_str.startswith("0x")): - int_str = "0o" + int_str[1:] - pyvalue = int(int_str, 0) - if neg: - pyvalue = -pyvalue - self._add_constants(name, pyvalue) - self._declare('macro ' + name, pyvalue) - - def _process_macros(self, macros): - for key, value in macros.items(): - value = value.strip() - if _r_int_literal.match(value): - self._add_integer_constant(key, value) - elif value == '...': - self._declare('macro ' + key, value) - else: - raise CDefError( - 'only supports one of the following syntax:\n' - ' #define %s ... (literally dot-dot-dot)\n' - ' #define %s NUMBER (with NUMBER an integer' - ' constant, decimal/hex/octal)\n' - 'got:\n' - ' #define %s %s' - % (key, key, key, value)) - - def _declare_function(self, tp, quals, decl): - tp = self._get_type_pointer(tp, quals) - if self._options.get('dllexport'): - tag = 'dllexport_python ' - elif self._inside_extern_python == '__cffi_extern_python_start': - tag = 'extern_python ' - elif self._inside_extern_python == '__cffi_extern_python_plus_c_start': - tag = 'extern_python_plus_c ' - else: - tag = 'function ' - self._declare(tag + decl.name, tp) - - def _parse_decl(self, decl): - node = decl.type - if isinstance(node, pycparser.c_ast.FuncDecl): - tp, quals = self._get_type_and_quals(node, name=decl.name) - assert isinstance(tp, model.RawFunctionType) - self._declare_function(tp, quals, decl) - else: - if isinstance(node, pycparser.c_ast.Struct): - self._get_struct_union_enum_type('struct', node) - elif isinstance(node, pycparser.c_ast.Union): - self._get_struct_union_enum_type('union', node) - elif isinstance(node, pycparser.c_ast.Enum): - self._get_struct_union_enum_type('enum', node) - elif not decl.name: - raise CDefError("construct does not declare any variable", - decl) - # - if decl.name: - tp, quals = self._get_type_and_quals(node, - partial_length_ok=True) - if tp.is_raw_function: - self._declare_function(tp, quals, decl) - elif (tp.is_integer_type() and - hasattr(decl, 'init') and - hasattr(decl.init, 'value') and - _r_int_literal.match(decl.init.value)): - self._add_integer_constant(decl.name, decl.init.value) - elif (tp.is_integer_type() and - isinstance(decl.init, pycparser.c_ast.UnaryOp) and - decl.init.op == '-' and - hasattr(decl.init.expr, 'value') and - _r_int_literal.match(decl.init.expr.value)): - self._add_integer_constant(decl.name, - '-' + decl.init.expr.value) - elif (tp is model.void_type and - decl.name.startswith('__cffi_extern_python_')): - # hack: `extern "Python"` in the C source is replaced - # with "void __cffi_extern_python_start;" and - # "void __cffi_extern_python_stop;" - self._inside_extern_python = decl.name - else: - if self._inside_extern_python !='__cffi_extern_python_stop': - raise CDefError( - "cannot declare constants or " - "variables with 'extern \"Python\"'") - if (quals & model.Q_CONST) and not tp.is_array_type: - self._declare('constant ' + decl.name, tp, quals=quals) - else: - _warn_for_non_extern_non_static_global_variable(decl) - self._declare('variable ' + decl.name, tp, quals=quals) - - def parse_type(self, cdecl): - return self.parse_type_and_quals(cdecl)[0] - - def parse_type_and_quals(self, cdecl): - ast, macros = self._parse('void __dummy(\n%s\n);' % cdecl)[:2] - assert not macros - exprnode = ast.ext[-1].type.args.params[0] - if isinstance(exprnode, pycparser.c_ast.ID): - raise CDefError("unknown identifier '%s'" % (exprnode.name,)) - return self._get_type_and_quals(exprnode.type) - - def _declare(self, name, obj, included=False, quals=0): - if name in self._declarations: - prevobj, prevquals = self._declarations[name] - if prevobj is obj and prevquals == quals: - return - if not self._options.get('override'): - raise FFIError( - "multiple declarations of %s (for interactive usage, " - "try cdef(xx, override=True))" % (name,)) - assert '__dotdotdot__' not in name.split() - self._declarations[name] = (obj, quals) - if included: - self._included_declarations.add(obj) - - def _extract_quals(self, type): - quals = 0 - if isinstance(type, (pycparser.c_ast.TypeDecl, - pycparser.c_ast.PtrDecl)): - if 'const' in type.quals: - quals |= model.Q_CONST - if 'volatile' in type.quals: - quals |= model.Q_VOLATILE - if 'restrict' in type.quals: - quals |= model.Q_RESTRICT - return quals - - def _get_type_pointer(self, type, quals, declname=None): - if isinstance(type, model.RawFunctionType): - return type.as_function_pointer() - if (isinstance(type, model.StructOrUnionOrEnum) and - type.name.startswith('$') and type.name[1:].isdigit() and - type.forcename is None and declname is not None): - return model.NamedPointerType(type, declname, quals) - return model.PointerType(type, quals) - - def _get_type_and_quals(self, typenode, name=None, partial_length_ok=False, - typedef_example=None): - # first, dereference typedefs, if we have it already parsed, we're good - if (isinstance(typenode, pycparser.c_ast.TypeDecl) and - isinstance(typenode.type, pycparser.c_ast.IdentifierType) and - len(typenode.type.names) == 1 and - ('typedef ' + typenode.type.names[0]) in self._declarations): - tp, quals = self._declarations['typedef ' + typenode.type.names[0]] - quals |= self._extract_quals(typenode) - return tp, quals - # - if isinstance(typenode, pycparser.c_ast.ArrayDecl): - # array type - if typenode.dim is None: - length = None - else: - length = self._parse_constant( - typenode.dim, partial_length_ok=partial_length_ok) - # a hack: in 'typedef int foo_t[...][...];', don't use '...' as - # the length but use directly the C expression that would be - # generated by recompiler.py. This lets the typedef be used in - # many more places within recompiler.py - if typedef_example is not None: - if length == '...': - length = '_cffi_array_len(%s)' % (typedef_example,) - typedef_example = "*" + typedef_example - # - tp, quals = self._get_type_and_quals(typenode.type, - partial_length_ok=partial_length_ok, - typedef_example=typedef_example) - return model.ArrayType(tp, length), quals - # - if isinstance(typenode, pycparser.c_ast.PtrDecl): - # pointer type - itemtype, itemquals = self._get_type_and_quals(typenode.type) - tp = self._get_type_pointer(itemtype, itemquals, declname=name) - quals = self._extract_quals(typenode) - return tp, quals - # - if isinstance(typenode, pycparser.c_ast.TypeDecl): - quals = self._extract_quals(typenode) - type = typenode.type - if isinstance(type, pycparser.c_ast.IdentifierType): - # assume a primitive type. get it from .names, but reduce - # synonyms to a single chosen combination - names = list(type.names) - if names != ['signed', 'char']: # keep this unmodified - prefixes = {} - while names: - name = names[0] - if name in ('short', 'long', 'signed', 'unsigned'): - prefixes[name] = prefixes.get(name, 0) + 1 - del names[0] - else: - break - # ignore the 'signed' prefix below, and reorder the others - newnames = [] - for prefix in ('unsigned', 'short', 'long'): - for i in range(prefixes.get(prefix, 0)): - newnames.append(prefix) - if not names: - names = ['int'] # implicitly - if names == ['int']: # but kill it if 'short' or 'long' - if 'short' in prefixes or 'long' in prefixes: - names = [] - names = newnames + names - ident = ' '.join(names) - if ident == 'void': - return model.void_type, quals - if ident == '__dotdotdot__': - raise FFIError(':%d: bad usage of "..."' % - typenode.coord.line) - tp0, quals0 = resolve_common_type(self, ident) - return tp0, (quals | quals0) - # - if isinstance(type, pycparser.c_ast.Struct): - # 'struct foobar' - tp = self._get_struct_union_enum_type('struct', type, name) - return tp, quals - # - if isinstance(type, pycparser.c_ast.Union): - # 'union foobar' - tp = self._get_struct_union_enum_type('union', type, name) - return tp, quals - # - if isinstance(type, pycparser.c_ast.Enum): - # 'enum foobar' - tp = self._get_struct_union_enum_type('enum', type, name) - return tp, quals - # - if isinstance(typenode, pycparser.c_ast.FuncDecl): - # a function type - return self._parse_function_type(typenode, name), 0 - # - # nested anonymous structs or unions end up here - if isinstance(typenode, pycparser.c_ast.Struct): - return self._get_struct_union_enum_type('struct', typenode, name, - nested=True), 0 - if isinstance(typenode, pycparser.c_ast.Union): - return self._get_struct_union_enum_type('union', typenode, name, - nested=True), 0 - # - raise FFIError(":%d: bad or unsupported type declaration" % - typenode.coord.line) - - def _parse_function_type(self, typenode, funcname=None): - params = list(getattr(typenode.args, 'params', [])) - for i, arg in enumerate(params): - if not hasattr(arg, 'type'): - raise CDefError("%s arg %d: unknown type '%s'" - " (if you meant to use the old C syntax of giving" - " untyped arguments, it is not supported)" - % (funcname or 'in expression', i + 1, - getattr(arg, 'name', '?'))) - ellipsis = ( - len(params) > 0 and - isinstance(params[-1].type, pycparser.c_ast.TypeDecl) and - isinstance(params[-1].type.type, - pycparser.c_ast.IdentifierType) and - params[-1].type.type.names == ['__dotdotdot__']) - if ellipsis: - params.pop() - if not params: - raise CDefError( - "%s: a function with only '(...)' as argument" - " is not correct C" % (funcname or 'in expression')) - args = [self._as_func_arg(*self._get_type_and_quals(argdeclnode.type)) - for argdeclnode in params] - if not ellipsis and args == [model.void_type]: - args = [] - result, quals = self._get_type_and_quals(typenode.type) - # the 'quals' on the result type are ignored. HACK: we absure them - # to detect __stdcall functions: we textually replace "__stdcall" - # with "volatile volatile const" above. - abi = None - if hasattr(typenode.type, 'quals'): # else, probable syntax error anyway - if typenode.type.quals[-3:] == ['volatile', 'volatile', 'const']: - abi = '__stdcall' - return model.RawFunctionType(tuple(args), result, ellipsis, abi) - - def _as_func_arg(self, type, quals): - if isinstance(type, model.ArrayType): - return model.PointerType(type.item, quals) - elif isinstance(type, model.RawFunctionType): - return type.as_function_pointer() - else: - return type - - def _get_struct_union_enum_type(self, kind, type, name=None, nested=False): - # First, a level of caching on the exact 'type' node of the AST. - # This is obscure, but needed because pycparser "unrolls" declarations - # such as "typedef struct { } foo_t, *foo_p" and we end up with - # an AST that is not a tree, but a DAG, with the "type" node of the - # two branches foo_t and foo_p of the trees being the same node. - # It's a bit silly but detecting "DAG-ness" in the AST tree seems - # to be the only way to distinguish this case from two independent - # structs. See test_struct_with_two_usages. - try: - return self._structnode2type[type] - except KeyError: - pass - # - # Note that this must handle parsing "struct foo" any number of - # times and always return the same StructType object. Additionally, - # one of these times (not necessarily the first), the fields of - # the struct can be specified with "struct foo { ...fields... }". - # If no name is given, then we have to create a new anonymous struct - # with no caching; in this case, the fields are either specified - # right now or never. - # - force_name = name - name = type.name - # - # get the type or create it if needed - if name is None: - # 'force_name' is used to guess a more readable name for - # anonymous structs, for the common case "typedef struct { } foo". - if force_name is not None: - explicit_name = '$%s' % force_name - else: - self._anonymous_counter += 1 - explicit_name = '$%d' % self._anonymous_counter - tp = None - else: - explicit_name = name - key = '%s %s' % (kind, name) - tp, _ = self._declarations.get(key, (None, None)) - # - if tp is None: - if kind == 'struct': - tp = model.StructType(explicit_name, None, None, None) - elif kind == 'union': - tp = model.UnionType(explicit_name, None, None, None) - elif kind == 'enum': - if explicit_name == '__dotdotdot__': - raise CDefError("Enums cannot be declared with ...") - tp = self._build_enum_type(explicit_name, type.values) - else: - raise AssertionError("kind = %r" % (kind,)) - if name is not None: - self._declare(key, tp) - else: - if kind == 'enum' and type.values is not None: - raise NotImplementedError( - "enum %s: the '{}' declaration should appear on the first " - "time the enum is mentioned, not later" % explicit_name) - if not tp.forcename: - tp.force_the_name(force_name) - if tp.forcename and '$' in tp.name: - self._declare('anonymous %s' % tp.forcename, tp) - # - self._structnode2type[type] = tp - # - # enums: done here - if kind == 'enum': - return tp - # - # is there a 'type.decls'? If yes, then this is the place in the - # C sources that declare the fields. If no, then just return the - # existing type, possibly still incomplete. - if type.decls is None: - return tp - # - if tp.fldnames is not None: - raise CDefError("duplicate declaration of struct %s" % name) - fldnames = [] - fldtypes = [] - fldbitsize = [] - fldquals = [] - for decl in type.decls: - if (isinstance(decl.type, pycparser.c_ast.IdentifierType) and - ''.join(decl.type.names) == '__dotdotdot__'): - # XXX pycparser is inconsistent: 'names' should be a list - # of strings, but is sometimes just one string. Use - # str.join() as a way to cope with both. - self._make_partial(tp, nested) - continue - if decl.bitsize is None: - bitsize = -1 - else: - bitsize = self._parse_constant(decl.bitsize) - self._partial_length = False - type, fqual = self._get_type_and_quals(decl.type, - partial_length_ok=True) - if self._partial_length: - self._make_partial(tp, nested) - if isinstance(type, model.StructType) and type.partial: - self._make_partial(tp, nested) - fldnames.append(decl.name or '') - fldtypes.append(type) - fldbitsize.append(bitsize) - fldquals.append(fqual) - tp.fldnames = tuple(fldnames) - tp.fldtypes = tuple(fldtypes) - tp.fldbitsize = tuple(fldbitsize) - tp.fldquals = tuple(fldquals) - if fldbitsize != [-1] * len(fldbitsize): - if isinstance(tp, model.StructType) and tp.partial: - raise NotImplementedError("%s: using both bitfields and '...;'" - % (tp,)) - tp.packed = self._options.get('packed') - if tp.completed: # must be re-completed: it is not opaque any more - tp.completed = 0 - self._recomplete.append(tp) - return tp - - def _make_partial(self, tp, nested): - if not isinstance(tp, model.StructOrUnion): - raise CDefError("%s cannot be partial" % (tp,)) - if not tp.has_c_name() and not nested: - raise NotImplementedError("%s is partial but has no C name" %(tp,)) - tp.partial = True - - def _parse_constant(self, exprnode, partial_length_ok=False): - # for now, limited to expressions that are an immediate number - # or positive/negative number - if isinstance(exprnode, pycparser.c_ast.Constant): - s = exprnode.value - if '0' <= s[0] <= '9': - s = s.rstrip('uUlL') - try: - if s.startswith('0'): - return int(s, 8) - else: - return int(s, 10) - except ValueError: - if len(s) > 1: - if s.lower()[0:2] == '0x': - return int(s, 16) - elif s.lower()[0:2] == '0b': - return int(s, 2) - raise CDefError("invalid constant %r" % (s,)) - elif s[0] == "'" and s[-1] == "'" and ( - len(s) == 3 or (len(s) == 4 and s[1] == "\\")): - return ord(s[-2]) - else: - raise CDefError("invalid constant %r" % (s,)) - # - if (isinstance(exprnode, pycparser.c_ast.UnaryOp) and - exprnode.op == '+'): - return self._parse_constant(exprnode.expr) - # - if (isinstance(exprnode, pycparser.c_ast.UnaryOp) and - exprnode.op == '-'): - return -self._parse_constant(exprnode.expr) - # load previously defined int constant - if (isinstance(exprnode, pycparser.c_ast.ID) and - exprnode.name in self._int_constants): - return self._int_constants[exprnode.name] - # - if (isinstance(exprnode, pycparser.c_ast.ID) and - exprnode.name == '__dotdotdotarray__'): - if partial_length_ok: - self._partial_length = True - return '...' - raise FFIError(":%d: unsupported '[...]' here, cannot derive " - "the actual array length in this context" - % exprnode.coord.line) - # - if isinstance(exprnode, pycparser.c_ast.BinaryOp): - left = self._parse_constant(exprnode.left) - right = self._parse_constant(exprnode.right) - if exprnode.op == '+': - return left + right - elif exprnode.op == '-': - return left - right - elif exprnode.op == '*': - return left * right - elif exprnode.op == '/': - return self._c_div(left, right) - elif exprnode.op == '%': - return left - self._c_div(left, right) * right - elif exprnode.op == '<<': - return left << right - elif exprnode.op == '>>': - return left >> right - elif exprnode.op == '&': - return left & right - elif exprnode.op == '|': - return left | right - elif exprnode.op == '^': - return left ^ right - # - raise FFIError(":%d: unsupported expression: expected a " - "simple numeric constant" % exprnode.coord.line) - - def _c_div(self, a, b): - result = a // b - if ((a < 0) ^ (b < 0)) and (a % b) != 0: - result += 1 - return result - - def _build_enum_type(self, explicit_name, decls): - if decls is not None: - partial = False - enumerators = [] - enumvalues = [] - nextenumvalue = 0 - for enum in decls.enumerators: - if _r_enum_dotdotdot.match(enum.name): - partial = True - continue - if enum.value is not None: - nextenumvalue = self._parse_constant(enum.value) - enumerators.append(enum.name) - enumvalues.append(nextenumvalue) - self._add_constants(enum.name, nextenumvalue) - nextenumvalue += 1 - enumerators = tuple(enumerators) - enumvalues = tuple(enumvalues) - tp = model.EnumType(explicit_name, enumerators, enumvalues) - tp.partial = partial - else: # opaque enum - tp = model.EnumType(explicit_name, (), ()) - return tp - - def include(self, other): - for name, (tp, quals) in other._declarations.items(): - if name.startswith('anonymous $enum_$'): - continue # fix for test_anonymous_enum_include - kind = name.split(' ', 1)[0] - if kind in ('struct', 'union', 'enum', 'anonymous', 'typedef'): - self._declare(name, tp, included=True, quals=quals) - for k, v in other._int_constants.items(): - self._add_constants(k, v) - - def _get_unknown_type(self, decl): - typenames = decl.type.type.names - if typenames == ['__dotdotdot__']: - return model.unknown_type(decl.name) - - if typenames == ['__dotdotdotint__']: - if self._uses_new_feature is None: - self._uses_new_feature = "'typedef int... %s'" % decl.name - return model.UnknownIntegerType(decl.name) - - if typenames == ['__dotdotdotfloat__']: - # note: not for 'long double' so far - if self._uses_new_feature is None: - self._uses_new_feature = "'typedef float... %s'" % decl.name - return model.UnknownFloatType(decl.name) - - raise FFIError(':%d: unsupported usage of "..." in typedef' - % decl.coord.line) - - def _get_unknown_ptr_type(self, decl): - if decl.type.type.type.names == ['__dotdotdot__']: - return model.unknown_ptr_type(decl.name) - raise FFIError(':%d: unsupported usage of "..." in typedef' - % decl.coord.line) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/error.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/error.py deleted file mode 100644 index 0a27247c..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/error.py +++ /dev/null @@ -1,31 +0,0 @@ - -class FFIError(Exception): - __module__ = 'cffi' - -class CDefError(Exception): - __module__ = 'cffi' - def __str__(self): - try: - current_decl = self.args[1] - filename = current_decl.coord.file - linenum = current_decl.coord.line - prefix = '%s:%d: ' % (filename, linenum) - except (AttributeError, TypeError, IndexError): - prefix = '' - return '%s%s' % (prefix, self.args[0]) - -class VerificationError(Exception): - """ An error raised when verification fails - """ - __module__ = 'cffi' - -class VerificationMissing(Exception): - """ An error raised when incomplete structures are passed into - cdef, but no verification has been done - """ - __module__ = 'cffi' - -class PkgConfigError(Exception): - """ An error raised for missing modules in pkg-config - """ - __module__ = 'cffi' diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/ffiplatform.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/ffiplatform.py deleted file mode 100644 index 85313460..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/ffiplatform.py +++ /dev/null @@ -1,127 +0,0 @@ -import sys, os -from .error import VerificationError - - -LIST_OF_FILE_NAMES = ['sources', 'include_dirs', 'library_dirs', - 'extra_objects', 'depends'] - -def get_extension(srcfilename, modname, sources=(), **kwds): - _hack_at_distutils() - from distutils.core import Extension - allsources = [srcfilename] - for src in sources: - allsources.append(os.path.normpath(src)) - return Extension(name=modname, sources=allsources, **kwds) - -def compile(tmpdir, ext, compiler_verbose=0, debug=None): - """Compile a C extension module using distutils.""" - - _hack_at_distutils() - saved_environ = os.environ.copy() - try: - outputfilename = _build(tmpdir, ext, compiler_verbose, debug) - outputfilename = os.path.abspath(outputfilename) - finally: - # workaround for a distutils bugs where some env vars can - # become longer and longer every time it is used - for key, value in saved_environ.items(): - if os.environ.get(key) != value: - os.environ[key] = value - return outputfilename - -def _build(tmpdir, ext, compiler_verbose=0, debug=None): - # XXX compact but horrible :-( - from distutils.core import Distribution - import distutils.errors, distutils.log - # - dist = Distribution({'ext_modules': [ext]}) - dist.parse_config_files() - options = dist.get_option_dict('build_ext') - if debug is None: - debug = sys.flags.debug - options['debug'] = ('ffiplatform', debug) - options['force'] = ('ffiplatform', True) - options['build_lib'] = ('ffiplatform', tmpdir) - options['build_temp'] = ('ffiplatform', tmpdir) - # - try: - old_level = distutils.log.set_threshold(0) or 0 - try: - distutils.log.set_verbosity(compiler_verbose) - dist.run_command('build_ext') - cmd_obj = dist.get_command_obj('build_ext') - [soname] = cmd_obj.get_outputs() - finally: - distutils.log.set_threshold(old_level) - except (distutils.errors.CompileError, - distutils.errors.LinkError) as e: - raise VerificationError('%s: %s' % (e.__class__.__name__, e)) - # - return soname - -try: - from os.path import samefile -except ImportError: - def samefile(f1, f2): - return os.path.abspath(f1) == os.path.abspath(f2) - -def maybe_relative_path(path): - if not os.path.isabs(path): - return path # already relative - dir = path - names = [] - while True: - prevdir = dir - dir, name = os.path.split(prevdir) - if dir == prevdir or not dir: - return path # failed to make it relative - names.append(name) - try: - if samefile(dir, os.curdir): - names.reverse() - return os.path.join(*names) - except OSError: - pass - -# ____________________________________________________________ - -try: - int_or_long = (int, long) - import cStringIO -except NameError: - int_or_long = int # Python 3 - import io as cStringIO - -def _flatten(x, f): - if isinstance(x, str): - f.write('%ds%s' % (len(x), x)) - elif isinstance(x, dict): - keys = sorted(x.keys()) - f.write('%dd' % len(keys)) - for key in keys: - _flatten(key, f) - _flatten(x[key], f) - elif isinstance(x, (list, tuple)): - f.write('%dl' % len(x)) - for value in x: - _flatten(value, f) - elif isinstance(x, int_or_long): - f.write('%di' % (x,)) - else: - raise TypeError( - "the keywords to verify() contains unsupported object %r" % (x,)) - -def flatten(x): - f = cStringIO.StringIO() - _flatten(x, f) - return f.getvalue() - -def _hack_at_distutils(): - # Windows-only workaround for some configurations: see - # https://bugs.python.org/issue23246 (Python 2.7 with - # a specific MS compiler suite download) - if sys.platform == "win32": - try: - import setuptools # for side-effects, patches distutils - except ImportError: - pass diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/lock.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/lock.py deleted file mode 100644 index db91b715..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/lock.py +++ /dev/null @@ -1,30 +0,0 @@ -import sys - -if sys.version_info < (3,): - try: - from thread import allocate_lock - except ImportError: - from dummy_thread import allocate_lock -else: - try: - from _thread import allocate_lock - except ImportError: - from _dummy_thread import allocate_lock - - -##import sys -##l1 = allocate_lock - -##class allocate_lock(object): -## def __init__(self): -## self._real = l1() -## def __enter__(self): -## for i in range(4, 0, -1): -## print sys._getframe(i).f_code -## print -## return self._real.__enter__() -## def __exit__(self, *args): -## return self._real.__exit__(*args) -## def acquire(self, f): -## assert f is False -## return self._real.acquire(f) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/model.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/model.py deleted file mode 100644 index ad1c1764..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/model.py +++ /dev/null @@ -1,617 +0,0 @@ -import types -import weakref - -from .lock import allocate_lock -from .error import CDefError, VerificationError, VerificationMissing - -# type qualifiers -Q_CONST = 0x01 -Q_RESTRICT = 0x02 -Q_VOLATILE = 0x04 - -def qualify(quals, replace_with): - if quals & Q_CONST: - replace_with = ' const ' + replace_with.lstrip() - if quals & Q_VOLATILE: - replace_with = ' volatile ' + replace_with.lstrip() - if quals & Q_RESTRICT: - # It seems that __restrict is supported by gcc and msvc. - # If you hit some different compiler, add a #define in - # _cffi_include.h for it (and in its copies, documented there) - replace_with = ' __restrict ' + replace_with.lstrip() - return replace_with - - -class BaseTypeByIdentity(object): - is_array_type = False - is_raw_function = False - - def get_c_name(self, replace_with='', context='a C file', quals=0): - result = self.c_name_with_marker - assert result.count('&') == 1 - # some logic duplication with ffi.getctype()... :-( - replace_with = replace_with.strip() - if replace_with: - if replace_with.startswith('*') and '&[' in result: - replace_with = '(%s)' % replace_with - elif not replace_with[0] in '[(': - replace_with = ' ' + replace_with - replace_with = qualify(quals, replace_with) - result = result.replace('&', replace_with) - if '$' in result: - raise VerificationError( - "cannot generate '%s' in %s: unknown type name" - % (self._get_c_name(), context)) - return result - - def _get_c_name(self): - return self.c_name_with_marker.replace('&', '') - - def has_c_name(self): - return '$' not in self._get_c_name() - - def is_integer_type(self): - return False - - def get_cached_btype(self, ffi, finishlist, can_delay=False): - try: - BType = ffi._cached_btypes[self] - except KeyError: - BType = self.build_backend_type(ffi, finishlist) - BType2 = ffi._cached_btypes.setdefault(self, BType) - assert BType2 is BType - return BType - - def __repr__(self): - return '<%s>' % (self._get_c_name(),) - - def _get_items(self): - return [(name, getattr(self, name)) for name in self._attrs_] - - -class BaseType(BaseTypeByIdentity): - - def __eq__(self, other): - return (self.__class__ == other.__class__ and - self._get_items() == other._get_items()) - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash((self.__class__, tuple(self._get_items()))) - - -class VoidType(BaseType): - _attrs_ = () - - def __init__(self): - self.c_name_with_marker = 'void&' - - def build_backend_type(self, ffi, finishlist): - return global_cache(self, ffi, 'new_void_type') - -void_type = VoidType() - - -class BasePrimitiveType(BaseType): - def is_complex_type(self): - return False - - -class PrimitiveType(BasePrimitiveType): - _attrs_ = ('name',) - - ALL_PRIMITIVE_TYPES = { - 'char': 'c', - 'short': 'i', - 'int': 'i', - 'long': 'i', - 'long long': 'i', - 'signed char': 'i', - 'unsigned char': 'i', - 'unsigned short': 'i', - 'unsigned int': 'i', - 'unsigned long': 'i', - 'unsigned long long': 'i', - 'float': 'f', - 'double': 'f', - 'long double': 'f', - 'float _Complex': 'j', - 'double _Complex': 'j', - '_Bool': 'i', - # the following types are not primitive in the C sense - 'wchar_t': 'c', - 'char16_t': 'c', - 'char32_t': 'c', - 'int8_t': 'i', - 'uint8_t': 'i', - 'int16_t': 'i', - 'uint16_t': 'i', - 'int32_t': 'i', - 'uint32_t': 'i', - 'int64_t': 'i', - 'uint64_t': 'i', - 'int_least8_t': 'i', - 'uint_least8_t': 'i', - 'int_least16_t': 'i', - 'uint_least16_t': 'i', - 'int_least32_t': 'i', - 'uint_least32_t': 'i', - 'int_least64_t': 'i', - 'uint_least64_t': 'i', - 'int_fast8_t': 'i', - 'uint_fast8_t': 'i', - 'int_fast16_t': 'i', - 'uint_fast16_t': 'i', - 'int_fast32_t': 'i', - 'uint_fast32_t': 'i', - 'int_fast64_t': 'i', - 'uint_fast64_t': 'i', - 'intptr_t': 'i', - 'uintptr_t': 'i', - 'intmax_t': 'i', - 'uintmax_t': 'i', - 'ptrdiff_t': 'i', - 'size_t': 'i', - 'ssize_t': 'i', - } - - def __init__(self, name): - assert name in self.ALL_PRIMITIVE_TYPES - self.name = name - self.c_name_with_marker = name + '&' - - def is_char_type(self): - return self.ALL_PRIMITIVE_TYPES[self.name] == 'c' - def is_integer_type(self): - return self.ALL_PRIMITIVE_TYPES[self.name] == 'i' - def is_float_type(self): - return self.ALL_PRIMITIVE_TYPES[self.name] == 'f' - def is_complex_type(self): - return self.ALL_PRIMITIVE_TYPES[self.name] == 'j' - - def build_backend_type(self, ffi, finishlist): - return global_cache(self, ffi, 'new_primitive_type', self.name) - - -class UnknownIntegerType(BasePrimitiveType): - _attrs_ = ('name',) - - def __init__(self, name): - self.name = name - self.c_name_with_marker = name + '&' - - def is_integer_type(self): - return True - - def build_backend_type(self, ffi, finishlist): - raise NotImplementedError("integer type '%s' can only be used after " - "compilation" % self.name) - -class UnknownFloatType(BasePrimitiveType): - _attrs_ = ('name', ) - - def __init__(self, name): - self.name = name - self.c_name_with_marker = name + '&' - - def build_backend_type(self, ffi, finishlist): - raise NotImplementedError("float type '%s' can only be used after " - "compilation" % self.name) - - -class BaseFunctionType(BaseType): - _attrs_ = ('args', 'result', 'ellipsis', 'abi') - - def __init__(self, args, result, ellipsis, abi=None): - self.args = args - self.result = result - self.ellipsis = ellipsis - self.abi = abi - # - reprargs = [arg._get_c_name() for arg in self.args] - if self.ellipsis: - reprargs.append('...') - reprargs = reprargs or ['void'] - replace_with = self._base_pattern % (', '.join(reprargs),) - if abi is not None: - replace_with = replace_with[:1] + abi + ' ' + replace_with[1:] - self.c_name_with_marker = ( - self.result.c_name_with_marker.replace('&', replace_with)) - - -class RawFunctionType(BaseFunctionType): - # Corresponds to a C type like 'int(int)', which is the C type of - # a function, but not a pointer-to-function. The backend has no - # notion of such a type; it's used temporarily by parsing. - _base_pattern = '(&)(%s)' - is_raw_function = True - - def build_backend_type(self, ffi, finishlist): - raise CDefError("cannot render the type %r: it is a function " - "type, not a pointer-to-function type" % (self,)) - - def as_function_pointer(self): - return FunctionPtrType(self.args, self.result, self.ellipsis, self.abi) - - -class FunctionPtrType(BaseFunctionType): - _base_pattern = '(*&)(%s)' - - def build_backend_type(self, ffi, finishlist): - result = self.result.get_cached_btype(ffi, finishlist) - args = [] - for tp in self.args: - args.append(tp.get_cached_btype(ffi, finishlist)) - abi_args = () - if self.abi == "__stdcall": - if not self.ellipsis: # __stdcall ignored for variadic funcs - try: - abi_args = (ffi._backend.FFI_STDCALL,) - except AttributeError: - pass - return global_cache(self, ffi, 'new_function_type', - tuple(args), result, self.ellipsis, *abi_args) - - def as_raw_function(self): - return RawFunctionType(self.args, self.result, self.ellipsis, self.abi) - - -class PointerType(BaseType): - _attrs_ = ('totype', 'quals') - - def __init__(self, totype, quals=0): - self.totype = totype - self.quals = quals - extra = qualify(quals, " *&") - if totype.is_array_type: - extra = "(%s)" % (extra.lstrip(),) - self.c_name_with_marker = totype.c_name_with_marker.replace('&', extra) - - def build_backend_type(self, ffi, finishlist): - BItem = self.totype.get_cached_btype(ffi, finishlist, can_delay=True) - return global_cache(self, ffi, 'new_pointer_type', BItem) - -voidp_type = PointerType(void_type) - -def ConstPointerType(totype): - return PointerType(totype, Q_CONST) - -const_voidp_type = ConstPointerType(void_type) - - -class NamedPointerType(PointerType): - _attrs_ = ('totype', 'name') - - def __init__(self, totype, name, quals=0): - PointerType.__init__(self, totype, quals) - self.name = name - self.c_name_with_marker = name + '&' - - -class ArrayType(BaseType): - _attrs_ = ('item', 'length') - is_array_type = True - - def __init__(self, item, length): - self.item = item - self.length = length - # - if length is None: - brackets = '&[]' - elif length == '...': - brackets = '&[/*...*/]' - else: - brackets = '&[%s]' % length - self.c_name_with_marker = ( - self.item.c_name_with_marker.replace('&', brackets)) - - def length_is_unknown(self): - return isinstance(self.length, str) - - def resolve_length(self, newlength): - return ArrayType(self.item, newlength) - - def build_backend_type(self, ffi, finishlist): - if self.length_is_unknown(): - raise CDefError("cannot render the type %r: unknown length" % - (self,)) - self.item.get_cached_btype(ffi, finishlist) # force the item BType - BPtrItem = PointerType(self.item).get_cached_btype(ffi, finishlist) - return global_cache(self, ffi, 'new_array_type', BPtrItem, self.length) - -char_array_type = ArrayType(PrimitiveType('char'), None) - - -class StructOrUnionOrEnum(BaseTypeByIdentity): - _attrs_ = ('name',) - forcename = None - - def build_c_name_with_marker(self): - name = self.forcename or '%s %s' % (self.kind, self.name) - self.c_name_with_marker = name + '&' - - def force_the_name(self, forcename): - self.forcename = forcename - self.build_c_name_with_marker() - - def get_official_name(self): - assert self.c_name_with_marker.endswith('&') - return self.c_name_with_marker[:-1] - - -class StructOrUnion(StructOrUnionOrEnum): - fixedlayout = None - completed = 0 - partial = False - packed = 0 - - def __init__(self, name, fldnames, fldtypes, fldbitsize, fldquals=None): - self.name = name - self.fldnames = fldnames - self.fldtypes = fldtypes - self.fldbitsize = fldbitsize - self.fldquals = fldquals - self.build_c_name_with_marker() - - def anonymous_struct_fields(self): - if self.fldtypes is not None: - for name, type in zip(self.fldnames, self.fldtypes): - if name == '' and isinstance(type, StructOrUnion): - yield type - - def enumfields(self, expand_anonymous_struct_union=True): - fldquals = self.fldquals - if fldquals is None: - fldquals = (0,) * len(self.fldnames) - for name, type, bitsize, quals in zip(self.fldnames, self.fldtypes, - self.fldbitsize, fldquals): - if (name == '' and isinstance(type, StructOrUnion) - and expand_anonymous_struct_union): - # nested anonymous struct/union - for result in type.enumfields(): - yield result - else: - yield (name, type, bitsize, quals) - - def force_flatten(self): - # force the struct or union to have a declaration that lists - # directly all fields returned by enumfields(), flattening - # nested anonymous structs/unions. - names = [] - types = [] - bitsizes = [] - fldquals = [] - for name, type, bitsize, quals in self.enumfields(): - names.append(name) - types.append(type) - bitsizes.append(bitsize) - fldquals.append(quals) - self.fldnames = tuple(names) - self.fldtypes = tuple(types) - self.fldbitsize = tuple(bitsizes) - self.fldquals = tuple(fldquals) - - def get_cached_btype(self, ffi, finishlist, can_delay=False): - BType = StructOrUnionOrEnum.get_cached_btype(self, ffi, finishlist, - can_delay) - if not can_delay: - self.finish_backend_type(ffi, finishlist) - return BType - - def finish_backend_type(self, ffi, finishlist): - if self.completed: - if self.completed != 2: - raise NotImplementedError("recursive structure declaration " - "for '%s'" % (self.name,)) - return - BType = ffi._cached_btypes[self] - # - self.completed = 1 - # - if self.fldtypes is None: - pass # not completing it: it's an opaque struct - # - elif self.fixedlayout is None: - fldtypes = [tp.get_cached_btype(ffi, finishlist) - for tp in self.fldtypes] - lst = list(zip(self.fldnames, fldtypes, self.fldbitsize)) - extra_flags = () - if self.packed: - if self.packed == 1: - extra_flags = (8,) # SF_PACKED - else: - extra_flags = (0, self.packed) - ffi._backend.complete_struct_or_union(BType, lst, self, - -1, -1, *extra_flags) - # - else: - fldtypes = [] - fieldofs, fieldsize, totalsize, totalalignment = self.fixedlayout - for i in range(len(self.fldnames)): - fsize = fieldsize[i] - ftype = self.fldtypes[i] - # - if isinstance(ftype, ArrayType) and ftype.length_is_unknown(): - # fix the length to match the total size - BItemType = ftype.item.get_cached_btype(ffi, finishlist) - nlen, nrest = divmod(fsize, ffi.sizeof(BItemType)) - if nrest != 0: - self._verification_error( - "field '%s.%s' has a bogus size?" % ( - self.name, self.fldnames[i] or '{}')) - ftype = ftype.resolve_length(nlen) - self.fldtypes = (self.fldtypes[:i] + (ftype,) + - self.fldtypes[i+1:]) - # - BFieldType = ftype.get_cached_btype(ffi, finishlist) - if isinstance(ftype, ArrayType) and ftype.length is None: - assert fsize == 0 - else: - bitemsize = ffi.sizeof(BFieldType) - if bitemsize != fsize: - self._verification_error( - "field '%s.%s' is declared as %d bytes, but is " - "really %d bytes" % (self.name, - self.fldnames[i] or '{}', - bitemsize, fsize)) - fldtypes.append(BFieldType) - # - lst = list(zip(self.fldnames, fldtypes, self.fldbitsize, fieldofs)) - ffi._backend.complete_struct_or_union(BType, lst, self, - totalsize, totalalignment) - self.completed = 2 - - def _verification_error(self, msg): - raise VerificationError(msg) - - def check_not_partial(self): - if self.partial and self.fixedlayout is None: - raise VerificationMissing(self._get_c_name()) - - def build_backend_type(self, ffi, finishlist): - self.check_not_partial() - finishlist.append(self) - # - return global_cache(self, ffi, 'new_%s_type' % self.kind, - self.get_official_name(), key=self) - - -class StructType(StructOrUnion): - kind = 'struct' - - -class UnionType(StructOrUnion): - kind = 'union' - - -class EnumType(StructOrUnionOrEnum): - kind = 'enum' - partial = False - partial_resolved = False - - def __init__(self, name, enumerators, enumvalues, baseinttype=None): - self.name = name - self.enumerators = enumerators - self.enumvalues = enumvalues - self.baseinttype = baseinttype - self.build_c_name_with_marker() - - def force_the_name(self, forcename): - StructOrUnionOrEnum.force_the_name(self, forcename) - if self.forcename is None: - name = self.get_official_name() - self.forcename = '$' + name.replace(' ', '_') - - def check_not_partial(self): - if self.partial and not self.partial_resolved: - raise VerificationMissing(self._get_c_name()) - - def build_backend_type(self, ffi, finishlist): - self.check_not_partial() - base_btype = self.build_baseinttype(ffi, finishlist) - return global_cache(self, ffi, 'new_enum_type', - self.get_official_name(), - self.enumerators, self.enumvalues, - base_btype, key=self) - - def build_baseinttype(self, ffi, finishlist): - if self.baseinttype is not None: - return self.baseinttype.get_cached_btype(ffi, finishlist) - # - if self.enumvalues: - smallest_value = min(self.enumvalues) - largest_value = max(self.enumvalues) - else: - import warnings - try: - # XXX! The goal is to ensure that the warnings.warn() - # will not suppress the warning. We want to get it - # several times if we reach this point several times. - __warningregistry__.clear() - except NameError: - pass - warnings.warn("%r has no values explicitly defined; " - "guessing that it is equivalent to 'unsigned int'" - % self._get_c_name()) - smallest_value = largest_value = 0 - if smallest_value < 0: # needs a signed type - sign = 1 - candidate1 = PrimitiveType("int") - candidate2 = PrimitiveType("long") - else: - sign = 0 - candidate1 = PrimitiveType("unsigned int") - candidate2 = PrimitiveType("unsigned long") - btype1 = candidate1.get_cached_btype(ffi, finishlist) - btype2 = candidate2.get_cached_btype(ffi, finishlist) - size1 = ffi.sizeof(btype1) - size2 = ffi.sizeof(btype2) - if (smallest_value >= ((-1) << (8*size1-1)) and - largest_value < (1 << (8*size1-sign))): - return btype1 - if (smallest_value >= ((-1) << (8*size2-1)) and - largest_value < (1 << (8*size2-sign))): - return btype2 - raise CDefError("%s values don't all fit into either 'long' " - "or 'unsigned long'" % self._get_c_name()) - -def unknown_type(name, structname=None): - if structname is None: - structname = '$%s' % name - tp = StructType(structname, None, None, None) - tp.force_the_name(name) - tp.origin = "unknown_type" - return tp - -def unknown_ptr_type(name, structname=None): - if structname is None: - structname = '$$%s' % name - tp = StructType(structname, None, None, None) - return NamedPointerType(tp, name) - - -global_lock = allocate_lock() -_typecache_cffi_backend = weakref.WeakValueDictionary() - -def get_typecache(backend): - # returns _typecache_cffi_backend if backend is the _cffi_backend - # module, or type(backend).__typecache if backend is an instance of - # CTypesBackend (or some FakeBackend class during tests) - if isinstance(backend, types.ModuleType): - return _typecache_cffi_backend - with global_lock: - if not hasattr(type(backend), '__typecache'): - type(backend).__typecache = weakref.WeakValueDictionary() - return type(backend).__typecache - -def global_cache(srctype, ffi, funcname, *args, **kwds): - key = kwds.pop('key', (funcname, args)) - assert not kwds - try: - return ffi._typecache[key] - except KeyError: - pass - try: - res = getattr(ffi._backend, funcname)(*args) - except NotImplementedError as e: - raise NotImplementedError("%s: %r: %s" % (funcname, srctype, e)) - # note that setdefault() on WeakValueDictionary is not atomic - # and contains a rare bug (http://bugs.python.org/issue19542); - # we have to use a lock and do it ourselves - cache = ffi._typecache - with global_lock: - res1 = cache.get(key) - if res1 is None: - cache[key] = res - return res - else: - return res1 - -def pointer_cache(ffi, BType): - return global_cache('?', ffi, 'new_pointer_type', BType) - -def attach_exception_info(e, name): - if e.args and type(e.args[0]) is str: - e.args = ('%s: %s' % (name, e.args[0]),) + e.args[1:] diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/parse_c_type.h b/IKEA_scraper/.venv/Lib/site-packages/cffi/parse_c_type.h deleted file mode 100644 index 84e4ef85..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/parse_c_type.h +++ /dev/null @@ -1,181 +0,0 @@ - -/* This part is from file 'cffi/parse_c_type.h'. It is copied at the - beginning of C sources generated by CFFI's ffi.set_source(). */ - -typedef void *_cffi_opcode_t; - -#define _CFFI_OP(opcode, arg) (_cffi_opcode_t)(opcode | (((uintptr_t)(arg)) << 8)) -#define _CFFI_GETOP(cffi_opcode) ((unsigned char)(uintptr_t)cffi_opcode) -#define _CFFI_GETARG(cffi_opcode) (((intptr_t)cffi_opcode) >> 8) - -#define _CFFI_OP_PRIMITIVE 1 -#define _CFFI_OP_POINTER 3 -#define _CFFI_OP_ARRAY 5 -#define _CFFI_OP_OPEN_ARRAY 7 -#define _CFFI_OP_STRUCT_UNION 9 -#define _CFFI_OP_ENUM 11 -#define _CFFI_OP_FUNCTION 13 -#define _CFFI_OP_FUNCTION_END 15 -#define _CFFI_OP_NOOP 17 -#define _CFFI_OP_BITFIELD 19 -#define _CFFI_OP_TYPENAME 21 -#define _CFFI_OP_CPYTHON_BLTN_V 23 // varargs -#define _CFFI_OP_CPYTHON_BLTN_N 25 // noargs -#define _CFFI_OP_CPYTHON_BLTN_O 27 // O (i.e. a single arg) -#define _CFFI_OP_CONSTANT 29 -#define _CFFI_OP_CONSTANT_INT 31 -#define _CFFI_OP_GLOBAL_VAR 33 -#define _CFFI_OP_DLOPEN_FUNC 35 -#define _CFFI_OP_DLOPEN_CONST 37 -#define _CFFI_OP_GLOBAL_VAR_F 39 -#define _CFFI_OP_EXTERN_PYTHON 41 - -#define _CFFI_PRIM_VOID 0 -#define _CFFI_PRIM_BOOL 1 -#define _CFFI_PRIM_CHAR 2 -#define _CFFI_PRIM_SCHAR 3 -#define _CFFI_PRIM_UCHAR 4 -#define _CFFI_PRIM_SHORT 5 -#define _CFFI_PRIM_USHORT 6 -#define _CFFI_PRIM_INT 7 -#define _CFFI_PRIM_UINT 8 -#define _CFFI_PRIM_LONG 9 -#define _CFFI_PRIM_ULONG 10 -#define _CFFI_PRIM_LONGLONG 11 -#define _CFFI_PRIM_ULONGLONG 12 -#define _CFFI_PRIM_FLOAT 13 -#define _CFFI_PRIM_DOUBLE 14 -#define _CFFI_PRIM_LONGDOUBLE 15 - -#define _CFFI_PRIM_WCHAR 16 -#define _CFFI_PRIM_INT8 17 -#define _CFFI_PRIM_UINT8 18 -#define _CFFI_PRIM_INT16 19 -#define _CFFI_PRIM_UINT16 20 -#define _CFFI_PRIM_INT32 21 -#define _CFFI_PRIM_UINT32 22 -#define _CFFI_PRIM_INT64 23 -#define _CFFI_PRIM_UINT64 24 -#define _CFFI_PRIM_INTPTR 25 -#define _CFFI_PRIM_UINTPTR 26 -#define _CFFI_PRIM_PTRDIFF 27 -#define _CFFI_PRIM_SIZE 28 -#define _CFFI_PRIM_SSIZE 29 -#define _CFFI_PRIM_INT_LEAST8 30 -#define _CFFI_PRIM_UINT_LEAST8 31 -#define _CFFI_PRIM_INT_LEAST16 32 -#define _CFFI_PRIM_UINT_LEAST16 33 -#define _CFFI_PRIM_INT_LEAST32 34 -#define _CFFI_PRIM_UINT_LEAST32 35 -#define _CFFI_PRIM_INT_LEAST64 36 -#define _CFFI_PRIM_UINT_LEAST64 37 -#define _CFFI_PRIM_INT_FAST8 38 -#define _CFFI_PRIM_UINT_FAST8 39 -#define _CFFI_PRIM_INT_FAST16 40 -#define _CFFI_PRIM_UINT_FAST16 41 -#define _CFFI_PRIM_INT_FAST32 42 -#define _CFFI_PRIM_UINT_FAST32 43 -#define _CFFI_PRIM_INT_FAST64 44 -#define _CFFI_PRIM_UINT_FAST64 45 -#define _CFFI_PRIM_INTMAX 46 -#define _CFFI_PRIM_UINTMAX 47 -#define _CFFI_PRIM_FLOATCOMPLEX 48 -#define _CFFI_PRIM_DOUBLECOMPLEX 49 -#define _CFFI_PRIM_CHAR16 50 -#define _CFFI_PRIM_CHAR32 51 - -#define _CFFI__NUM_PRIM 52 -#define _CFFI__UNKNOWN_PRIM (-1) -#define _CFFI__UNKNOWN_FLOAT_PRIM (-2) -#define _CFFI__UNKNOWN_LONG_DOUBLE (-3) - -#define _CFFI__IO_FILE_STRUCT (-1) - - -struct _cffi_global_s { - const char *name; - void *address; - _cffi_opcode_t type_op; - void *size_or_direct_fn; // OP_GLOBAL_VAR: size, or 0 if unknown - // OP_CPYTHON_BLTN_*: addr of direct function -}; - -struct _cffi_getconst_s { - unsigned long long value; - const struct _cffi_type_context_s *ctx; - int gindex; -}; - -struct _cffi_struct_union_s { - const char *name; - int type_index; // -> _cffi_types, on a OP_STRUCT_UNION - int flags; // _CFFI_F_* flags below - size_t size; - int alignment; - int first_field_index; // -> _cffi_fields array - int num_fields; -}; -#define _CFFI_F_UNION 0x01 // is a union, not a struct -#define _CFFI_F_CHECK_FIELDS 0x02 // complain if fields are not in the - // "standard layout" or if some are missing -#define _CFFI_F_PACKED 0x04 // for CHECK_FIELDS, assume a packed struct -#define _CFFI_F_EXTERNAL 0x08 // in some other ffi.include() -#define _CFFI_F_OPAQUE 0x10 // opaque - -struct _cffi_field_s { - const char *name; - size_t field_offset; - size_t field_size; - _cffi_opcode_t field_type_op; -}; - -struct _cffi_enum_s { - const char *name; - int type_index; // -> _cffi_types, on a OP_ENUM - int type_prim; // _CFFI_PRIM_xxx - const char *enumerators; // comma-delimited string -}; - -struct _cffi_typename_s { - const char *name; - int type_index; /* if opaque, points to a possibly artificial - OP_STRUCT which is itself opaque */ -}; - -struct _cffi_type_context_s { - _cffi_opcode_t *types; - const struct _cffi_global_s *globals; - const struct _cffi_field_s *fields; - const struct _cffi_struct_union_s *struct_unions; - const struct _cffi_enum_s *enums; - const struct _cffi_typename_s *typenames; - int num_globals; - int num_struct_unions; - int num_enums; - int num_typenames; - const char *const *includes; - int num_types; - int flags; /* future extension */ -}; - -struct _cffi_parse_info_s { - const struct _cffi_type_context_s *ctx; - _cffi_opcode_t *output; - unsigned int output_size; - size_t error_location; - const char *error_message; -}; - -struct _cffi_externpy_s { - const char *name; - size_t size_of_result; - void *reserved1, *reserved2; -}; - -#ifdef _CFFI_INTERNAL -static int parse_c_type(struct _cffi_parse_info_s *info, const char *input); -static int search_in_globals(const struct _cffi_type_context_s *ctx, - const char *search, size_t search_len); -static int search_in_struct_unions(const struct _cffi_type_context_s *ctx, - const char *search, size_t search_len); -#endif diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/pkgconfig.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/pkgconfig.py deleted file mode 100644 index 5c93f15a..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/pkgconfig.py +++ /dev/null @@ -1,121 +0,0 @@ -# pkg-config, https://www.freedesktop.org/wiki/Software/pkg-config/ integration for cffi -import sys, os, subprocess - -from .error import PkgConfigError - - -def merge_flags(cfg1, cfg2): - """Merge values from cffi config flags cfg2 to cf1 - - Example: - merge_flags({"libraries": ["one"]}, {"libraries": ["two"]}) - {"libraries": ["one", "two"]} - """ - for key, value in cfg2.items(): - if key not in cfg1: - cfg1[key] = value - else: - if not isinstance(cfg1[key], list): - raise TypeError("cfg1[%r] should be a list of strings" % (key,)) - if not isinstance(value, list): - raise TypeError("cfg2[%r] should be a list of strings" % (key,)) - cfg1[key].extend(value) - return cfg1 - - -def call(libname, flag, encoding=sys.getfilesystemencoding()): - """Calls pkg-config and returns the output if found - """ - a = ["pkg-config", "--print-errors"] - a.append(flag) - a.append(libname) - try: - pc = subprocess.Popen(a, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - except EnvironmentError as e: - raise PkgConfigError("cannot run pkg-config: %s" % (str(e).strip(),)) - - bout, berr = pc.communicate() - if pc.returncode != 0: - try: - berr = berr.decode(encoding) - except Exception: - pass - raise PkgConfigError(berr.strip()) - - if sys.version_info >= (3,) and not isinstance(bout, str): # Python 3.x - try: - bout = bout.decode(encoding) - except UnicodeDecodeError: - raise PkgConfigError("pkg-config %s %s returned bytes that cannot " - "be decoded with encoding %r:\n%r" % - (flag, libname, encoding, bout)) - - if os.altsep != '\\' and '\\' in bout: - raise PkgConfigError("pkg-config %s %s returned an unsupported " - "backslash-escaped output:\n%r" % - (flag, libname, bout)) - return bout - - -def flags_from_pkgconfig(libs): - r"""Return compiler line flags for FFI.set_source based on pkg-config output - - Usage - ... - ffibuilder.set_source("_foo", pkgconfig = ["libfoo", "libbar >= 1.8.3"]) - - If pkg-config is installed on build machine, then arguments include_dirs, - library_dirs, libraries, define_macros, extra_compile_args and - extra_link_args are extended with an output of pkg-config for libfoo and - libbar. - - Raises PkgConfigError in case the pkg-config call fails. - """ - - def get_include_dirs(string): - return [x[2:] for x in string.split() if x.startswith("-I")] - - def get_library_dirs(string): - return [x[2:] for x in string.split() if x.startswith("-L")] - - def get_libraries(string): - return [x[2:] for x in string.split() if x.startswith("-l")] - - # convert -Dfoo=bar to list of tuples [("foo", "bar")] expected by distutils - def get_macros(string): - def _macro(x): - x = x[2:] # drop "-D" - if '=' in x: - return tuple(x.split("=", 1)) # "-Dfoo=bar" => ("foo", "bar") - else: - return (x, None) # "-Dfoo" => ("foo", None) - return [_macro(x) for x in string.split() if x.startswith("-D")] - - def get_other_cflags(string): - return [x for x in string.split() if not x.startswith("-I") and - not x.startswith("-D")] - - def get_other_libs(string): - return [x for x in string.split() if not x.startswith("-L") and - not x.startswith("-l")] - - # return kwargs for given libname - def kwargs(libname): - fse = sys.getfilesystemencoding() - all_cflags = call(libname, "--cflags") - all_libs = call(libname, "--libs") - return { - "include_dirs": get_include_dirs(all_cflags), - "library_dirs": get_library_dirs(all_libs), - "libraries": get_libraries(all_libs), - "define_macros": get_macros(all_cflags), - "extra_compile_args": get_other_cflags(all_cflags), - "extra_link_args": get_other_libs(all_libs), - } - - # merge all arguments together - ret = {} - for libname in libs: - lib_flags = kwargs(libname) - merge_flags(ret, lib_flags) - return ret diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/recompiler.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/recompiler.py deleted file mode 100644 index 86b37d7f..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/recompiler.py +++ /dev/null @@ -1,1581 +0,0 @@ -import os, sys, io -from . import ffiplatform, model -from .error import VerificationError -from .cffi_opcode import * - -VERSION_BASE = 0x2601 -VERSION_EMBEDDED = 0x2701 -VERSION_CHAR16CHAR32 = 0x2801 - -USE_LIMITED_API = (sys.platform != 'win32' or sys.version_info < (3, 0) or - sys.version_info >= (3, 5)) - - -class GlobalExpr: - def __init__(self, name, address, type_op, size=0, check_value=0): - self.name = name - self.address = address - self.type_op = type_op - self.size = size - self.check_value = check_value - - def as_c_expr(self): - return ' { "%s", (void *)%s, %s, (void *)%s },' % ( - self.name, self.address, self.type_op.as_c_expr(), self.size) - - def as_python_expr(self): - return "b'%s%s',%d" % (self.type_op.as_python_bytes(), self.name, - self.check_value) - -class FieldExpr: - def __init__(self, name, field_offset, field_size, fbitsize, field_type_op): - self.name = name - self.field_offset = field_offset - self.field_size = field_size - self.fbitsize = fbitsize - self.field_type_op = field_type_op - - def as_c_expr(self): - spaces = " " * len(self.name) - return (' { "%s", %s,\n' % (self.name, self.field_offset) + - ' %s %s,\n' % (spaces, self.field_size) + - ' %s %s },' % (spaces, self.field_type_op.as_c_expr())) - - def as_python_expr(self): - raise NotImplementedError - - def as_field_python_expr(self): - if self.field_type_op.op == OP_NOOP: - size_expr = '' - elif self.field_type_op.op == OP_BITFIELD: - size_expr = format_four_bytes(self.fbitsize) - else: - raise NotImplementedError - return "b'%s%s%s'" % (self.field_type_op.as_python_bytes(), - size_expr, - self.name) - -class StructUnionExpr: - def __init__(self, name, type_index, flags, size, alignment, comment, - first_field_index, c_fields): - self.name = name - self.type_index = type_index - self.flags = flags - self.size = size - self.alignment = alignment - self.comment = comment - self.first_field_index = first_field_index - self.c_fields = c_fields - - def as_c_expr(self): - return (' { "%s", %d, %s,' % (self.name, self.type_index, self.flags) - + '\n %s, %s, ' % (self.size, self.alignment) - + '%d, %d ' % (self.first_field_index, len(self.c_fields)) - + ('/* %s */ ' % self.comment if self.comment else '') - + '},') - - def as_python_expr(self): - flags = eval(self.flags, G_FLAGS) - fields_expr = [c_field.as_field_python_expr() - for c_field in self.c_fields] - return "(b'%s%s%s',%s)" % ( - format_four_bytes(self.type_index), - format_four_bytes(flags), - self.name, - ','.join(fields_expr)) - -class EnumExpr: - def __init__(self, name, type_index, size, signed, allenums): - self.name = name - self.type_index = type_index - self.size = size - self.signed = signed - self.allenums = allenums - - def as_c_expr(self): - return (' { "%s", %d, _cffi_prim_int(%s, %s),\n' - ' "%s" },' % (self.name, self.type_index, - self.size, self.signed, self.allenums)) - - def as_python_expr(self): - prim_index = { - (1, 0): PRIM_UINT8, (1, 1): PRIM_INT8, - (2, 0): PRIM_UINT16, (2, 1): PRIM_INT16, - (4, 0): PRIM_UINT32, (4, 1): PRIM_INT32, - (8, 0): PRIM_UINT64, (8, 1): PRIM_INT64, - }[self.size, self.signed] - return "b'%s%s%s\\x00%s'" % (format_four_bytes(self.type_index), - format_four_bytes(prim_index), - self.name, self.allenums) - -class TypenameExpr: - def __init__(self, name, type_index): - self.name = name - self.type_index = type_index - - def as_c_expr(self): - return ' { "%s", %d },' % (self.name, self.type_index) - - def as_python_expr(self): - return "b'%s%s'" % (format_four_bytes(self.type_index), self.name) - - -# ____________________________________________________________ - - -class Recompiler: - _num_externpy = 0 - - def __init__(self, ffi, module_name, target_is_python=False): - self.ffi = ffi - self.module_name = module_name - self.target_is_python = target_is_python - self._version = VERSION_BASE - - def needs_version(self, ver): - self._version = max(self._version, ver) - - def collect_type_table(self): - self._typesdict = {} - self._generate("collecttype") - # - all_decls = sorted(self._typesdict, key=str) - # - # prepare all FUNCTION bytecode sequences first - self.cffi_types = [] - for tp in all_decls: - if tp.is_raw_function: - assert self._typesdict[tp] is None - self._typesdict[tp] = len(self.cffi_types) - self.cffi_types.append(tp) # placeholder - for tp1 in tp.args: - assert isinstance(tp1, (model.VoidType, - model.BasePrimitiveType, - model.PointerType, - model.StructOrUnionOrEnum, - model.FunctionPtrType)) - if self._typesdict[tp1] is None: - self._typesdict[tp1] = len(self.cffi_types) - self.cffi_types.append(tp1) # placeholder - self.cffi_types.append('END') # placeholder - # - # prepare all OTHER bytecode sequences - for tp in all_decls: - if not tp.is_raw_function and self._typesdict[tp] is None: - self._typesdict[tp] = len(self.cffi_types) - self.cffi_types.append(tp) # placeholder - if tp.is_array_type and tp.length is not None: - self.cffi_types.append('LEN') # placeholder - assert None not in self._typesdict.values() - # - # collect all structs and unions and enums - self._struct_unions = {} - self._enums = {} - for tp in all_decls: - if isinstance(tp, model.StructOrUnion): - self._struct_unions[tp] = None - elif isinstance(tp, model.EnumType): - self._enums[tp] = None - for i, tp in enumerate(sorted(self._struct_unions, - key=lambda tp: tp.name)): - self._struct_unions[tp] = i - for i, tp in enumerate(sorted(self._enums, - key=lambda tp: tp.name)): - self._enums[tp] = i - # - # emit all bytecode sequences now - for tp in all_decls: - method = getattr(self, '_emit_bytecode_' + tp.__class__.__name__) - method(tp, self._typesdict[tp]) - # - # consistency check - for op in self.cffi_types: - assert isinstance(op, CffiOp) - self.cffi_types = tuple(self.cffi_types) # don't change any more - - def _enum_fields(self, tp): - # When producing C, expand all anonymous struct/union fields. - # That's necessary to have C code checking the offsets of the - # individual fields contained in them. When producing Python, - # don't do it and instead write it like it is, with the - # corresponding fields having an empty name. Empty names are - # recognized at runtime when we import the generated Python - # file. - expand_anonymous_struct_union = not self.target_is_python - return tp.enumfields(expand_anonymous_struct_union) - - def _do_collect_type(self, tp): - if not isinstance(tp, model.BaseTypeByIdentity): - if isinstance(tp, tuple): - for x in tp: - self._do_collect_type(x) - return - if tp not in self._typesdict: - self._typesdict[tp] = None - if isinstance(tp, model.FunctionPtrType): - self._do_collect_type(tp.as_raw_function()) - elif isinstance(tp, model.StructOrUnion): - if tp.fldtypes is not None and ( - tp not in self.ffi._parser._included_declarations): - for name1, tp1, _, _ in self._enum_fields(tp): - self._do_collect_type(self._field_type(tp, name1, tp1)) - else: - for _, x in tp._get_items(): - self._do_collect_type(x) - - def _generate(self, step_name): - lst = self.ffi._parser._declarations.items() - for name, (tp, quals) in sorted(lst): - kind, realname = name.split(' ', 1) - try: - method = getattr(self, '_generate_cpy_%s_%s' % (kind, - step_name)) - except AttributeError: - raise VerificationError( - "not implemented in recompile(): %r" % name) - try: - self._current_quals = quals - method(tp, realname) - except Exception as e: - model.attach_exception_info(e, name) - raise - - # ---------- - - ALL_STEPS = ["global", "field", "struct_union", "enum", "typename"] - - def collect_step_tables(self): - # collect the declarations for '_cffi_globals', '_cffi_typenames', etc. - self._lsts = {} - for step_name in self.ALL_STEPS: - self._lsts[step_name] = [] - self._seen_struct_unions = set() - self._generate("ctx") - self._add_missing_struct_unions() - # - for step_name in self.ALL_STEPS: - lst = self._lsts[step_name] - if step_name != "field": - lst.sort(key=lambda entry: entry.name) - self._lsts[step_name] = tuple(lst) # don't change any more - # - # check for a possible internal inconsistency: _cffi_struct_unions - # should have been generated with exactly self._struct_unions - lst = self._lsts["struct_union"] - for tp, i in self._struct_unions.items(): - assert i < len(lst) - assert lst[i].name == tp.name - assert len(lst) == len(self._struct_unions) - # same with enums - lst = self._lsts["enum"] - for tp, i in self._enums.items(): - assert i < len(lst) - assert lst[i].name == tp.name - assert len(lst) == len(self._enums) - - # ---------- - - def _prnt(self, what=''): - self._f.write(what + '\n') - - def write_source_to_f(self, f, preamble): - if self.target_is_python: - assert preamble is None - self.write_py_source_to_f(f) - else: - assert preamble is not None - self.write_c_source_to_f(f, preamble) - - def _rel_readlines(self, filename): - g = open(os.path.join(os.path.dirname(__file__), filename), 'r') - lines = g.readlines() - g.close() - return lines - - def write_c_source_to_f(self, f, preamble): - self._f = f - prnt = self._prnt - if self.ffi._embedding is not None: - prnt('#define _CFFI_USE_EMBEDDING') - if not USE_LIMITED_API: - prnt('#define _CFFI_NO_LIMITED_API') - # - # first the '#include' (actually done by inlining the file's content) - lines = self._rel_readlines('_cffi_include.h') - i = lines.index('#include "parse_c_type.h"\n') - lines[i:i+1] = self._rel_readlines('parse_c_type.h') - prnt(''.join(lines)) - # - # if we have ffi._embedding != None, we give it here as a macro - # and include an extra file - base_module_name = self.module_name.split('.')[-1] - if self.ffi._embedding is not None: - prnt('#define _CFFI_MODULE_NAME "%s"' % (self.module_name,)) - prnt('static const char _CFFI_PYTHON_STARTUP_CODE[] = {') - self._print_string_literal_in_array(self.ffi._embedding) - prnt('0 };') - prnt('#ifdef PYPY_VERSION') - prnt('# define _CFFI_PYTHON_STARTUP_FUNC _cffi_pypyinit_%s' % ( - base_module_name,)) - prnt('#elif PY_MAJOR_VERSION >= 3') - prnt('# define _CFFI_PYTHON_STARTUP_FUNC PyInit_%s' % ( - base_module_name,)) - prnt('#else') - prnt('# define _CFFI_PYTHON_STARTUP_FUNC init%s' % ( - base_module_name,)) - prnt('#endif') - lines = self._rel_readlines('_embedding.h') - i = lines.index('#include "_cffi_errors.h"\n') - lines[i:i+1] = self._rel_readlines('_cffi_errors.h') - prnt(''.join(lines)) - self.needs_version(VERSION_EMBEDDED) - # - # then paste the C source given by the user, verbatim. - prnt('/************************************************************/') - prnt() - prnt(preamble) - prnt() - prnt('/************************************************************/') - prnt() - # - # the declaration of '_cffi_types' - prnt('static void *_cffi_types[] = {') - typeindex2type = dict([(i, tp) for (tp, i) in self._typesdict.items()]) - for i, op in enumerate(self.cffi_types): - comment = '' - if i in typeindex2type: - comment = ' // ' + typeindex2type[i]._get_c_name() - prnt('/* %2d */ %s,%s' % (i, op.as_c_expr(), comment)) - if not self.cffi_types: - prnt(' 0') - prnt('};') - prnt() - # - # call generate_cpy_xxx_decl(), for every xxx found from - # ffi._parser._declarations. This generates all the functions. - self._seen_constants = set() - self._generate("decl") - # - # the declaration of '_cffi_globals' and '_cffi_typenames' - nums = {} - for step_name in self.ALL_STEPS: - lst = self._lsts[step_name] - nums[step_name] = len(lst) - if nums[step_name] > 0: - prnt('static const struct _cffi_%s_s _cffi_%ss[] = {' % ( - step_name, step_name)) - for entry in lst: - prnt(entry.as_c_expr()) - prnt('};') - prnt() - # - # the declaration of '_cffi_includes' - if self.ffi._included_ffis: - prnt('static const char * const _cffi_includes[] = {') - for ffi_to_include in self.ffi._included_ffis: - try: - included_module_name, included_source = ( - ffi_to_include._assigned_source[:2]) - except AttributeError: - raise VerificationError( - "ffi object %r includes %r, but the latter has not " - "been prepared with set_source()" % ( - self.ffi, ffi_to_include,)) - if included_source is None: - raise VerificationError( - "not implemented yet: ffi.include() of a Python-based " - "ffi inside a C-based ffi") - prnt(' "%s",' % (included_module_name,)) - prnt(' NULL') - prnt('};') - prnt() - # - # the declaration of '_cffi_type_context' - prnt('static const struct _cffi_type_context_s _cffi_type_context = {') - prnt(' _cffi_types,') - for step_name in self.ALL_STEPS: - if nums[step_name] > 0: - prnt(' _cffi_%ss,' % step_name) - else: - prnt(' NULL, /* no %ss */' % step_name) - for step_name in self.ALL_STEPS: - if step_name != "field": - prnt(' %d, /* num_%ss */' % (nums[step_name], step_name)) - if self.ffi._included_ffis: - prnt(' _cffi_includes,') - else: - prnt(' NULL, /* no includes */') - prnt(' %d, /* num_types */' % (len(self.cffi_types),)) - flags = 0 - if self._num_externpy: - flags |= 1 # set to mean that we use extern "Python" - prnt(' %d, /* flags */' % flags) - prnt('};') - prnt() - # - # the init function - prnt('#ifdef __GNUC__') - prnt('# pragma GCC visibility push(default) /* for -fvisibility= */') - prnt('#endif') - prnt() - prnt('#ifdef PYPY_VERSION') - prnt('PyMODINIT_FUNC') - prnt('_cffi_pypyinit_%s(const void *p[])' % (base_module_name,)) - prnt('{') - if self._num_externpy: - prnt(' if (((intptr_t)p[0]) >= 0x0A03) {') - prnt(' _cffi_call_python_org = ' - '(void(*)(struct _cffi_externpy_s *, char *))p[1];') - prnt(' }') - prnt(' p[0] = (const void *)0x%x;' % self._version) - prnt(' p[1] = &_cffi_type_context;') - prnt('#if PY_MAJOR_VERSION >= 3') - prnt(' return NULL;') - prnt('#endif') - prnt('}') - # on Windows, distutils insists on putting init_cffi_xyz in - # 'export_symbols', so instead of fighting it, just give up and - # give it one - prnt('# ifdef _MSC_VER') - prnt(' PyMODINIT_FUNC') - prnt('# if PY_MAJOR_VERSION >= 3') - prnt(' PyInit_%s(void) { return NULL; }' % (base_module_name,)) - prnt('# else') - prnt(' init%s(void) { }' % (base_module_name,)) - prnt('# endif') - prnt('# endif') - prnt('#elif PY_MAJOR_VERSION >= 3') - prnt('PyMODINIT_FUNC') - prnt('PyInit_%s(void)' % (base_module_name,)) - prnt('{') - prnt(' return _cffi_init("%s", 0x%x, &_cffi_type_context);' % ( - self.module_name, self._version)) - prnt('}') - prnt('#else') - prnt('PyMODINIT_FUNC') - prnt('init%s(void)' % (base_module_name,)) - prnt('{') - prnt(' _cffi_init("%s", 0x%x, &_cffi_type_context);' % ( - self.module_name, self._version)) - prnt('}') - prnt('#endif') - prnt() - prnt('#ifdef __GNUC__') - prnt('# pragma GCC visibility pop') - prnt('#endif') - self._version = None - - def _to_py(self, x): - if isinstance(x, str): - return "b'%s'" % (x,) - if isinstance(x, (list, tuple)): - rep = [self._to_py(item) for item in x] - if len(rep) == 1: - rep.append('') - return "(%s)" % (','.join(rep),) - return x.as_python_expr() # Py2: unicode unexpected; Py3: bytes unexp. - - def write_py_source_to_f(self, f): - self._f = f - prnt = self._prnt - # - # header - prnt("# auto-generated file") - prnt("import _cffi_backend") - # - # the 'import' of the included ffis - num_includes = len(self.ffi._included_ffis or ()) - for i in range(num_includes): - ffi_to_include = self.ffi._included_ffis[i] - try: - included_module_name, included_source = ( - ffi_to_include._assigned_source[:2]) - except AttributeError: - raise VerificationError( - "ffi object %r includes %r, but the latter has not " - "been prepared with set_source()" % ( - self.ffi, ffi_to_include,)) - if included_source is not None: - raise VerificationError( - "not implemented yet: ffi.include() of a C-based " - "ffi inside a Python-based ffi") - prnt('from %s import ffi as _ffi%d' % (included_module_name, i)) - prnt() - prnt("ffi = _cffi_backend.FFI('%s'," % (self.module_name,)) - prnt(" _version = 0x%x," % (self._version,)) - self._version = None - # - # the '_types' keyword argument - self.cffi_types = tuple(self.cffi_types) # don't change any more - types_lst = [op.as_python_bytes() for op in self.cffi_types] - prnt(' _types = %s,' % (self._to_py(''.join(types_lst)),)) - typeindex2type = dict([(i, tp) for (tp, i) in self._typesdict.items()]) - # - # the keyword arguments from ALL_STEPS - for step_name in self.ALL_STEPS: - lst = self._lsts[step_name] - if len(lst) > 0 and step_name != "field": - prnt(' _%ss = %s,' % (step_name, self._to_py(lst))) - # - # the '_includes' keyword argument - if num_includes > 0: - prnt(' _includes = (%s,),' % ( - ', '.join(['_ffi%d' % i for i in range(num_includes)]),)) - # - # the footer - prnt(')') - - # ---------- - - def _gettypenum(self, type): - # a KeyError here is a bug. please report it! :-) - return self._typesdict[type] - - def _convert_funcarg_to_c(self, tp, fromvar, tovar, errcode): - extraarg = '' - if isinstance(tp, model.BasePrimitiveType) and not tp.is_complex_type(): - if tp.is_integer_type() and tp.name != '_Bool': - converter = '_cffi_to_c_int' - extraarg = ', %s' % tp.name - elif isinstance(tp, model.UnknownFloatType): - # don't check with is_float_type(): it may be a 'long - # double' here, and _cffi_to_c_double would loose precision - converter = '(%s)_cffi_to_c_double' % (tp.get_c_name(''),) - else: - cname = tp.get_c_name('') - converter = '(%s)_cffi_to_c_%s' % (cname, - tp.name.replace(' ', '_')) - if cname in ('char16_t', 'char32_t'): - self.needs_version(VERSION_CHAR16CHAR32) - errvalue = '-1' - # - elif isinstance(tp, model.PointerType): - self._convert_funcarg_to_c_ptr_or_array(tp, fromvar, - tovar, errcode) - return - # - elif (isinstance(tp, model.StructOrUnionOrEnum) or - isinstance(tp, model.BasePrimitiveType)): - # a struct (not a struct pointer) as a function argument; - # or, a complex (the same code works) - self._prnt(' if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)' - % (tovar, self._gettypenum(tp), fromvar)) - self._prnt(' %s;' % errcode) - return - # - elif isinstance(tp, model.FunctionPtrType): - converter = '(%s)_cffi_to_c_pointer' % tp.get_c_name('') - extraarg = ', _cffi_type(%d)' % self._gettypenum(tp) - errvalue = 'NULL' - # - else: - raise NotImplementedError(tp) - # - self._prnt(' %s = %s(%s%s);' % (tovar, converter, fromvar, extraarg)) - self._prnt(' if (%s == (%s)%s && PyErr_Occurred())' % ( - tovar, tp.get_c_name(''), errvalue)) - self._prnt(' %s;' % errcode) - - def _extra_local_variables(self, tp, localvars, freelines): - if isinstance(tp, model.PointerType): - localvars.add('Py_ssize_t datasize') - localvars.add('struct _cffi_freeme_s *large_args_free = NULL') - freelines.add('if (large_args_free != NULL)' - ' _cffi_free_array_arguments(large_args_free);') - - def _convert_funcarg_to_c_ptr_or_array(self, tp, fromvar, tovar, errcode): - self._prnt(' datasize = _cffi_prepare_pointer_call_argument(') - self._prnt(' _cffi_type(%d), %s, (char **)&%s);' % ( - self._gettypenum(tp), fromvar, tovar)) - self._prnt(' if (datasize != 0) {') - self._prnt(' %s = ((size_t)datasize) <= 640 ? ' - '(%s)alloca((size_t)datasize) : NULL;' % ( - tovar, tp.get_c_name(''))) - self._prnt(' if (_cffi_convert_array_argument(_cffi_type(%d), %s, ' - '(char **)&%s,' % (self._gettypenum(tp), fromvar, tovar)) - self._prnt(' datasize, &large_args_free) < 0)') - self._prnt(' %s;' % errcode) - self._prnt(' }') - - def _convert_expr_from_c(self, tp, var, context): - if isinstance(tp, model.BasePrimitiveType): - if tp.is_integer_type() and tp.name != '_Bool': - return '_cffi_from_c_int(%s, %s)' % (var, tp.name) - elif isinstance(tp, model.UnknownFloatType): - return '_cffi_from_c_double(%s)' % (var,) - elif tp.name != 'long double' and not tp.is_complex_type(): - cname = tp.name.replace(' ', '_') - if cname in ('char16_t', 'char32_t'): - self.needs_version(VERSION_CHAR16CHAR32) - return '_cffi_from_c_%s(%s)' % (cname, var) - else: - return '_cffi_from_c_deref((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, (model.PointerType, model.FunctionPtrType)): - return '_cffi_from_c_pointer((char *)%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, model.ArrayType): - return '_cffi_from_c_pointer((char *)%s, _cffi_type(%d))' % ( - var, self._gettypenum(model.PointerType(tp.item))) - elif isinstance(tp, model.StructOrUnion): - if tp.fldnames is None: - raise TypeError("'%s' is used as %s, but is opaque" % ( - tp._get_c_name(), context)) - return '_cffi_from_c_struct((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, model.EnumType): - return '_cffi_from_c_deref((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - else: - raise NotImplementedError(tp) - - # ---------- - # typedefs - - def _typedef_type(self, tp, name): - return self._global_type(tp, "(*(%s *)0)" % (name,)) - - def _generate_cpy_typedef_collecttype(self, tp, name): - self._do_collect_type(self._typedef_type(tp, name)) - - def _generate_cpy_typedef_decl(self, tp, name): - pass - - def _typedef_ctx(self, tp, name): - type_index = self._typesdict[tp] - self._lsts["typename"].append(TypenameExpr(name, type_index)) - - def _generate_cpy_typedef_ctx(self, tp, name): - tp = self._typedef_type(tp, name) - self._typedef_ctx(tp, name) - if getattr(tp, "origin", None) == "unknown_type": - self._struct_ctx(tp, tp.name, approxname=None) - elif isinstance(tp, model.NamedPointerType): - self._struct_ctx(tp.totype, tp.totype.name, approxname=tp.name, - named_ptr=tp) - - # ---------- - # function declarations - - def _generate_cpy_function_collecttype(self, tp, name): - self._do_collect_type(tp.as_raw_function()) - if tp.ellipsis and not self.target_is_python: - self._do_collect_type(tp) - - def _generate_cpy_function_decl(self, tp, name): - assert not self.target_is_python - assert isinstance(tp, model.FunctionPtrType) - if tp.ellipsis: - # cannot support vararg functions better than this: check for its - # exact type (including the fixed arguments), and build it as a - # constant function pointer (no CPython wrapper) - self._generate_cpy_constant_decl(tp, name) - return - prnt = self._prnt - numargs = len(tp.args) - if numargs == 0: - argname = 'noarg' - elif numargs == 1: - argname = 'arg0' - else: - argname = 'args' - # - # ------------------------------ - # the 'd' version of the function, only for addressof(lib, 'func') - arguments = [] - call_arguments = [] - context = 'argument of %s' % name - for i, type in enumerate(tp.args): - arguments.append(type.get_c_name(' x%d' % i, context)) - call_arguments.append('x%d' % i) - repr_arguments = ', '.join(arguments) - repr_arguments = repr_arguments or 'void' - if tp.abi: - abi = tp.abi + ' ' - else: - abi = '' - name_and_arguments = '%s_cffi_d_%s(%s)' % (abi, name, repr_arguments) - prnt('static %s' % (tp.result.get_c_name(name_and_arguments),)) - prnt('{') - call_arguments = ', '.join(call_arguments) - result_code = 'return ' - if isinstance(tp.result, model.VoidType): - result_code = '' - prnt(' %s%s(%s);' % (result_code, name, call_arguments)) - prnt('}') - # - prnt('#ifndef PYPY_VERSION') # ------------------------------ - # - prnt('static PyObject *') - prnt('_cffi_f_%s(PyObject *self, PyObject *%s)' % (name, argname)) - prnt('{') - # - context = 'argument of %s' % name - for i, type in enumerate(tp.args): - arg = type.get_c_name(' x%d' % i, context) - prnt(' %s;' % arg) - # - localvars = set() - freelines = set() - for type in tp.args: - self._extra_local_variables(type, localvars, freelines) - for decl in sorted(localvars): - prnt(' %s;' % (decl,)) - # - if not isinstance(tp.result, model.VoidType): - result_code = 'result = ' - context = 'result of %s' % name - result_decl = ' %s;' % tp.result.get_c_name(' result', context) - prnt(result_decl) - prnt(' PyObject *pyresult;') - else: - result_decl = None - result_code = '' - # - if len(tp.args) > 1: - rng = range(len(tp.args)) - for i in rng: - prnt(' PyObject *arg%d;' % i) - prnt() - prnt(' if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))' % ( - name, len(rng), len(rng), - ', '.join(['&arg%d' % i for i in rng]))) - prnt(' return NULL;') - prnt() - # - for i, type in enumerate(tp.args): - self._convert_funcarg_to_c(type, 'arg%d' % i, 'x%d' % i, - 'return NULL') - prnt() - # - prnt(' Py_BEGIN_ALLOW_THREADS') - prnt(' _cffi_restore_errno();') - call_arguments = ['x%d' % i for i in range(len(tp.args))] - call_arguments = ', '.join(call_arguments) - prnt(' { %s%s(%s); }' % (result_code, name, call_arguments)) - prnt(' _cffi_save_errno();') - prnt(' Py_END_ALLOW_THREADS') - prnt() - # - prnt(' (void)self; /* unused */') - if numargs == 0: - prnt(' (void)noarg; /* unused */') - if result_code: - prnt(' pyresult = %s;' % - self._convert_expr_from_c(tp.result, 'result', 'result type')) - for freeline in freelines: - prnt(' ' + freeline) - prnt(' return pyresult;') - else: - for freeline in freelines: - prnt(' ' + freeline) - prnt(' Py_INCREF(Py_None);') - prnt(' return Py_None;') - prnt('}') - # - prnt('#else') # ------------------------------ - # - # the PyPy version: need to replace struct/union arguments with - # pointers, and if the result is a struct/union, insert a first - # arg that is a pointer to the result. We also do that for - # complex args and return type. - def need_indirection(type): - return (isinstance(type, model.StructOrUnion) or - (isinstance(type, model.PrimitiveType) and - type.is_complex_type())) - difference = False - arguments = [] - call_arguments = [] - context = 'argument of %s' % name - for i, type in enumerate(tp.args): - indirection = '' - if need_indirection(type): - indirection = '*' - difference = True - arg = type.get_c_name(' %sx%d' % (indirection, i), context) - arguments.append(arg) - call_arguments.append('%sx%d' % (indirection, i)) - tp_result = tp.result - if need_indirection(tp_result): - context = 'result of %s' % name - arg = tp_result.get_c_name(' *result', context) - arguments.insert(0, arg) - tp_result = model.void_type - result_decl = None - result_code = '*result = ' - difference = True - if difference: - repr_arguments = ', '.join(arguments) - repr_arguments = repr_arguments or 'void' - name_and_arguments = '%s_cffi_f_%s(%s)' % (abi, name, - repr_arguments) - prnt('static %s' % (tp_result.get_c_name(name_and_arguments),)) - prnt('{') - if result_decl: - prnt(result_decl) - call_arguments = ', '.join(call_arguments) - prnt(' { %s%s(%s); }' % (result_code, name, call_arguments)) - if result_decl: - prnt(' return result;') - prnt('}') - else: - prnt('# define _cffi_f_%s _cffi_d_%s' % (name, name)) - # - prnt('#endif') # ------------------------------ - prnt() - - def _generate_cpy_function_ctx(self, tp, name): - if tp.ellipsis and not self.target_is_python: - self._generate_cpy_constant_ctx(tp, name) - return - type_index = self._typesdict[tp.as_raw_function()] - numargs = len(tp.args) - if self.target_is_python: - meth_kind = OP_DLOPEN_FUNC - elif numargs == 0: - meth_kind = OP_CPYTHON_BLTN_N # 'METH_NOARGS' - elif numargs == 1: - meth_kind = OP_CPYTHON_BLTN_O # 'METH_O' - else: - meth_kind = OP_CPYTHON_BLTN_V # 'METH_VARARGS' - self._lsts["global"].append( - GlobalExpr(name, '_cffi_f_%s' % name, - CffiOp(meth_kind, type_index), - size='_cffi_d_%s' % name)) - - # ---------- - # named structs or unions - - def _field_type(self, tp_struct, field_name, tp_field): - if isinstance(tp_field, model.ArrayType): - actual_length = tp_field.length - if actual_length == '...': - ptr_struct_name = tp_struct.get_c_name('*') - actual_length = '_cffi_array_len(((%s)0)->%s)' % ( - ptr_struct_name, field_name) - tp_item = self._field_type(tp_struct, '%s[0]' % field_name, - tp_field.item) - tp_field = model.ArrayType(tp_item, actual_length) - return tp_field - - def _struct_collecttype(self, tp): - self._do_collect_type(tp) - if self.target_is_python: - # also requires nested anon struct/unions in ABI mode, recursively - for fldtype in tp.anonymous_struct_fields(): - self._struct_collecttype(fldtype) - - def _struct_decl(self, tp, cname, approxname): - if tp.fldtypes is None: - return - prnt = self._prnt - checkfuncname = '_cffi_checkfld_%s' % (approxname,) - prnt('_CFFI_UNUSED_FN') - prnt('static void %s(%s *p)' % (checkfuncname, cname)) - prnt('{') - prnt(' /* only to generate compile-time warnings or errors */') - prnt(' (void)p;') - for fname, ftype, fbitsize, fqual in self._enum_fields(tp): - try: - if ftype.is_integer_type() or fbitsize >= 0: - # accept all integers, but complain on float or double - if fname != '': - prnt(" (void)((p->%s) | 0); /* check that '%s.%s' is " - "an integer */" % (fname, cname, fname)) - continue - # only accept exactly the type declared, except that '[]' - # is interpreted as a '*' and so will match any array length. - # (It would also match '*', but that's harder to detect...) - while (isinstance(ftype, model.ArrayType) - and (ftype.length is None or ftype.length == '...')): - ftype = ftype.item - fname = fname + '[0]' - prnt(' { %s = &p->%s; (void)tmp; }' % ( - ftype.get_c_name('*tmp', 'field %r'%fname, quals=fqual), - fname)) - except VerificationError as e: - prnt(' /* %s */' % str(e)) # cannot verify it, ignore - prnt('}') - prnt('struct _cffi_align_%s { char x; %s y; };' % (approxname, cname)) - prnt() - - def _struct_ctx(self, tp, cname, approxname, named_ptr=None): - type_index = self._typesdict[tp] - reason_for_not_expanding = None - flags = [] - if isinstance(tp, model.UnionType): - flags.append("_CFFI_F_UNION") - if tp.fldtypes is None: - flags.append("_CFFI_F_OPAQUE") - reason_for_not_expanding = "opaque" - if (tp not in self.ffi._parser._included_declarations and - (named_ptr is None or - named_ptr not in self.ffi._parser._included_declarations)): - if tp.fldtypes is None: - pass # opaque - elif tp.partial or any(tp.anonymous_struct_fields()): - pass # field layout obtained silently from the C compiler - else: - flags.append("_CFFI_F_CHECK_FIELDS") - if tp.packed: - if tp.packed > 1: - raise NotImplementedError( - "%r is declared with 'pack=%r'; only 0 or 1 are " - "supported in API mode (try to use \"...;\", which " - "does not require a 'pack' declaration)" % - (tp, tp.packed)) - flags.append("_CFFI_F_PACKED") - else: - flags.append("_CFFI_F_EXTERNAL") - reason_for_not_expanding = "external" - flags = '|'.join(flags) or '0' - c_fields = [] - if reason_for_not_expanding is None: - enumfields = list(self._enum_fields(tp)) - for fldname, fldtype, fbitsize, fqual in enumfields: - fldtype = self._field_type(tp, fldname, fldtype) - self._check_not_opaque(fldtype, - "field '%s.%s'" % (tp.name, fldname)) - # cname is None for _add_missing_struct_unions() only - op = OP_NOOP - if fbitsize >= 0: - op = OP_BITFIELD - size = '%d /* bits */' % fbitsize - elif cname is None or ( - isinstance(fldtype, model.ArrayType) and - fldtype.length is None): - size = '(size_t)-1' - else: - size = 'sizeof(((%s)0)->%s)' % ( - tp.get_c_name('*') if named_ptr is None - else named_ptr.name, - fldname) - if cname is None or fbitsize >= 0: - offset = '(size_t)-1' - elif named_ptr is not None: - offset = '((char *)&((%s)0)->%s) - (char *)0' % ( - named_ptr.name, fldname) - else: - offset = 'offsetof(%s, %s)' % (tp.get_c_name(''), fldname) - c_fields.append( - FieldExpr(fldname, offset, size, fbitsize, - CffiOp(op, self._typesdict[fldtype]))) - first_field_index = len(self._lsts["field"]) - self._lsts["field"].extend(c_fields) - # - if cname is None: # unknown name, for _add_missing_struct_unions - size = '(size_t)-2' - align = -2 - comment = "unnamed" - else: - if named_ptr is not None: - size = 'sizeof(*(%s)0)' % (named_ptr.name,) - align = '-1 /* unknown alignment */' - else: - size = 'sizeof(%s)' % (cname,) - align = 'offsetof(struct _cffi_align_%s, y)' % (approxname,) - comment = None - else: - size = '(size_t)-1' - align = -1 - first_field_index = -1 - comment = reason_for_not_expanding - self._lsts["struct_union"].append( - StructUnionExpr(tp.name, type_index, flags, size, align, comment, - first_field_index, c_fields)) - self._seen_struct_unions.add(tp) - - def _check_not_opaque(self, tp, location): - while isinstance(tp, model.ArrayType): - tp = tp.item - if isinstance(tp, model.StructOrUnion) and tp.fldtypes is None: - raise TypeError( - "%s is of an opaque type (not declared in cdef())" % location) - - def _add_missing_struct_unions(self): - # not very nice, but some struct declarations might be missing - # because they don't have any known C name. Check that they are - # not partial (we can't complete or verify them!) and emit them - # anonymously. - lst = list(self._struct_unions.items()) - lst.sort(key=lambda tp_order: tp_order[1]) - for tp, order in lst: - if tp not in self._seen_struct_unions: - if tp.partial: - raise NotImplementedError("internal inconsistency: %r is " - "partial but was not seen at " - "this point" % (tp,)) - if tp.name.startswith('$') and tp.name[1:].isdigit(): - approxname = tp.name[1:] - elif tp.name == '_IO_FILE' and tp.forcename == 'FILE': - approxname = 'FILE' - self._typedef_ctx(tp, 'FILE') - else: - raise NotImplementedError("internal inconsistency: %r" % - (tp,)) - self._struct_ctx(tp, None, approxname) - - def _generate_cpy_struct_collecttype(self, tp, name): - self._struct_collecttype(tp) - _generate_cpy_union_collecttype = _generate_cpy_struct_collecttype - - def _struct_names(self, tp): - cname = tp.get_c_name('') - if ' ' in cname: - return cname, cname.replace(' ', '_') - else: - return cname, '_' + cname - - def _generate_cpy_struct_decl(self, tp, name): - self._struct_decl(tp, *self._struct_names(tp)) - _generate_cpy_union_decl = _generate_cpy_struct_decl - - def _generate_cpy_struct_ctx(self, tp, name): - self._struct_ctx(tp, *self._struct_names(tp)) - _generate_cpy_union_ctx = _generate_cpy_struct_ctx - - # ---------- - # 'anonymous' declarations. These are produced for anonymous structs - # or unions; the 'name' is obtained by a typedef. - - def _generate_cpy_anonymous_collecttype(self, tp, name): - if isinstance(tp, model.EnumType): - self._generate_cpy_enum_collecttype(tp, name) - else: - self._struct_collecttype(tp) - - def _generate_cpy_anonymous_decl(self, tp, name): - if isinstance(tp, model.EnumType): - self._generate_cpy_enum_decl(tp) - else: - self._struct_decl(tp, name, 'typedef_' + name) - - def _generate_cpy_anonymous_ctx(self, tp, name): - if isinstance(tp, model.EnumType): - self._enum_ctx(tp, name) - else: - self._struct_ctx(tp, name, 'typedef_' + name) - - # ---------- - # constants, declared with "static const ..." - - def _generate_cpy_const(self, is_int, name, tp=None, category='const', - check_value=None): - if (category, name) in self._seen_constants: - raise VerificationError( - "duplicate declaration of %s '%s'" % (category, name)) - self._seen_constants.add((category, name)) - # - prnt = self._prnt - funcname = '_cffi_%s_%s' % (category, name) - if is_int: - prnt('static int %s(unsigned long long *o)' % funcname) - prnt('{') - prnt(' int n = (%s) <= 0;' % (name,)) - prnt(' *o = (unsigned long long)((%s) | 0);' - ' /* check that %s is an integer */' % (name, name)) - if check_value is not None: - if check_value > 0: - check_value = '%dU' % (check_value,) - prnt(' if (!_cffi_check_int(*o, n, %s))' % (check_value,)) - prnt(' n |= 2;') - prnt(' return n;') - prnt('}') - else: - assert check_value is None - prnt('static void %s(char *o)' % funcname) - prnt('{') - prnt(' *(%s)o = %s;' % (tp.get_c_name('*'), name)) - prnt('}') - prnt() - - def _generate_cpy_constant_collecttype(self, tp, name): - is_int = tp.is_integer_type() - if not is_int or self.target_is_python: - self._do_collect_type(tp) - - def _generate_cpy_constant_decl(self, tp, name): - is_int = tp.is_integer_type() - self._generate_cpy_const(is_int, name, tp) - - def _generate_cpy_constant_ctx(self, tp, name): - if not self.target_is_python and tp.is_integer_type(): - type_op = CffiOp(OP_CONSTANT_INT, -1) - else: - if self.target_is_python: - const_kind = OP_DLOPEN_CONST - else: - const_kind = OP_CONSTANT - type_index = self._typesdict[tp] - type_op = CffiOp(const_kind, type_index) - self._lsts["global"].append( - GlobalExpr(name, '_cffi_const_%s' % name, type_op)) - - # ---------- - # enums - - def _generate_cpy_enum_collecttype(self, tp, name): - self._do_collect_type(tp) - - def _generate_cpy_enum_decl(self, tp, name=None): - for enumerator in tp.enumerators: - self._generate_cpy_const(True, enumerator) - - def _enum_ctx(self, tp, cname): - type_index = self._typesdict[tp] - type_op = CffiOp(OP_ENUM, -1) - if self.target_is_python: - tp.check_not_partial() - for enumerator, enumvalue in zip(tp.enumerators, tp.enumvalues): - self._lsts["global"].append( - GlobalExpr(enumerator, '_cffi_const_%s' % enumerator, type_op, - check_value=enumvalue)) - # - if cname is not None and '$' not in cname and not self.target_is_python: - size = "sizeof(%s)" % cname - signed = "((%s)-1) <= 0" % cname - else: - basetp = tp.build_baseinttype(self.ffi, []) - size = self.ffi.sizeof(basetp) - signed = int(int(self.ffi.cast(basetp, -1)) < 0) - allenums = ",".join(tp.enumerators) - self._lsts["enum"].append( - EnumExpr(tp.name, type_index, size, signed, allenums)) - - def _generate_cpy_enum_ctx(self, tp, name): - self._enum_ctx(tp, tp._get_c_name()) - - # ---------- - # macros: for now only for integers - - def _generate_cpy_macro_collecttype(self, tp, name): - pass - - def _generate_cpy_macro_decl(self, tp, name): - if tp == '...': - check_value = None - else: - check_value = tp # an integer - self._generate_cpy_const(True, name, check_value=check_value) - - def _generate_cpy_macro_ctx(self, tp, name): - if tp == '...': - if self.target_is_python: - raise VerificationError( - "cannot use the syntax '...' in '#define %s ...' when " - "using the ABI mode" % (name,)) - check_value = None - else: - check_value = tp # an integer - type_op = CffiOp(OP_CONSTANT_INT, -1) - self._lsts["global"].append( - GlobalExpr(name, '_cffi_const_%s' % name, type_op, - check_value=check_value)) - - # ---------- - # global variables - - def _global_type(self, tp, global_name): - if isinstance(tp, model.ArrayType): - actual_length = tp.length - if actual_length == '...': - actual_length = '_cffi_array_len(%s)' % (global_name,) - tp_item = self._global_type(tp.item, '%s[0]' % global_name) - tp = model.ArrayType(tp_item, actual_length) - return tp - - def _generate_cpy_variable_collecttype(self, tp, name): - self._do_collect_type(self._global_type(tp, name)) - - def _generate_cpy_variable_decl(self, tp, name): - prnt = self._prnt - tp = self._global_type(tp, name) - if isinstance(tp, model.ArrayType) and tp.length is None: - tp = tp.item - ampersand = '' - else: - ampersand = '&' - # This code assumes that casts from "tp *" to "void *" is a - # no-op, i.e. a function that returns a "tp *" can be called - # as if it returned a "void *". This should be generally true - # on any modern machine. The only exception to that rule (on - # uncommon architectures, and as far as I can tell) might be - # if 'tp' were a function type, but that is not possible here. - # (If 'tp' is a function _pointer_ type, then casts from "fn_t - # **" to "void *" are again no-ops, as far as I can tell.) - decl = '*_cffi_var_%s(void)' % (name,) - prnt('static ' + tp.get_c_name(decl, quals=self._current_quals)) - prnt('{') - prnt(' return %s(%s);' % (ampersand, name)) - prnt('}') - prnt() - - def _generate_cpy_variable_ctx(self, tp, name): - tp = self._global_type(tp, name) - type_index = self._typesdict[tp] - if self.target_is_python: - op = OP_GLOBAL_VAR - else: - op = OP_GLOBAL_VAR_F - self._lsts["global"].append( - GlobalExpr(name, '_cffi_var_%s' % name, CffiOp(op, type_index))) - - # ---------- - # extern "Python" - - def _generate_cpy_extern_python_collecttype(self, tp, name): - assert isinstance(tp, model.FunctionPtrType) - self._do_collect_type(tp) - _generate_cpy_dllexport_python_collecttype = \ - _generate_cpy_extern_python_plus_c_collecttype = \ - _generate_cpy_extern_python_collecttype - - def _extern_python_decl(self, tp, name, tag_and_space): - prnt = self._prnt - if isinstance(tp.result, model.VoidType): - size_of_result = '0' - else: - context = 'result of %s' % name - size_of_result = '(int)sizeof(%s)' % ( - tp.result.get_c_name('', context),) - prnt('static struct _cffi_externpy_s _cffi_externpy__%s =' % name) - prnt(' { "%s.%s", %s, 0, 0 };' % ( - self.module_name, name, size_of_result)) - prnt() - # - arguments = [] - context = 'argument of %s' % name - for i, type in enumerate(tp.args): - arg = type.get_c_name(' a%d' % i, context) - arguments.append(arg) - # - repr_arguments = ', '.join(arguments) - repr_arguments = repr_arguments or 'void' - name_and_arguments = '%s(%s)' % (name, repr_arguments) - if tp.abi == "__stdcall": - name_and_arguments = '_cffi_stdcall ' + name_and_arguments - # - def may_need_128_bits(tp): - return (isinstance(tp, model.PrimitiveType) and - tp.name == 'long double') - # - size_of_a = max(len(tp.args)*8, 8) - if may_need_128_bits(tp.result): - size_of_a = max(size_of_a, 16) - if isinstance(tp.result, model.StructOrUnion): - size_of_a = 'sizeof(%s) > %d ? sizeof(%s) : %d' % ( - tp.result.get_c_name(''), size_of_a, - tp.result.get_c_name(''), size_of_a) - prnt('%s%s' % (tag_and_space, tp.result.get_c_name(name_and_arguments))) - prnt('{') - prnt(' char a[%s];' % size_of_a) - prnt(' char *p = a;') - for i, type in enumerate(tp.args): - arg = 'a%d' % i - if (isinstance(type, model.StructOrUnion) or - may_need_128_bits(type)): - arg = '&' + arg - type = model.PointerType(type) - prnt(' *(%s)(p + %d) = %s;' % (type.get_c_name('*'), i*8, arg)) - prnt(' _cffi_call_python(&_cffi_externpy__%s, p);' % name) - if not isinstance(tp.result, model.VoidType): - prnt(' return *(%s)p;' % (tp.result.get_c_name('*'),)) - prnt('}') - prnt() - self._num_externpy += 1 - - def _generate_cpy_extern_python_decl(self, tp, name): - self._extern_python_decl(tp, name, 'static ') - - def _generate_cpy_dllexport_python_decl(self, tp, name): - self._extern_python_decl(tp, name, 'CFFI_DLLEXPORT ') - - def _generate_cpy_extern_python_plus_c_decl(self, tp, name): - self._extern_python_decl(tp, name, '') - - def _generate_cpy_extern_python_ctx(self, tp, name): - if self.target_is_python: - raise VerificationError( - "cannot use 'extern \"Python\"' in the ABI mode") - if tp.ellipsis: - raise NotImplementedError("a vararg function is extern \"Python\"") - type_index = self._typesdict[tp] - type_op = CffiOp(OP_EXTERN_PYTHON, type_index) - self._lsts["global"].append( - GlobalExpr(name, '&_cffi_externpy__%s' % name, type_op, name)) - - _generate_cpy_dllexport_python_ctx = \ - _generate_cpy_extern_python_plus_c_ctx = \ - _generate_cpy_extern_python_ctx - - def _print_string_literal_in_array(self, s): - prnt = self._prnt - prnt('// # NB. this is not a string because of a size limit in MSVC') - if not isinstance(s, bytes): # unicode - s = s.encode('utf-8') # -> bytes - else: - s.decode('utf-8') # got bytes, check for valid utf-8 - try: - s.decode('ascii') - except UnicodeDecodeError: - s = b'# -*- encoding: utf8 -*-\n' + s - for line in s.splitlines(True): - comment = line - if type('//') is bytes: # python2 - line = map(ord, line) # make a list of integers - else: # python3 - # type(line) is bytes, which enumerates like a list of integers - comment = ascii(comment)[1:-1] - prnt(('// ' + comment).rstrip()) - printed_line = '' - for c in line: - if len(printed_line) >= 76: - prnt(printed_line) - printed_line = '' - printed_line += '%d,' % (c,) - prnt(printed_line) - - # ---------- - # emitting the opcodes for individual types - - def _emit_bytecode_VoidType(self, tp, index): - self.cffi_types[index] = CffiOp(OP_PRIMITIVE, PRIM_VOID) - - def _emit_bytecode_PrimitiveType(self, tp, index): - prim_index = PRIMITIVE_TO_INDEX[tp.name] - self.cffi_types[index] = CffiOp(OP_PRIMITIVE, prim_index) - - def _emit_bytecode_UnknownIntegerType(self, tp, index): - s = ('_cffi_prim_int(sizeof(%s), (\n' - ' ((%s)-1) | 0 /* check that %s is an integer type */\n' - ' ) <= 0)' % (tp.name, tp.name, tp.name)) - self.cffi_types[index] = CffiOp(OP_PRIMITIVE, s) - - def _emit_bytecode_UnknownFloatType(self, tp, index): - s = ('_cffi_prim_float(sizeof(%s) *\n' - ' (((%s)1) / 2) * 2 /* integer => 0, float => 1 */\n' - ' )' % (tp.name, tp.name)) - self.cffi_types[index] = CffiOp(OP_PRIMITIVE, s) - - def _emit_bytecode_RawFunctionType(self, tp, index): - self.cffi_types[index] = CffiOp(OP_FUNCTION, self._typesdict[tp.result]) - index += 1 - for tp1 in tp.args: - realindex = self._typesdict[tp1] - if index != realindex: - if isinstance(tp1, model.PrimitiveType): - self._emit_bytecode_PrimitiveType(tp1, index) - else: - self.cffi_types[index] = CffiOp(OP_NOOP, realindex) - index += 1 - flags = int(tp.ellipsis) - if tp.abi is not None: - if tp.abi == '__stdcall': - flags |= 2 - else: - raise NotImplementedError("abi=%r" % (tp.abi,)) - self.cffi_types[index] = CffiOp(OP_FUNCTION_END, flags) - - def _emit_bytecode_PointerType(self, tp, index): - self.cffi_types[index] = CffiOp(OP_POINTER, self._typesdict[tp.totype]) - - _emit_bytecode_ConstPointerType = _emit_bytecode_PointerType - _emit_bytecode_NamedPointerType = _emit_bytecode_PointerType - - def _emit_bytecode_FunctionPtrType(self, tp, index): - raw = tp.as_raw_function() - self.cffi_types[index] = CffiOp(OP_POINTER, self._typesdict[raw]) - - def _emit_bytecode_ArrayType(self, tp, index): - item_index = self._typesdict[tp.item] - if tp.length is None: - self.cffi_types[index] = CffiOp(OP_OPEN_ARRAY, item_index) - elif tp.length == '...': - raise VerificationError( - "type %s badly placed: the '...' array length can only be " - "used on global arrays or on fields of structures" % ( - str(tp).replace('/*...*/', '...'),)) - else: - assert self.cffi_types[index + 1] == 'LEN' - self.cffi_types[index] = CffiOp(OP_ARRAY, item_index) - self.cffi_types[index + 1] = CffiOp(None, str(tp.length)) - - def _emit_bytecode_StructType(self, tp, index): - struct_index = self._struct_unions[tp] - self.cffi_types[index] = CffiOp(OP_STRUCT_UNION, struct_index) - _emit_bytecode_UnionType = _emit_bytecode_StructType - - def _emit_bytecode_EnumType(self, tp, index): - enum_index = self._enums[tp] - self.cffi_types[index] = CffiOp(OP_ENUM, enum_index) - - -if sys.version_info >= (3,): - NativeIO = io.StringIO -else: - class NativeIO(io.BytesIO): - def write(self, s): - if isinstance(s, unicode): - s = s.encode('ascii') - super(NativeIO, self).write(s) - -def _make_c_or_py_source(ffi, module_name, preamble, target_file, verbose): - if verbose: - print("generating %s" % (target_file,)) - recompiler = Recompiler(ffi, module_name, - target_is_python=(preamble is None)) - recompiler.collect_type_table() - recompiler.collect_step_tables() - f = NativeIO() - recompiler.write_source_to_f(f, preamble) - output = f.getvalue() - try: - with open(target_file, 'r') as f1: - if f1.read(len(output) + 1) != output: - raise IOError - if verbose: - print("(already up-to-date)") - return False # already up-to-date - except IOError: - tmp_file = '%s.~%d' % (target_file, os.getpid()) - with open(tmp_file, 'w') as f1: - f1.write(output) - try: - os.rename(tmp_file, target_file) - except OSError: - os.unlink(target_file) - os.rename(tmp_file, target_file) - return True - -def make_c_source(ffi, module_name, preamble, target_c_file, verbose=False): - assert preamble is not None - return _make_c_or_py_source(ffi, module_name, preamble, target_c_file, - verbose) - -def make_py_source(ffi, module_name, target_py_file, verbose=False): - return _make_c_or_py_source(ffi, module_name, None, target_py_file, - verbose) - -def _modname_to_file(outputdir, modname, extension): - parts = modname.split('.') - try: - os.makedirs(os.path.join(outputdir, *parts[:-1])) - except OSError: - pass - parts[-1] += extension - return os.path.join(outputdir, *parts), parts - - -# Aaargh. Distutils is not tested at all for the purpose of compiling -# DLLs that are not extension modules. Here are some hacks to work -# around that, in the _patch_for_*() functions... - -def _patch_meth(patchlist, cls, name, new_meth): - old = getattr(cls, name) - patchlist.append((cls, name, old)) - setattr(cls, name, new_meth) - return old - -def _unpatch_meths(patchlist): - for cls, name, old_meth in reversed(patchlist): - setattr(cls, name, old_meth) - -def _patch_for_embedding(patchlist): - if sys.platform == 'win32': - # we must not remove the manifest when building for embedding! - from distutils.msvc9compiler import MSVCCompiler - _patch_meth(patchlist, MSVCCompiler, '_remove_visual_c_ref', - lambda self, manifest_file: manifest_file) - - if sys.platform == 'darwin': - # we must not make a '-bundle', but a '-dynamiclib' instead - from distutils.ccompiler import CCompiler - def my_link_shared_object(self, *args, **kwds): - if '-bundle' in self.linker_so: - self.linker_so = list(self.linker_so) - i = self.linker_so.index('-bundle') - self.linker_so[i] = '-dynamiclib' - return old_link_shared_object(self, *args, **kwds) - old_link_shared_object = _patch_meth(patchlist, CCompiler, - 'link_shared_object', - my_link_shared_object) - -def _patch_for_target(patchlist, target): - from distutils.command.build_ext import build_ext - # if 'target' is different from '*', we need to patch some internal - # method to just return this 'target' value, instead of having it - # built from module_name - if target.endswith('.*'): - target = target[:-2] - if sys.platform == 'win32': - target += '.dll' - elif sys.platform == 'darwin': - target += '.dylib' - else: - target += '.so' - _patch_meth(patchlist, build_ext, 'get_ext_filename', - lambda self, ext_name: target) - - -def recompile(ffi, module_name, preamble, tmpdir='.', call_c_compiler=True, - c_file=None, source_extension='.c', extradir=None, - compiler_verbose=1, target=None, debug=None, **kwds): - if not isinstance(module_name, str): - module_name = module_name.encode('ascii') - if ffi._windows_unicode: - ffi._apply_windows_unicode(kwds) - if preamble is not None: - embedding = (ffi._embedding is not None) - if embedding: - ffi._apply_embedding_fix(kwds) - if c_file is None: - c_file, parts = _modname_to_file(tmpdir, module_name, - source_extension) - if extradir: - parts = [extradir] + parts - ext_c_file = os.path.join(*parts) - else: - ext_c_file = c_file - # - if target is None: - if embedding: - target = '%s.*' % module_name - else: - target = '*' - # - ext = ffiplatform.get_extension(ext_c_file, module_name, **kwds) - updated = make_c_source(ffi, module_name, preamble, c_file, - verbose=compiler_verbose) - if call_c_compiler: - patchlist = [] - cwd = os.getcwd() - try: - if embedding: - _patch_for_embedding(patchlist) - if target != '*': - _patch_for_target(patchlist, target) - if compiler_verbose: - if tmpdir == '.': - msg = 'the current directory is' - else: - msg = 'setting the current directory to' - print('%s %r' % (msg, os.path.abspath(tmpdir))) - os.chdir(tmpdir) - outputfilename = ffiplatform.compile('.', ext, - compiler_verbose, debug) - finally: - os.chdir(cwd) - _unpatch_meths(patchlist) - return outputfilename - else: - return ext, updated - else: - if c_file is None: - c_file, _ = _modname_to_file(tmpdir, module_name, '.py') - updated = make_py_source(ffi, module_name, c_file, - verbose=compiler_verbose) - if call_c_compiler: - return c_file - else: - return None, updated - diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/setuptools_ext.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/setuptools_ext.py deleted file mode 100644 index 8fe36148..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/setuptools_ext.py +++ /dev/null @@ -1,219 +0,0 @@ -import os -import sys - -try: - basestring -except NameError: - # Python 3.x - basestring = str - -def error(msg): - from distutils.errors import DistutilsSetupError - raise DistutilsSetupError(msg) - - -def execfile(filename, glob): - # We use execfile() (here rewritten for Python 3) instead of - # __import__() to load the build script. The problem with - # a normal import is that in some packages, the intermediate - # __init__.py files may already try to import the file that - # we are generating. - with open(filename) as f: - src = f.read() - src += '\n' # Python 2.6 compatibility - code = compile(src, filename, 'exec') - exec(code, glob, glob) - - -def add_cffi_module(dist, mod_spec): - from cffi.api import FFI - - if not isinstance(mod_spec, basestring): - error("argument to 'cffi_modules=...' must be a str or a list of str," - " not %r" % (type(mod_spec).__name__,)) - mod_spec = str(mod_spec) - try: - build_file_name, ffi_var_name = mod_spec.split(':') - except ValueError: - error("%r must be of the form 'path/build.py:ffi_variable'" % - (mod_spec,)) - if not os.path.exists(build_file_name): - ext = '' - rewritten = build_file_name.replace('.', '/') + '.py' - if os.path.exists(rewritten): - ext = ' (rewrite cffi_modules to [%r])' % ( - rewritten + ':' + ffi_var_name,) - error("%r does not name an existing file%s" % (build_file_name, ext)) - - mod_vars = {'__name__': '__cffi__', '__file__': build_file_name} - execfile(build_file_name, mod_vars) - - try: - ffi = mod_vars[ffi_var_name] - except KeyError: - error("%r: object %r not found in module" % (mod_spec, - ffi_var_name)) - if not isinstance(ffi, FFI): - ffi = ffi() # maybe it's a function instead of directly an ffi - if not isinstance(ffi, FFI): - error("%r is not an FFI instance (got %r)" % (mod_spec, - type(ffi).__name__)) - if not hasattr(ffi, '_assigned_source'): - error("%r: the set_source() method was not called" % (mod_spec,)) - module_name, source, source_extension, kwds = ffi._assigned_source - if ffi._windows_unicode: - kwds = kwds.copy() - ffi._apply_windows_unicode(kwds) - - if source is None: - _add_py_module(dist, ffi, module_name) - else: - _add_c_module(dist, ffi, module_name, source, source_extension, kwds) - -def _set_py_limited_api(Extension, kwds): - """ - Add py_limited_api to kwds if setuptools >= 26 is in use. - Do not alter the setting if it already exists. - Setuptools takes care of ignoring the flag on Python 2 and PyPy. - - CPython itself should ignore the flag in a debugging version - (by not listing .abi3.so in the extensions it supports), but - it doesn't so far, creating troubles. That's why we check - for "not hasattr(sys, 'gettotalrefcount')" (the 2.7 compatible equivalent - of 'd' not in sys.abiflags). (http://bugs.python.org/issue28401) - - On Windows, with CPython <= 3.4, it's better not to use py_limited_api - because virtualenv *still* doesn't copy PYTHON3.DLL on these versions. - Recently (2020) we started shipping only >= 3.5 wheels, though. So - we'll give it another try and set py_limited_api on Windows >= 3.5. - """ - from cffi import recompiler - - if ('py_limited_api' not in kwds and not hasattr(sys, 'gettotalrefcount') - and recompiler.USE_LIMITED_API): - import setuptools - try: - setuptools_major_version = int(setuptools.__version__.partition('.')[0]) - if setuptools_major_version >= 26: - kwds['py_limited_api'] = True - except ValueError: # certain development versions of setuptools - # If we don't know the version number of setuptools, we - # try to set 'py_limited_api' anyway. At worst, we get a - # warning. - kwds['py_limited_api'] = True - return kwds - -def _add_c_module(dist, ffi, module_name, source, source_extension, kwds): - from distutils.core import Extension - # We are a setuptools extension. Need this build_ext for py_limited_api. - from setuptools.command.build_ext import build_ext - from distutils.dir_util import mkpath - from distutils import log - from cffi import recompiler - - allsources = ['$PLACEHOLDER'] - allsources.extend(kwds.pop('sources', [])) - kwds = _set_py_limited_api(Extension, kwds) - ext = Extension(name=module_name, sources=allsources, **kwds) - - def make_mod(tmpdir, pre_run=None): - c_file = os.path.join(tmpdir, module_name + source_extension) - log.info("generating cffi module %r" % c_file) - mkpath(tmpdir) - # a setuptools-only, API-only hook: called with the "ext" and "ffi" - # arguments just before we turn the ffi into C code. To use it, - # subclass the 'distutils.command.build_ext.build_ext' class and - # add a method 'def pre_run(self, ext, ffi)'. - if pre_run is not None: - pre_run(ext, ffi) - updated = recompiler.make_c_source(ffi, module_name, source, c_file) - if not updated: - log.info("already up-to-date") - return c_file - - if dist.ext_modules is None: - dist.ext_modules = [] - dist.ext_modules.append(ext) - - base_class = dist.cmdclass.get('build_ext', build_ext) - class build_ext_make_mod(base_class): - def run(self): - if ext.sources[0] == '$PLACEHOLDER': - pre_run = getattr(self, 'pre_run', None) - ext.sources[0] = make_mod(self.build_temp, pre_run) - base_class.run(self) - dist.cmdclass['build_ext'] = build_ext_make_mod - # NB. multiple runs here will create multiple 'build_ext_make_mod' - # classes. Even in this case the 'build_ext' command should be - # run once; but just in case, the logic above does nothing if - # called again. - - -def _add_py_module(dist, ffi, module_name): - from distutils.dir_util import mkpath - from setuptools.command.build_py import build_py - from setuptools.command.build_ext import build_ext - from distutils import log - from cffi import recompiler - - def generate_mod(py_file): - log.info("generating cffi module %r" % py_file) - mkpath(os.path.dirname(py_file)) - updated = recompiler.make_py_source(ffi, module_name, py_file) - if not updated: - log.info("already up-to-date") - - base_class = dist.cmdclass.get('build_py', build_py) - class build_py_make_mod(base_class): - def run(self): - base_class.run(self) - module_path = module_name.split('.') - module_path[-1] += '.py' - generate_mod(os.path.join(self.build_lib, *module_path)) - def get_source_files(self): - # This is called from 'setup.py sdist' only. Exclude - # the generate .py module in this case. - saved_py_modules = self.py_modules - try: - if saved_py_modules: - self.py_modules = [m for m in saved_py_modules - if m != module_name] - return base_class.get_source_files(self) - finally: - self.py_modules = saved_py_modules - dist.cmdclass['build_py'] = build_py_make_mod - - # distutils and setuptools have no notion I could find of a - # generated python module. If we don't add module_name to - # dist.py_modules, then things mostly work but there are some - # combination of options (--root and --record) that will miss - # the module. So we add it here, which gives a few apparently - # harmless warnings about not finding the file outside the - # build directory. - # Then we need to hack more in get_source_files(); see above. - if dist.py_modules is None: - dist.py_modules = [] - dist.py_modules.append(module_name) - - # the following is only for "build_ext -i" - base_class_2 = dist.cmdclass.get('build_ext', build_ext) - class build_ext_make_mod(base_class_2): - def run(self): - base_class_2.run(self) - if self.inplace: - # from get_ext_fullpath() in distutils/command/build_ext.py - module_path = module_name.split('.') - package = '.'.join(module_path[:-1]) - build_py = self.get_finalized_command('build_py') - package_dir = build_py.get_package_dir(package) - file_name = module_path[-1] + '.py' - generate_mod(os.path.join(package_dir, file_name)) - dist.cmdclass['build_ext'] = build_ext_make_mod - -def cffi_modules(dist, attr, value): - assert attr == 'cffi_modules' - if isinstance(value, basestring): - value = [value] - - for cffi_module in value: - add_cffi_module(dist, cffi_module) diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_cpy.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_cpy.py deleted file mode 100644 index 6de0df0e..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_cpy.py +++ /dev/null @@ -1,1076 +0,0 @@ -# -# DEPRECATED: implementation for ffi.verify() -# -import sys, imp -from . import model -from .error import VerificationError - - -class VCPythonEngine(object): - _class_key = 'x' - _gen_python_module = True - - def __init__(self, verifier): - self.verifier = verifier - self.ffi = verifier.ffi - self._struct_pending_verification = {} - self._types_of_builtin_functions = {} - - def patch_extension_kwds(self, kwds): - pass - - def find_module(self, module_name, path, so_suffixes): - try: - f, filename, descr = imp.find_module(module_name, path) - except ImportError: - return None - if f is not None: - f.close() - # Note that after a setuptools installation, there are both .py - # and .so files with the same basename. The code here relies on - # imp.find_module() locating the .so in priority. - if descr[0] not in so_suffixes: - return None - return filename - - def collect_types(self): - self._typesdict = {} - self._generate("collecttype") - - def _prnt(self, what=''): - self._f.write(what + '\n') - - def _gettypenum(self, type): - # a KeyError here is a bug. please report it! :-) - return self._typesdict[type] - - def _do_collect_type(self, tp): - if ((not isinstance(tp, model.PrimitiveType) - or tp.name == 'long double') - and tp not in self._typesdict): - num = len(self._typesdict) - self._typesdict[tp] = num - - def write_source_to_f(self): - self.collect_types() - # - # The new module will have a _cffi_setup() function that receives - # objects from the ffi world, and that calls some setup code in - # the module. This setup code is split in several independent - # functions, e.g. one per constant. The functions are "chained" - # by ending in a tail call to each other. - # - # This is further split in two chained lists, depending on if we - # can do it at import-time or if we must wait for _cffi_setup() to - # provide us with the objects. This is needed because we - # need the values of the enum constants in order to build the - # that we may have to pass to _cffi_setup(). - # - # The following two 'chained_list_constants' items contains - # the head of these two chained lists, as a string that gives the - # call to do, if any. - self._chained_list_constants = ['((void)lib,0)', '((void)lib,0)'] - # - prnt = self._prnt - # first paste some standard set of lines that are mostly '#define' - prnt(cffimod_header) - prnt() - # then paste the C source given by the user, verbatim. - prnt(self.verifier.preamble) - prnt() - # - # call generate_cpy_xxx_decl(), for every xxx found from - # ffi._parser._declarations. This generates all the functions. - self._generate("decl") - # - # implement the function _cffi_setup_custom() as calling the - # head of the chained list. - self._generate_setup_custom() - prnt() - # - # produce the method table, including the entries for the - # generated Python->C function wrappers, which are done - # by generate_cpy_function_method(). - prnt('static PyMethodDef _cffi_methods[] = {') - self._generate("method") - prnt(' {"_cffi_setup", _cffi_setup, METH_VARARGS, NULL},') - prnt(' {NULL, NULL, 0, NULL} /* Sentinel */') - prnt('};') - prnt() - # - # standard init. - modname = self.verifier.get_module_name() - constants = self._chained_list_constants[False] - prnt('#if PY_MAJOR_VERSION >= 3') - prnt() - prnt('static struct PyModuleDef _cffi_module_def = {') - prnt(' PyModuleDef_HEAD_INIT,') - prnt(' "%s",' % modname) - prnt(' NULL,') - prnt(' -1,') - prnt(' _cffi_methods,') - prnt(' NULL, NULL, NULL, NULL') - prnt('};') - prnt() - prnt('PyMODINIT_FUNC') - prnt('PyInit_%s(void)' % modname) - prnt('{') - prnt(' PyObject *lib;') - prnt(' lib = PyModule_Create(&_cffi_module_def);') - prnt(' if (lib == NULL)') - prnt(' return NULL;') - prnt(' if (%s < 0 || _cffi_init() < 0) {' % (constants,)) - prnt(' Py_DECREF(lib);') - prnt(' return NULL;') - prnt(' }') - prnt(' return lib;') - prnt('}') - prnt() - prnt('#else') - prnt() - prnt('PyMODINIT_FUNC') - prnt('init%s(void)' % modname) - prnt('{') - prnt(' PyObject *lib;') - prnt(' lib = Py_InitModule("%s", _cffi_methods);' % modname) - prnt(' if (lib == NULL)') - prnt(' return;') - prnt(' if (%s < 0 || _cffi_init() < 0)' % (constants,)) - prnt(' return;') - prnt(' return;') - prnt('}') - prnt() - prnt('#endif') - - def load_library(self, flags=None): - # XXX review all usages of 'self' here! - # import it as a new extension module - imp.acquire_lock() - try: - if hasattr(sys, "getdlopenflags"): - previous_flags = sys.getdlopenflags() - try: - if hasattr(sys, "setdlopenflags") and flags is not None: - sys.setdlopenflags(flags) - module = imp.load_dynamic(self.verifier.get_module_name(), - self.verifier.modulefilename) - except ImportError as e: - error = "importing %r: %s" % (self.verifier.modulefilename, e) - raise VerificationError(error) - finally: - if hasattr(sys, "setdlopenflags"): - sys.setdlopenflags(previous_flags) - finally: - imp.release_lock() - # - # call loading_cpy_struct() to get the struct layout inferred by - # the C compiler - self._load(module, 'loading') - # - # the C code will need the objects. Collect them in - # order in a list. - revmapping = dict([(value, key) - for (key, value) in self._typesdict.items()]) - lst = [revmapping[i] for i in range(len(revmapping))] - lst = list(map(self.ffi._get_cached_btype, lst)) - # - # build the FFILibrary class and instance and call _cffi_setup(). - # this will set up some fields like '_cffi_types', and only then - # it will invoke the chained list of functions that will really - # build (notably) the constant objects, as if they are - # pointers, and store them as attributes on the 'library' object. - class FFILibrary(object): - _cffi_python_module = module - _cffi_ffi = self.ffi - _cffi_dir = [] - def __dir__(self): - return FFILibrary._cffi_dir + list(self.__dict__) - library = FFILibrary() - if module._cffi_setup(lst, VerificationError, library): - import warnings - warnings.warn("reimporting %r might overwrite older definitions" - % (self.verifier.get_module_name())) - # - # finally, call the loaded_cpy_xxx() functions. This will perform - # the final adjustments, like copying the Python->C wrapper - # functions from the module to the 'library' object, and setting - # up the FFILibrary class with properties for the global C variables. - self._load(module, 'loaded', library=library) - module._cffi_original_ffi = self.ffi - module._cffi_types_of_builtin_funcs = self._types_of_builtin_functions - return library - - def _get_declarations(self): - lst = [(key, tp) for (key, (tp, qual)) in - self.ffi._parser._declarations.items()] - lst.sort() - return lst - - def _generate(self, step_name): - for name, tp in self._get_declarations(): - kind, realname = name.split(' ', 1) - try: - method = getattr(self, '_generate_cpy_%s_%s' % (kind, - step_name)) - except AttributeError: - raise VerificationError( - "not implemented in verify(): %r" % name) - try: - method(tp, realname) - except Exception as e: - model.attach_exception_info(e, name) - raise - - def _load(self, module, step_name, **kwds): - for name, tp in self._get_declarations(): - kind, realname = name.split(' ', 1) - method = getattr(self, '_%s_cpy_%s' % (step_name, kind)) - try: - method(tp, realname, module, **kwds) - except Exception as e: - model.attach_exception_info(e, name) - raise - - def _generate_nothing(self, tp, name): - pass - - def _loaded_noop(self, tp, name, module, **kwds): - pass - - # ---------- - - def _convert_funcarg_to_c(self, tp, fromvar, tovar, errcode): - extraarg = '' - if isinstance(tp, model.PrimitiveType): - if tp.is_integer_type() and tp.name != '_Bool': - converter = '_cffi_to_c_int' - extraarg = ', %s' % tp.name - else: - converter = '(%s)_cffi_to_c_%s' % (tp.get_c_name(''), - tp.name.replace(' ', '_')) - errvalue = '-1' - # - elif isinstance(tp, model.PointerType): - self._convert_funcarg_to_c_ptr_or_array(tp, fromvar, - tovar, errcode) - return - # - elif isinstance(tp, (model.StructOrUnion, model.EnumType)): - # a struct (not a struct pointer) as a function argument - self._prnt(' if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)' - % (tovar, self._gettypenum(tp), fromvar)) - self._prnt(' %s;' % errcode) - return - # - elif isinstance(tp, model.FunctionPtrType): - converter = '(%s)_cffi_to_c_pointer' % tp.get_c_name('') - extraarg = ', _cffi_type(%d)' % self._gettypenum(tp) - errvalue = 'NULL' - # - else: - raise NotImplementedError(tp) - # - self._prnt(' %s = %s(%s%s);' % (tovar, converter, fromvar, extraarg)) - self._prnt(' if (%s == (%s)%s && PyErr_Occurred())' % ( - tovar, tp.get_c_name(''), errvalue)) - self._prnt(' %s;' % errcode) - - def _extra_local_variables(self, tp, localvars, freelines): - if isinstance(tp, model.PointerType): - localvars.add('Py_ssize_t datasize') - localvars.add('struct _cffi_freeme_s *large_args_free = NULL') - freelines.add('if (large_args_free != NULL)' - ' _cffi_free_array_arguments(large_args_free);') - - def _convert_funcarg_to_c_ptr_or_array(self, tp, fromvar, tovar, errcode): - self._prnt(' datasize = _cffi_prepare_pointer_call_argument(') - self._prnt(' _cffi_type(%d), %s, (char **)&%s);' % ( - self._gettypenum(tp), fromvar, tovar)) - self._prnt(' if (datasize != 0) {') - self._prnt(' %s = ((size_t)datasize) <= 640 ? ' - 'alloca((size_t)datasize) : NULL;' % (tovar,)) - self._prnt(' if (_cffi_convert_array_argument(_cffi_type(%d), %s, ' - '(char **)&%s,' % (self._gettypenum(tp), fromvar, tovar)) - self._prnt(' datasize, &large_args_free) < 0)') - self._prnt(' %s;' % errcode) - self._prnt(' }') - - def _convert_expr_from_c(self, tp, var, context): - if isinstance(tp, model.PrimitiveType): - if tp.is_integer_type() and tp.name != '_Bool': - return '_cffi_from_c_int(%s, %s)' % (var, tp.name) - elif tp.name != 'long double': - return '_cffi_from_c_%s(%s)' % (tp.name.replace(' ', '_'), var) - else: - return '_cffi_from_c_deref((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, (model.PointerType, model.FunctionPtrType)): - return '_cffi_from_c_pointer((char *)%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, model.ArrayType): - return '_cffi_from_c_pointer((char *)%s, _cffi_type(%d))' % ( - var, self._gettypenum(model.PointerType(tp.item))) - elif isinstance(tp, model.StructOrUnion): - if tp.fldnames is None: - raise TypeError("'%s' is used as %s, but is opaque" % ( - tp._get_c_name(), context)) - return '_cffi_from_c_struct((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - elif isinstance(tp, model.EnumType): - return '_cffi_from_c_deref((char *)&%s, _cffi_type(%d))' % ( - var, self._gettypenum(tp)) - else: - raise NotImplementedError(tp) - - # ---------- - # typedefs: generates no code so far - - _generate_cpy_typedef_collecttype = _generate_nothing - _generate_cpy_typedef_decl = _generate_nothing - _generate_cpy_typedef_method = _generate_nothing - _loading_cpy_typedef = _loaded_noop - _loaded_cpy_typedef = _loaded_noop - - # ---------- - # function declarations - - def _generate_cpy_function_collecttype(self, tp, name): - assert isinstance(tp, model.FunctionPtrType) - if tp.ellipsis: - self._do_collect_type(tp) - else: - # don't call _do_collect_type(tp) in this common case, - # otherwise test_autofilled_struct_as_argument fails - for type in tp.args: - self._do_collect_type(type) - self._do_collect_type(tp.result) - - def _generate_cpy_function_decl(self, tp, name): - assert isinstance(tp, model.FunctionPtrType) - if tp.ellipsis: - # cannot support vararg functions better than this: check for its - # exact type (including the fixed arguments), and build it as a - # constant function pointer (no CPython wrapper) - self._generate_cpy_const(False, name, tp) - return - prnt = self._prnt - numargs = len(tp.args) - if numargs == 0: - argname = 'noarg' - elif numargs == 1: - argname = 'arg0' - else: - argname = 'args' - prnt('static PyObject *') - prnt('_cffi_f_%s(PyObject *self, PyObject *%s)' % (name, argname)) - prnt('{') - # - context = 'argument of %s' % name - for i, type in enumerate(tp.args): - prnt(' %s;' % type.get_c_name(' x%d' % i, context)) - # - localvars = set() - freelines = set() - for type in tp.args: - self._extra_local_variables(type, localvars, freelines) - for decl in sorted(localvars): - prnt(' %s;' % (decl,)) - # - if not isinstance(tp.result, model.VoidType): - result_code = 'result = ' - context = 'result of %s' % name - prnt(' %s;' % tp.result.get_c_name(' result', context)) - prnt(' PyObject *pyresult;') - else: - result_code = '' - # - if len(tp.args) > 1: - rng = range(len(tp.args)) - for i in rng: - prnt(' PyObject *arg%d;' % i) - prnt() - prnt(' if (!PyArg_ParseTuple(args, "%s:%s", %s))' % ( - 'O' * numargs, name, ', '.join(['&arg%d' % i for i in rng]))) - prnt(' return NULL;') - prnt() - # - for i, type in enumerate(tp.args): - self._convert_funcarg_to_c(type, 'arg%d' % i, 'x%d' % i, - 'return NULL') - prnt() - # - prnt(' Py_BEGIN_ALLOW_THREADS') - prnt(' _cffi_restore_errno();') - prnt(' { %s%s(%s); }' % ( - result_code, name, - ', '.join(['x%d' % i for i in range(len(tp.args))]))) - prnt(' _cffi_save_errno();') - prnt(' Py_END_ALLOW_THREADS') - prnt() - # - prnt(' (void)self; /* unused */') - if numargs == 0: - prnt(' (void)noarg; /* unused */') - if result_code: - prnt(' pyresult = %s;' % - self._convert_expr_from_c(tp.result, 'result', 'result type')) - for freeline in freelines: - prnt(' ' + freeline) - prnt(' return pyresult;') - else: - for freeline in freelines: - prnt(' ' + freeline) - prnt(' Py_INCREF(Py_None);') - prnt(' return Py_None;') - prnt('}') - prnt() - - def _generate_cpy_function_method(self, tp, name): - if tp.ellipsis: - return - numargs = len(tp.args) - if numargs == 0: - meth = 'METH_NOARGS' - elif numargs == 1: - meth = 'METH_O' - else: - meth = 'METH_VARARGS' - self._prnt(' {"%s", _cffi_f_%s, %s, NULL},' % (name, name, meth)) - - _loading_cpy_function = _loaded_noop - - def _loaded_cpy_function(self, tp, name, module, library): - if tp.ellipsis: - return - func = getattr(module, name) - setattr(library, name, func) - self._types_of_builtin_functions[func] = tp - - # ---------- - # named structs - - _generate_cpy_struct_collecttype = _generate_nothing - def _generate_cpy_struct_decl(self, tp, name): - assert name == tp.name - self._generate_struct_or_union_decl(tp, 'struct', name) - def _generate_cpy_struct_method(self, tp, name): - self._generate_struct_or_union_method(tp, 'struct', name) - def _loading_cpy_struct(self, tp, name, module): - self._loading_struct_or_union(tp, 'struct', name, module) - def _loaded_cpy_struct(self, tp, name, module, **kwds): - self._loaded_struct_or_union(tp) - - _generate_cpy_union_collecttype = _generate_nothing - def _generate_cpy_union_decl(self, tp, name): - assert name == tp.name - self._generate_struct_or_union_decl(tp, 'union', name) - def _generate_cpy_union_method(self, tp, name): - self._generate_struct_or_union_method(tp, 'union', name) - def _loading_cpy_union(self, tp, name, module): - self._loading_struct_or_union(tp, 'union', name, module) - def _loaded_cpy_union(self, tp, name, module, **kwds): - self._loaded_struct_or_union(tp) - - def _generate_struct_or_union_decl(self, tp, prefix, name): - if tp.fldnames is None: - return # nothing to do with opaque structs - checkfuncname = '_cffi_check_%s_%s' % (prefix, name) - layoutfuncname = '_cffi_layout_%s_%s' % (prefix, name) - cname = ('%s %s' % (prefix, name)).strip() - # - prnt = self._prnt - prnt('static void %s(%s *p)' % (checkfuncname, cname)) - prnt('{') - prnt(' /* only to generate compile-time warnings or errors */') - prnt(' (void)p;') - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if (isinstance(ftype, model.PrimitiveType) - and ftype.is_integer_type()) or fbitsize >= 0: - # accept all integers, but complain on float or double - prnt(' (void)((p->%s) << 1);' % fname) - else: - # only accept exactly the type declared. - try: - prnt(' { %s = &p->%s; (void)tmp; }' % ( - ftype.get_c_name('*tmp', 'field %r'%fname, quals=fqual), - fname)) - except VerificationError as e: - prnt(' /* %s */' % str(e)) # cannot verify it, ignore - prnt('}') - prnt('static PyObject *') - prnt('%s(PyObject *self, PyObject *noarg)' % (layoutfuncname,)) - prnt('{') - prnt(' struct _cffi_aligncheck { char x; %s y; };' % cname) - prnt(' static Py_ssize_t nums[] = {') - prnt(' sizeof(%s),' % cname) - prnt(' offsetof(struct _cffi_aligncheck, y),') - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if fbitsize >= 0: - continue # xxx ignore fbitsize for now - prnt(' offsetof(%s, %s),' % (cname, fname)) - if isinstance(ftype, model.ArrayType) and ftype.length is None: - prnt(' 0, /* %s */' % ftype._get_c_name()) - else: - prnt(' sizeof(((%s *)0)->%s),' % (cname, fname)) - prnt(' -1') - prnt(' };') - prnt(' (void)self; /* unused */') - prnt(' (void)noarg; /* unused */') - prnt(' return _cffi_get_struct_layout(nums);') - prnt(' /* the next line is not executed, but compiled */') - prnt(' %s(0);' % (checkfuncname,)) - prnt('}') - prnt() - - def _generate_struct_or_union_method(self, tp, prefix, name): - if tp.fldnames is None: - return # nothing to do with opaque structs - layoutfuncname = '_cffi_layout_%s_%s' % (prefix, name) - self._prnt(' {"%s", %s, METH_NOARGS, NULL},' % (layoutfuncname, - layoutfuncname)) - - def _loading_struct_or_union(self, tp, prefix, name, module): - if tp.fldnames is None: - return # nothing to do with opaque structs - layoutfuncname = '_cffi_layout_%s_%s' % (prefix, name) - # - function = getattr(module, layoutfuncname) - layout = function() - if isinstance(tp, model.StructOrUnion) and tp.partial: - # use the function()'s sizes and offsets to guide the - # layout of the struct - totalsize = layout[0] - totalalignment = layout[1] - fieldofs = layout[2::2] - fieldsize = layout[3::2] - tp.force_flatten() - assert len(fieldofs) == len(fieldsize) == len(tp.fldnames) - tp.fixedlayout = fieldofs, fieldsize, totalsize, totalalignment - else: - cname = ('%s %s' % (prefix, name)).strip() - self._struct_pending_verification[tp] = layout, cname - - def _loaded_struct_or_union(self, tp): - if tp.fldnames is None: - return # nothing to do with opaque structs - self.ffi._get_cached_btype(tp) # force 'fixedlayout' to be considered - - if tp in self._struct_pending_verification: - # check that the layout sizes and offsets match the real ones - def check(realvalue, expectedvalue, msg): - if realvalue != expectedvalue: - raise VerificationError( - "%s (we have %d, but C compiler says %d)" - % (msg, expectedvalue, realvalue)) - ffi = self.ffi - BStruct = ffi._get_cached_btype(tp) - layout, cname = self._struct_pending_verification.pop(tp) - check(layout[0], ffi.sizeof(BStruct), "wrong total size") - check(layout[1], ffi.alignof(BStruct), "wrong total alignment") - i = 2 - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if fbitsize >= 0: - continue # xxx ignore fbitsize for now - check(layout[i], ffi.offsetof(BStruct, fname), - "wrong offset for field %r" % (fname,)) - if layout[i+1] != 0: - BField = ffi._get_cached_btype(ftype) - check(layout[i+1], ffi.sizeof(BField), - "wrong size for field %r" % (fname,)) - i += 2 - assert i == len(layout) - - # ---------- - # 'anonymous' declarations. These are produced for anonymous structs - # or unions; the 'name' is obtained by a typedef. - - _generate_cpy_anonymous_collecttype = _generate_nothing - - def _generate_cpy_anonymous_decl(self, tp, name): - if isinstance(tp, model.EnumType): - self._generate_cpy_enum_decl(tp, name, '') - else: - self._generate_struct_or_union_decl(tp, '', name) - - def _generate_cpy_anonymous_method(self, tp, name): - if not isinstance(tp, model.EnumType): - self._generate_struct_or_union_method(tp, '', name) - - def _loading_cpy_anonymous(self, tp, name, module): - if isinstance(tp, model.EnumType): - self._loading_cpy_enum(tp, name, module) - else: - self._loading_struct_or_union(tp, '', name, module) - - def _loaded_cpy_anonymous(self, tp, name, module, **kwds): - if isinstance(tp, model.EnumType): - self._loaded_cpy_enum(tp, name, module, **kwds) - else: - self._loaded_struct_or_union(tp) - - # ---------- - # constants, likely declared with '#define' - - def _generate_cpy_const(self, is_int, name, tp=None, category='const', - vartp=None, delayed=True, size_too=False, - check_value=None): - prnt = self._prnt - funcname = '_cffi_%s_%s' % (category, name) - prnt('static int %s(PyObject *lib)' % funcname) - prnt('{') - prnt(' PyObject *o;') - prnt(' int res;') - if not is_int: - prnt(' %s;' % (vartp or tp).get_c_name(' i', name)) - else: - assert category == 'const' - # - if check_value is not None: - self._check_int_constant_value(name, check_value) - # - if not is_int: - if category == 'var': - realexpr = '&' + name - else: - realexpr = name - prnt(' i = (%s);' % (realexpr,)) - prnt(' o = %s;' % (self._convert_expr_from_c(tp, 'i', - 'variable type'),)) - assert delayed - else: - prnt(' o = _cffi_from_c_int_const(%s);' % name) - prnt(' if (o == NULL)') - prnt(' return -1;') - if size_too: - prnt(' {') - prnt(' PyObject *o1 = o;') - prnt(' o = Py_BuildValue("On", o1, (Py_ssize_t)sizeof(%s));' - % (name,)) - prnt(' Py_DECREF(o1);') - prnt(' if (o == NULL)') - prnt(' return -1;') - prnt(' }') - prnt(' res = PyObject_SetAttrString(lib, "%s", o);' % name) - prnt(' Py_DECREF(o);') - prnt(' if (res < 0)') - prnt(' return -1;') - prnt(' return %s;' % self._chained_list_constants[delayed]) - self._chained_list_constants[delayed] = funcname + '(lib)' - prnt('}') - prnt() - - def _generate_cpy_constant_collecttype(self, tp, name): - is_int = isinstance(tp, model.PrimitiveType) and tp.is_integer_type() - if not is_int: - self._do_collect_type(tp) - - def _generate_cpy_constant_decl(self, tp, name): - is_int = isinstance(tp, model.PrimitiveType) and tp.is_integer_type() - self._generate_cpy_const(is_int, name, tp) - - _generate_cpy_constant_method = _generate_nothing - _loading_cpy_constant = _loaded_noop - _loaded_cpy_constant = _loaded_noop - - # ---------- - # enums - - def _check_int_constant_value(self, name, value, err_prefix=''): - prnt = self._prnt - if value <= 0: - prnt(' if ((%s) > 0 || (long)(%s) != %dL) {' % ( - name, name, value)) - else: - prnt(' if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {' % ( - name, name, value)) - prnt(' char buf[64];') - prnt(' if ((%s) <= 0)' % name) - prnt(' snprintf(buf, 63, "%%ld", (long)(%s));' % name) - prnt(' else') - prnt(' snprintf(buf, 63, "%%lu", (unsigned long)(%s));' % - name) - prnt(' PyErr_Format(_cffi_VerificationError,') - prnt(' "%s%s has the real value %s, not %s",') - prnt(' "%s", "%s", buf, "%d");' % ( - err_prefix, name, value)) - prnt(' return -1;') - prnt(' }') - - def _enum_funcname(self, prefix, name): - # "$enum_$1" => "___D_enum____D_1" - name = name.replace('$', '___D_') - return '_cffi_e_%s_%s' % (prefix, name) - - def _generate_cpy_enum_decl(self, tp, name, prefix='enum'): - if tp.partial: - for enumerator in tp.enumerators: - self._generate_cpy_const(True, enumerator, delayed=False) - return - # - funcname = self._enum_funcname(prefix, name) - prnt = self._prnt - prnt('static int %s(PyObject *lib)' % funcname) - prnt('{') - for enumerator, enumvalue in zip(tp.enumerators, tp.enumvalues): - self._check_int_constant_value(enumerator, enumvalue, - "enum %s: " % name) - prnt(' return %s;' % self._chained_list_constants[True]) - self._chained_list_constants[True] = funcname + '(lib)' - prnt('}') - prnt() - - _generate_cpy_enum_collecttype = _generate_nothing - _generate_cpy_enum_method = _generate_nothing - - def _loading_cpy_enum(self, tp, name, module): - if tp.partial: - enumvalues = [getattr(module, enumerator) - for enumerator in tp.enumerators] - tp.enumvalues = tuple(enumvalues) - tp.partial_resolved = True - - def _loaded_cpy_enum(self, tp, name, module, library): - for enumerator, enumvalue in zip(tp.enumerators, tp.enumvalues): - setattr(library, enumerator, enumvalue) - - # ---------- - # macros: for now only for integers - - def _generate_cpy_macro_decl(self, tp, name): - if tp == '...': - check_value = None - else: - check_value = tp # an integer - self._generate_cpy_const(True, name, check_value=check_value) - - _generate_cpy_macro_collecttype = _generate_nothing - _generate_cpy_macro_method = _generate_nothing - _loading_cpy_macro = _loaded_noop - _loaded_cpy_macro = _loaded_noop - - # ---------- - # global variables - - def _generate_cpy_variable_collecttype(self, tp, name): - if isinstance(tp, model.ArrayType): - tp_ptr = model.PointerType(tp.item) - else: - tp_ptr = model.PointerType(tp) - self._do_collect_type(tp_ptr) - - def _generate_cpy_variable_decl(self, tp, name): - if isinstance(tp, model.ArrayType): - tp_ptr = model.PointerType(tp.item) - self._generate_cpy_const(False, name, tp, vartp=tp_ptr, - size_too = tp.length_is_unknown()) - else: - tp_ptr = model.PointerType(tp) - self._generate_cpy_const(False, name, tp_ptr, category='var') - - _generate_cpy_variable_method = _generate_nothing - _loading_cpy_variable = _loaded_noop - - def _loaded_cpy_variable(self, tp, name, module, library): - value = getattr(library, name) - if isinstance(tp, model.ArrayType): # int a[5] is "constant" in the - # sense that "a=..." is forbidden - if tp.length_is_unknown(): - assert isinstance(value, tuple) - (value, size) = value - BItemType = self.ffi._get_cached_btype(tp.item) - length, rest = divmod(size, self.ffi.sizeof(BItemType)) - if rest != 0: - raise VerificationError( - "bad size: %r does not seem to be an array of %s" % - (name, tp.item)) - tp = tp.resolve_length(length) - # 'value' is a which we have to replace with - # a if the N is actually known - if tp.length is not None: - BArray = self.ffi._get_cached_btype(tp) - value = self.ffi.cast(BArray, value) - setattr(library, name, value) - return - # remove ptr= from the library instance, and replace - # it by a property on the class, which reads/writes into ptr[0]. - ptr = value - delattr(library, name) - def getter(library): - return ptr[0] - def setter(library, value): - ptr[0] = value - setattr(type(library), name, property(getter, setter)) - type(library)._cffi_dir.append(name) - - # ---------- - - def _generate_setup_custom(self): - prnt = self._prnt - prnt('static int _cffi_setup_custom(PyObject *lib)') - prnt('{') - prnt(' return %s;' % self._chained_list_constants[True]) - prnt('}') - -cffimod_header = r''' -#include -#include - -/* this block of #ifs should be kept exactly identical between - c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py - and cffi/_cffi_include.h */ -#if defined(_MSC_VER) -# include /* for alloca() */ -# if _MSC_VER < 1600 /* MSVC < 2010 */ - typedef __int8 int8_t; - typedef __int16 int16_t; - typedef __int32 int32_t; - typedef __int64 int64_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int64 uint64_t; - typedef __int8 int_least8_t; - typedef __int16 int_least16_t; - typedef __int32 int_least32_t; - typedef __int64 int_least64_t; - typedef unsigned __int8 uint_least8_t; - typedef unsigned __int16 uint_least16_t; - typedef unsigned __int32 uint_least32_t; - typedef unsigned __int64 uint_least64_t; - typedef __int8 int_fast8_t; - typedef __int16 int_fast16_t; - typedef __int32 int_fast32_t; - typedef __int64 int_fast64_t; - typedef unsigned __int8 uint_fast8_t; - typedef unsigned __int16 uint_fast16_t; - typedef unsigned __int32 uint_fast32_t; - typedef unsigned __int64 uint_fast64_t; - typedef __int64 intmax_t; - typedef unsigned __int64 uintmax_t; -# else -# include -# endif -# if _MSC_VER < 1800 /* MSVC < 2013 */ -# ifndef __cplusplus - typedef unsigned char _Bool; -# endif -# endif -#else -# include -# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux) -# include -# endif -#endif - -#if PY_MAJOR_VERSION < 3 -# undef PyCapsule_CheckExact -# undef PyCapsule_GetPointer -# define PyCapsule_CheckExact(capsule) (PyCObject_Check(capsule)) -# define PyCapsule_GetPointer(capsule, name) \ - (PyCObject_AsVoidPtr(capsule)) -#endif - -#if PY_MAJOR_VERSION >= 3 -# define PyInt_FromLong PyLong_FromLong -#endif - -#define _cffi_from_c_double PyFloat_FromDouble -#define _cffi_from_c_float PyFloat_FromDouble -#define _cffi_from_c_long PyInt_FromLong -#define _cffi_from_c_ulong PyLong_FromUnsignedLong -#define _cffi_from_c_longlong PyLong_FromLongLong -#define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong -#define _cffi_from_c__Bool PyBool_FromLong - -#define _cffi_to_c_double PyFloat_AsDouble -#define _cffi_to_c_float PyFloat_AsDouble - -#define _cffi_from_c_int_const(x) \ - (((x) > 0) ? \ - ((unsigned long long)(x) <= (unsigned long long)LONG_MAX) ? \ - PyInt_FromLong((long)(x)) : \ - PyLong_FromUnsignedLongLong((unsigned long long)(x)) : \ - ((long long)(x) >= (long long)LONG_MIN) ? \ - PyInt_FromLong((long)(x)) : \ - PyLong_FromLongLong((long long)(x))) - -#define _cffi_from_c_int(x, type) \ - (((type)-1) > 0 ? /* unsigned */ \ - (sizeof(type) < sizeof(long) ? \ - PyInt_FromLong((long)x) : \ - sizeof(type) == sizeof(long) ? \ - PyLong_FromUnsignedLong((unsigned long)x) : \ - PyLong_FromUnsignedLongLong((unsigned long long)x)) : \ - (sizeof(type) <= sizeof(long) ? \ - PyInt_FromLong((long)x) : \ - PyLong_FromLongLong((long long)x))) - -#define _cffi_to_c_int(o, type) \ - ((type)( \ - sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o) \ - : (type)_cffi_to_c_i8(o)) : \ - sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o) \ - : (type)_cffi_to_c_i16(o)) : \ - sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o) \ - : (type)_cffi_to_c_i32(o)) : \ - sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o) \ - : (type)_cffi_to_c_i64(o)) : \ - (Py_FatalError("unsupported size for type " #type), (type)0))) - -#define _cffi_to_c_i8 \ - ((int(*)(PyObject *))_cffi_exports[1]) -#define _cffi_to_c_u8 \ - ((int(*)(PyObject *))_cffi_exports[2]) -#define _cffi_to_c_i16 \ - ((int(*)(PyObject *))_cffi_exports[3]) -#define _cffi_to_c_u16 \ - ((int(*)(PyObject *))_cffi_exports[4]) -#define _cffi_to_c_i32 \ - ((int(*)(PyObject *))_cffi_exports[5]) -#define _cffi_to_c_u32 \ - ((unsigned int(*)(PyObject *))_cffi_exports[6]) -#define _cffi_to_c_i64 \ - ((long long(*)(PyObject *))_cffi_exports[7]) -#define _cffi_to_c_u64 \ - ((unsigned long long(*)(PyObject *))_cffi_exports[8]) -#define _cffi_to_c_char \ - ((int(*)(PyObject *))_cffi_exports[9]) -#define _cffi_from_c_pointer \ - ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[10]) -#define _cffi_to_c_pointer \ - ((char *(*)(PyObject *, CTypeDescrObject *))_cffi_exports[11]) -#define _cffi_get_struct_layout \ - ((PyObject *(*)(Py_ssize_t[]))_cffi_exports[12]) -#define _cffi_restore_errno \ - ((void(*)(void))_cffi_exports[13]) -#define _cffi_save_errno \ - ((void(*)(void))_cffi_exports[14]) -#define _cffi_from_c_char \ - ((PyObject *(*)(char))_cffi_exports[15]) -#define _cffi_from_c_deref \ - ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[16]) -#define _cffi_to_c \ - ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[17]) -#define _cffi_from_c_struct \ - ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[18]) -#define _cffi_to_c_wchar_t \ - ((wchar_t(*)(PyObject *))_cffi_exports[19]) -#define _cffi_from_c_wchar_t \ - ((PyObject *(*)(wchar_t))_cffi_exports[20]) -#define _cffi_to_c_long_double \ - ((long double(*)(PyObject *))_cffi_exports[21]) -#define _cffi_to_c__Bool \ - ((_Bool(*)(PyObject *))_cffi_exports[22]) -#define _cffi_prepare_pointer_call_argument \ - ((Py_ssize_t(*)(CTypeDescrObject *, PyObject *, char **))_cffi_exports[23]) -#define _cffi_convert_array_from_object \ - ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[24]) -#define _CFFI_NUM_EXPORTS 25 - -typedef struct _ctypedescr CTypeDescrObject; - -static void *_cffi_exports[_CFFI_NUM_EXPORTS]; -static PyObject *_cffi_types, *_cffi_VerificationError; - -static int _cffi_setup_custom(PyObject *lib); /* forward */ - -static PyObject *_cffi_setup(PyObject *self, PyObject *args) -{ - PyObject *library; - int was_alive = (_cffi_types != NULL); - (void)self; /* unused */ - if (!PyArg_ParseTuple(args, "OOO", &_cffi_types, &_cffi_VerificationError, - &library)) - return NULL; - Py_INCREF(_cffi_types); - Py_INCREF(_cffi_VerificationError); - if (_cffi_setup_custom(library) < 0) - return NULL; - return PyBool_FromLong(was_alive); -} - -union _cffi_union_alignment_u { - unsigned char m_char; - unsigned short m_short; - unsigned int m_int; - unsigned long m_long; - unsigned long long m_longlong; - float m_float; - double m_double; - long double m_longdouble; -}; - -struct _cffi_freeme_s { - struct _cffi_freeme_s *next; - union _cffi_union_alignment_u alignment; -}; - -#ifdef __GNUC__ - __attribute__((unused)) -#endif -static int _cffi_convert_array_argument(CTypeDescrObject *ctptr, PyObject *arg, - char **output_data, Py_ssize_t datasize, - struct _cffi_freeme_s **freeme) -{ - char *p; - if (datasize < 0) - return -1; - - p = *output_data; - if (p == NULL) { - struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc( - offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize); - if (fp == NULL) - return -1; - fp->next = *freeme; - *freeme = fp; - p = *output_data = (char *)&fp->alignment; - } - memset((void *)p, 0, (size_t)datasize); - return _cffi_convert_array_from_object(p, ctptr, arg); -} - -#ifdef __GNUC__ - __attribute__((unused)) -#endif -static void _cffi_free_array_arguments(struct _cffi_freeme_s *freeme) -{ - do { - void *p = (void *)freeme; - freeme = freeme->next; - PyObject_Free(p); - } while (freeme != NULL); -} - -static int _cffi_init(void) -{ - PyObject *module, *c_api_object = NULL; - - module = PyImport_ImportModule("_cffi_backend"); - if (module == NULL) - goto failure; - - c_api_object = PyObject_GetAttrString(module, "_C_API"); - if (c_api_object == NULL) - goto failure; - if (!PyCapsule_CheckExact(c_api_object)) { - PyErr_SetNone(PyExc_ImportError); - goto failure; - } - memcpy(_cffi_exports, PyCapsule_GetPointer(c_api_object, "cffi"), - _CFFI_NUM_EXPORTS * sizeof(void *)); - - Py_DECREF(module); - Py_DECREF(c_api_object); - return 0; - - failure: - Py_XDECREF(module); - Py_XDECREF(c_api_object); - return -1; -} - -#define _cffi_type(num) ((CTypeDescrObject *)PyList_GET_ITEM(_cffi_types, num)) - -/**********/ -''' diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_gen.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_gen.py deleted file mode 100644 index 26421526..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/vengine_gen.py +++ /dev/null @@ -1,675 +0,0 @@ -# -# DEPRECATED: implementation for ffi.verify() -# -import sys, os -import types - -from . import model -from .error import VerificationError - - -class VGenericEngine(object): - _class_key = 'g' - _gen_python_module = False - - def __init__(self, verifier): - self.verifier = verifier - self.ffi = verifier.ffi - self.export_symbols = [] - self._struct_pending_verification = {} - - def patch_extension_kwds(self, kwds): - # add 'export_symbols' to the dictionary. Note that we add the - # list before filling it. When we fill it, it will thus also show - # up in kwds['export_symbols']. - kwds.setdefault('export_symbols', self.export_symbols) - - def find_module(self, module_name, path, so_suffixes): - for so_suffix in so_suffixes: - basename = module_name + so_suffix - if path is None: - path = sys.path - for dirname in path: - filename = os.path.join(dirname, basename) - if os.path.isfile(filename): - return filename - - def collect_types(self): - pass # not needed in the generic engine - - def _prnt(self, what=''): - self._f.write(what + '\n') - - def write_source_to_f(self): - prnt = self._prnt - # first paste some standard set of lines that are mostly '#include' - prnt(cffimod_header) - # then paste the C source given by the user, verbatim. - prnt(self.verifier.preamble) - # - # call generate_gen_xxx_decl(), for every xxx found from - # ffi._parser._declarations. This generates all the functions. - self._generate('decl') - # - # on Windows, distutils insists on putting init_cffi_xyz in - # 'export_symbols', so instead of fighting it, just give up and - # give it one - if sys.platform == 'win32': - if sys.version_info >= (3,): - prefix = 'PyInit_' - else: - prefix = 'init' - modname = self.verifier.get_module_name() - prnt("void %s%s(void) { }\n" % (prefix, modname)) - - def load_library(self, flags=0): - # import it with the CFFI backend - backend = self.ffi._backend - # needs to make a path that contains '/', on Posix - filename = os.path.join(os.curdir, self.verifier.modulefilename) - module = backend.load_library(filename, flags) - # - # call loading_gen_struct() to get the struct layout inferred by - # the C compiler - self._load(module, 'loading') - - # build the FFILibrary class and instance, this is a module subclass - # because modules are expected to have usually-constant-attributes and - # in PyPy this means the JIT is able to treat attributes as constant, - # which we want. - class FFILibrary(types.ModuleType): - _cffi_generic_module = module - _cffi_ffi = self.ffi - _cffi_dir = [] - def __dir__(self): - return FFILibrary._cffi_dir - library = FFILibrary("") - # - # finally, call the loaded_gen_xxx() functions. This will set - # up the 'library' object. - self._load(module, 'loaded', library=library) - return library - - def _get_declarations(self): - lst = [(key, tp) for (key, (tp, qual)) in - self.ffi._parser._declarations.items()] - lst.sort() - return lst - - def _generate(self, step_name): - for name, tp in self._get_declarations(): - kind, realname = name.split(' ', 1) - try: - method = getattr(self, '_generate_gen_%s_%s' % (kind, - step_name)) - except AttributeError: - raise VerificationError( - "not implemented in verify(): %r" % name) - try: - method(tp, realname) - except Exception as e: - model.attach_exception_info(e, name) - raise - - def _load(self, module, step_name, **kwds): - for name, tp in self._get_declarations(): - kind, realname = name.split(' ', 1) - method = getattr(self, '_%s_gen_%s' % (step_name, kind)) - try: - method(tp, realname, module, **kwds) - except Exception as e: - model.attach_exception_info(e, name) - raise - - def _generate_nothing(self, tp, name): - pass - - def _loaded_noop(self, tp, name, module, **kwds): - pass - - # ---------- - # typedefs: generates no code so far - - _generate_gen_typedef_decl = _generate_nothing - _loading_gen_typedef = _loaded_noop - _loaded_gen_typedef = _loaded_noop - - # ---------- - # function declarations - - def _generate_gen_function_decl(self, tp, name): - assert isinstance(tp, model.FunctionPtrType) - if tp.ellipsis: - # cannot support vararg functions better than this: check for its - # exact type (including the fixed arguments), and build it as a - # constant function pointer (no _cffi_f_%s wrapper) - self._generate_gen_const(False, name, tp) - return - prnt = self._prnt - numargs = len(tp.args) - argnames = [] - for i, type in enumerate(tp.args): - indirection = '' - if isinstance(type, model.StructOrUnion): - indirection = '*' - argnames.append('%sx%d' % (indirection, i)) - context = 'argument of %s' % name - arglist = [type.get_c_name(' %s' % arg, context) - for type, arg in zip(tp.args, argnames)] - tpresult = tp.result - if isinstance(tpresult, model.StructOrUnion): - arglist.insert(0, tpresult.get_c_name(' *r', context)) - tpresult = model.void_type - arglist = ', '.join(arglist) or 'void' - wrappername = '_cffi_f_%s' % name - self.export_symbols.append(wrappername) - if tp.abi: - abi = tp.abi + ' ' - else: - abi = '' - funcdecl = ' %s%s(%s)' % (abi, wrappername, arglist) - context = 'result of %s' % name - prnt(tpresult.get_c_name(funcdecl, context)) - prnt('{') - # - if isinstance(tp.result, model.StructOrUnion): - result_code = '*r = ' - elif not isinstance(tp.result, model.VoidType): - result_code = 'return ' - else: - result_code = '' - prnt(' %s%s(%s);' % (result_code, name, ', '.join(argnames))) - prnt('}') - prnt() - - _loading_gen_function = _loaded_noop - - def _loaded_gen_function(self, tp, name, module, library): - assert isinstance(tp, model.FunctionPtrType) - if tp.ellipsis: - newfunction = self._load_constant(False, tp, name, module) - else: - indirections = [] - base_tp = tp - if (any(isinstance(typ, model.StructOrUnion) for typ in tp.args) - or isinstance(tp.result, model.StructOrUnion)): - indirect_args = [] - for i, typ in enumerate(tp.args): - if isinstance(typ, model.StructOrUnion): - typ = model.PointerType(typ) - indirections.append((i, typ)) - indirect_args.append(typ) - indirect_result = tp.result - if isinstance(indirect_result, model.StructOrUnion): - if indirect_result.fldtypes is None: - raise TypeError("'%s' is used as result type, " - "but is opaque" % ( - indirect_result._get_c_name(),)) - indirect_result = model.PointerType(indirect_result) - indirect_args.insert(0, indirect_result) - indirections.insert(0, ("result", indirect_result)) - indirect_result = model.void_type - tp = model.FunctionPtrType(tuple(indirect_args), - indirect_result, tp.ellipsis) - BFunc = self.ffi._get_cached_btype(tp) - wrappername = '_cffi_f_%s' % name - newfunction = module.load_function(BFunc, wrappername) - for i, typ in indirections: - newfunction = self._make_struct_wrapper(newfunction, i, typ, - base_tp) - setattr(library, name, newfunction) - type(library)._cffi_dir.append(name) - - def _make_struct_wrapper(self, oldfunc, i, tp, base_tp): - backend = self.ffi._backend - BType = self.ffi._get_cached_btype(tp) - if i == "result": - ffi = self.ffi - def newfunc(*args): - res = ffi.new(BType) - oldfunc(res, *args) - return res[0] - else: - def newfunc(*args): - args = args[:i] + (backend.newp(BType, args[i]),) + args[i+1:] - return oldfunc(*args) - newfunc._cffi_base_type = base_tp - return newfunc - - # ---------- - # named structs - - def _generate_gen_struct_decl(self, tp, name): - assert name == tp.name - self._generate_struct_or_union_decl(tp, 'struct', name) - - def _loading_gen_struct(self, tp, name, module): - self._loading_struct_or_union(tp, 'struct', name, module) - - def _loaded_gen_struct(self, tp, name, module, **kwds): - self._loaded_struct_or_union(tp) - - def _generate_gen_union_decl(self, tp, name): - assert name == tp.name - self._generate_struct_or_union_decl(tp, 'union', name) - - def _loading_gen_union(self, tp, name, module): - self._loading_struct_or_union(tp, 'union', name, module) - - def _loaded_gen_union(self, tp, name, module, **kwds): - self._loaded_struct_or_union(tp) - - def _generate_struct_or_union_decl(self, tp, prefix, name): - if tp.fldnames is None: - return # nothing to do with opaque structs - checkfuncname = '_cffi_check_%s_%s' % (prefix, name) - layoutfuncname = '_cffi_layout_%s_%s' % (prefix, name) - cname = ('%s %s' % (prefix, name)).strip() - # - prnt = self._prnt - prnt('static void %s(%s *p)' % (checkfuncname, cname)) - prnt('{') - prnt(' /* only to generate compile-time warnings or errors */') - prnt(' (void)p;') - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if (isinstance(ftype, model.PrimitiveType) - and ftype.is_integer_type()) or fbitsize >= 0: - # accept all integers, but complain on float or double - prnt(' (void)((p->%s) << 1);' % fname) - else: - # only accept exactly the type declared. - try: - prnt(' { %s = &p->%s; (void)tmp; }' % ( - ftype.get_c_name('*tmp', 'field %r'%fname, quals=fqual), - fname)) - except VerificationError as e: - prnt(' /* %s */' % str(e)) # cannot verify it, ignore - prnt('}') - self.export_symbols.append(layoutfuncname) - prnt('intptr_t %s(intptr_t i)' % (layoutfuncname,)) - prnt('{') - prnt(' struct _cffi_aligncheck { char x; %s y; };' % cname) - prnt(' static intptr_t nums[] = {') - prnt(' sizeof(%s),' % cname) - prnt(' offsetof(struct _cffi_aligncheck, y),') - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if fbitsize >= 0: - continue # xxx ignore fbitsize for now - prnt(' offsetof(%s, %s),' % (cname, fname)) - if isinstance(ftype, model.ArrayType) and ftype.length is None: - prnt(' 0, /* %s */' % ftype._get_c_name()) - else: - prnt(' sizeof(((%s *)0)->%s),' % (cname, fname)) - prnt(' -1') - prnt(' };') - prnt(' return nums[i];') - prnt(' /* the next line is not executed, but compiled */') - prnt(' %s(0);' % (checkfuncname,)) - prnt('}') - prnt() - - def _loading_struct_or_union(self, tp, prefix, name, module): - if tp.fldnames is None: - return # nothing to do with opaque structs - layoutfuncname = '_cffi_layout_%s_%s' % (prefix, name) - # - BFunc = self.ffi._typeof_locked("intptr_t(*)(intptr_t)")[0] - function = module.load_function(BFunc, layoutfuncname) - layout = [] - num = 0 - while True: - x = function(num) - if x < 0: break - layout.append(x) - num += 1 - if isinstance(tp, model.StructOrUnion) and tp.partial: - # use the function()'s sizes and offsets to guide the - # layout of the struct - totalsize = layout[0] - totalalignment = layout[1] - fieldofs = layout[2::2] - fieldsize = layout[3::2] - tp.force_flatten() - assert len(fieldofs) == len(fieldsize) == len(tp.fldnames) - tp.fixedlayout = fieldofs, fieldsize, totalsize, totalalignment - else: - cname = ('%s %s' % (prefix, name)).strip() - self._struct_pending_verification[tp] = layout, cname - - def _loaded_struct_or_union(self, tp): - if tp.fldnames is None: - return # nothing to do with opaque structs - self.ffi._get_cached_btype(tp) # force 'fixedlayout' to be considered - - if tp in self._struct_pending_verification: - # check that the layout sizes and offsets match the real ones - def check(realvalue, expectedvalue, msg): - if realvalue != expectedvalue: - raise VerificationError( - "%s (we have %d, but C compiler says %d)" - % (msg, expectedvalue, realvalue)) - ffi = self.ffi - BStruct = ffi._get_cached_btype(tp) - layout, cname = self._struct_pending_verification.pop(tp) - check(layout[0], ffi.sizeof(BStruct), "wrong total size") - check(layout[1], ffi.alignof(BStruct), "wrong total alignment") - i = 2 - for fname, ftype, fbitsize, fqual in tp.enumfields(): - if fbitsize >= 0: - continue # xxx ignore fbitsize for now - check(layout[i], ffi.offsetof(BStruct, fname), - "wrong offset for field %r" % (fname,)) - if layout[i+1] != 0: - BField = ffi._get_cached_btype(ftype) - check(layout[i+1], ffi.sizeof(BField), - "wrong size for field %r" % (fname,)) - i += 2 - assert i == len(layout) - - # ---------- - # 'anonymous' declarations. These are produced for anonymous structs - # or unions; the 'name' is obtained by a typedef. - - def _generate_gen_anonymous_decl(self, tp, name): - if isinstance(tp, model.EnumType): - self._generate_gen_enum_decl(tp, name, '') - else: - self._generate_struct_or_union_decl(tp, '', name) - - def _loading_gen_anonymous(self, tp, name, module): - if isinstance(tp, model.EnumType): - self._loading_gen_enum(tp, name, module, '') - else: - self._loading_struct_or_union(tp, '', name, module) - - def _loaded_gen_anonymous(self, tp, name, module, **kwds): - if isinstance(tp, model.EnumType): - self._loaded_gen_enum(tp, name, module, **kwds) - else: - self._loaded_struct_or_union(tp) - - # ---------- - # constants, likely declared with '#define' - - def _generate_gen_const(self, is_int, name, tp=None, category='const', - check_value=None): - prnt = self._prnt - funcname = '_cffi_%s_%s' % (category, name) - self.export_symbols.append(funcname) - if check_value is not None: - assert is_int - assert category == 'const' - prnt('int %s(char *out_error)' % funcname) - prnt('{') - self._check_int_constant_value(name, check_value) - prnt(' return 0;') - prnt('}') - elif is_int: - assert category == 'const' - prnt('int %s(long long *out_value)' % funcname) - prnt('{') - prnt(' *out_value = (long long)(%s);' % (name,)) - prnt(' return (%s) <= 0;' % (name,)) - prnt('}') - else: - assert tp is not None - assert check_value is None - if category == 'var': - ampersand = '&' - else: - ampersand = '' - extra = '' - if category == 'const' and isinstance(tp, model.StructOrUnion): - extra = 'const *' - ampersand = '&' - prnt(tp.get_c_name(' %s%s(void)' % (extra, funcname), name)) - prnt('{') - prnt(' return (%s%s);' % (ampersand, name)) - prnt('}') - prnt() - - def _generate_gen_constant_decl(self, tp, name): - is_int = isinstance(tp, model.PrimitiveType) and tp.is_integer_type() - self._generate_gen_const(is_int, name, tp) - - _loading_gen_constant = _loaded_noop - - def _load_constant(self, is_int, tp, name, module, check_value=None): - funcname = '_cffi_const_%s' % name - if check_value is not None: - assert is_int - self._load_known_int_constant(module, funcname) - value = check_value - elif is_int: - BType = self.ffi._typeof_locked("long long*")[0] - BFunc = self.ffi._typeof_locked("int(*)(long long*)")[0] - function = module.load_function(BFunc, funcname) - p = self.ffi.new(BType) - negative = function(p) - value = int(p[0]) - if value < 0 and not negative: - BLongLong = self.ffi._typeof_locked("long long")[0] - value += (1 << (8*self.ffi.sizeof(BLongLong))) - else: - assert check_value is None - fntypeextra = '(*)(void)' - if isinstance(tp, model.StructOrUnion): - fntypeextra = '*' + fntypeextra - BFunc = self.ffi._typeof_locked(tp.get_c_name(fntypeextra, name))[0] - function = module.load_function(BFunc, funcname) - value = function() - if isinstance(tp, model.StructOrUnion): - value = value[0] - return value - - def _loaded_gen_constant(self, tp, name, module, library): - is_int = isinstance(tp, model.PrimitiveType) and tp.is_integer_type() - value = self._load_constant(is_int, tp, name, module) - setattr(library, name, value) - type(library)._cffi_dir.append(name) - - # ---------- - # enums - - def _check_int_constant_value(self, name, value): - prnt = self._prnt - if value <= 0: - prnt(' if ((%s) > 0 || (long)(%s) != %dL) {' % ( - name, name, value)) - else: - prnt(' if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {' % ( - name, name, value)) - prnt(' char buf[64];') - prnt(' if ((%s) <= 0)' % name) - prnt(' sprintf(buf, "%%ld", (long)(%s));' % name) - prnt(' else') - prnt(' sprintf(buf, "%%lu", (unsigned long)(%s));' % - name) - prnt(' sprintf(out_error, "%s has the real value %s, not %s",') - prnt(' "%s", buf, "%d");' % (name[:100], value)) - prnt(' return -1;') - prnt(' }') - - def _load_known_int_constant(self, module, funcname): - BType = self.ffi._typeof_locked("char[]")[0] - BFunc = self.ffi._typeof_locked("int(*)(char*)")[0] - function = module.load_function(BFunc, funcname) - p = self.ffi.new(BType, 256) - if function(p) < 0: - error = self.ffi.string(p) - if sys.version_info >= (3,): - error = str(error, 'utf-8') - raise VerificationError(error) - - def _enum_funcname(self, prefix, name): - # "$enum_$1" => "___D_enum____D_1" - name = name.replace('$', '___D_') - return '_cffi_e_%s_%s' % (prefix, name) - - def _generate_gen_enum_decl(self, tp, name, prefix='enum'): - if tp.partial: - for enumerator in tp.enumerators: - self._generate_gen_const(True, enumerator) - return - # - funcname = self._enum_funcname(prefix, name) - self.export_symbols.append(funcname) - prnt = self._prnt - prnt('int %s(char *out_error)' % funcname) - prnt('{') - for enumerator, enumvalue in zip(tp.enumerators, tp.enumvalues): - self._check_int_constant_value(enumerator, enumvalue) - prnt(' return 0;') - prnt('}') - prnt() - - def _loading_gen_enum(self, tp, name, module, prefix='enum'): - if tp.partial: - enumvalues = [self._load_constant(True, tp, enumerator, module) - for enumerator in tp.enumerators] - tp.enumvalues = tuple(enumvalues) - tp.partial_resolved = True - else: - funcname = self._enum_funcname(prefix, name) - self._load_known_int_constant(module, funcname) - - def _loaded_gen_enum(self, tp, name, module, library): - for enumerator, enumvalue in zip(tp.enumerators, tp.enumvalues): - setattr(library, enumerator, enumvalue) - type(library)._cffi_dir.append(enumerator) - - # ---------- - # macros: for now only for integers - - def _generate_gen_macro_decl(self, tp, name): - if tp == '...': - check_value = None - else: - check_value = tp # an integer - self._generate_gen_const(True, name, check_value=check_value) - - _loading_gen_macro = _loaded_noop - - def _loaded_gen_macro(self, tp, name, module, library): - if tp == '...': - check_value = None - else: - check_value = tp # an integer - value = self._load_constant(True, tp, name, module, - check_value=check_value) - setattr(library, name, value) - type(library)._cffi_dir.append(name) - - # ---------- - # global variables - - def _generate_gen_variable_decl(self, tp, name): - if isinstance(tp, model.ArrayType): - if tp.length_is_unknown(): - prnt = self._prnt - funcname = '_cffi_sizeof_%s' % (name,) - self.export_symbols.append(funcname) - prnt("size_t %s(void)" % funcname) - prnt("{") - prnt(" return sizeof(%s);" % (name,)) - prnt("}") - tp_ptr = model.PointerType(tp.item) - self._generate_gen_const(False, name, tp_ptr) - else: - tp_ptr = model.PointerType(tp) - self._generate_gen_const(False, name, tp_ptr, category='var') - - _loading_gen_variable = _loaded_noop - - def _loaded_gen_variable(self, tp, name, module, library): - if isinstance(tp, model.ArrayType): # int a[5] is "constant" in the - # sense that "a=..." is forbidden - if tp.length_is_unknown(): - funcname = '_cffi_sizeof_%s' % (name,) - BFunc = self.ffi._typeof_locked('size_t(*)(void)')[0] - function = module.load_function(BFunc, funcname) - size = function() - BItemType = self.ffi._get_cached_btype(tp.item) - length, rest = divmod(size, self.ffi.sizeof(BItemType)) - if rest != 0: - raise VerificationError( - "bad size: %r does not seem to be an array of %s" % - (name, tp.item)) - tp = tp.resolve_length(length) - tp_ptr = model.PointerType(tp.item) - value = self._load_constant(False, tp_ptr, name, module) - # 'value' is a which we have to replace with - # a if the N is actually known - if tp.length is not None: - BArray = self.ffi._get_cached_btype(tp) - value = self.ffi.cast(BArray, value) - setattr(library, name, value) - type(library)._cffi_dir.append(name) - return - # remove ptr= from the library instance, and replace - # it by a property on the class, which reads/writes into ptr[0]. - funcname = '_cffi_var_%s' % name - BFunc = self.ffi._typeof_locked(tp.get_c_name('*(*)(void)', name))[0] - function = module.load_function(BFunc, funcname) - ptr = function() - def getter(library): - return ptr[0] - def setter(library, value): - ptr[0] = value - setattr(type(library), name, property(getter, setter)) - type(library)._cffi_dir.append(name) - -cffimod_header = r''' -#include -#include -#include -#include -#include /* XXX for ssize_t on some platforms */ - -/* this block of #ifs should be kept exactly identical between - c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py - and cffi/_cffi_include.h */ -#if defined(_MSC_VER) -# include /* for alloca() */ -# if _MSC_VER < 1600 /* MSVC < 2010 */ - typedef __int8 int8_t; - typedef __int16 int16_t; - typedef __int32 int32_t; - typedef __int64 int64_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int64 uint64_t; - typedef __int8 int_least8_t; - typedef __int16 int_least16_t; - typedef __int32 int_least32_t; - typedef __int64 int_least64_t; - typedef unsigned __int8 uint_least8_t; - typedef unsigned __int16 uint_least16_t; - typedef unsigned __int32 uint_least32_t; - typedef unsigned __int64 uint_least64_t; - typedef __int8 int_fast8_t; - typedef __int16 int_fast16_t; - typedef __int32 int_fast32_t; - typedef __int64 int_fast64_t; - typedef unsigned __int8 uint_fast8_t; - typedef unsigned __int16 uint_fast16_t; - typedef unsigned __int32 uint_fast32_t; - typedef unsigned __int64 uint_fast64_t; - typedef __int64 intmax_t; - typedef unsigned __int64 uintmax_t; -# else -# include -# endif -# if _MSC_VER < 1800 /* MSVC < 2013 */ -# ifndef __cplusplus - typedef unsigned char _Bool; -# endif -# endif -#else -# include -# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux) -# include -# endif -#endif -''' diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi/verifier.py b/IKEA_scraper/.venv/Lib/site-packages/cffi/verifier.py deleted file mode 100644 index a500c781..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi/verifier.py +++ /dev/null @@ -1,307 +0,0 @@ -# -# DEPRECATED: implementation for ffi.verify() -# -import sys, os, binascii, shutil, io -from . import __version_verifier_modules__ -from . import ffiplatform -from .error import VerificationError - -if sys.version_info >= (3, 3): - import importlib.machinery - def _extension_suffixes(): - return importlib.machinery.EXTENSION_SUFFIXES[:] -else: - import imp - def _extension_suffixes(): - return [suffix for suffix, _, type in imp.get_suffixes() - if type == imp.C_EXTENSION] - - -if sys.version_info >= (3,): - NativeIO = io.StringIO -else: - class NativeIO(io.BytesIO): - def write(self, s): - if isinstance(s, unicode): - s = s.encode('ascii') - super(NativeIO, self).write(s) - - -class Verifier(object): - - def __init__(self, ffi, preamble, tmpdir=None, modulename=None, - ext_package=None, tag='', force_generic_engine=False, - source_extension='.c', flags=None, relative_to=None, **kwds): - if ffi._parser._uses_new_feature: - raise VerificationError( - "feature not supported with ffi.verify(), but only " - "with ffi.set_source(): %s" % (ffi._parser._uses_new_feature,)) - self.ffi = ffi - self.preamble = preamble - if not modulename: - flattened_kwds = ffiplatform.flatten(kwds) - vengine_class = _locate_engine_class(ffi, force_generic_engine) - self._vengine = vengine_class(self) - self._vengine.patch_extension_kwds(kwds) - self.flags = flags - self.kwds = self.make_relative_to(kwds, relative_to) - # - if modulename: - if tag: - raise TypeError("can't specify both 'modulename' and 'tag'") - else: - key = '\x00'.join(['%d.%d' % sys.version_info[:2], - __version_verifier_modules__, - preamble, flattened_kwds] + - ffi._cdefsources) - if sys.version_info >= (3,): - key = key.encode('utf-8') - k1 = hex(binascii.crc32(key[0::2]) & 0xffffffff) - k1 = k1.lstrip('0x').rstrip('L') - k2 = hex(binascii.crc32(key[1::2]) & 0xffffffff) - k2 = k2.lstrip('0').rstrip('L') - modulename = '_cffi_%s_%s%s%s' % (tag, self._vengine._class_key, - k1, k2) - suffix = _get_so_suffixes()[0] - self.tmpdir = tmpdir or _caller_dir_pycache() - self.sourcefilename = os.path.join(self.tmpdir, modulename + source_extension) - self.modulefilename = os.path.join(self.tmpdir, modulename + suffix) - self.ext_package = ext_package - self._has_source = False - self._has_module = False - - def write_source(self, file=None): - """Write the C source code. It is produced in 'self.sourcefilename', - which can be tweaked beforehand.""" - with self.ffi._lock: - if self._has_source and file is None: - raise VerificationError( - "source code already written") - self._write_source(file) - - def compile_module(self): - """Write the C source code (if not done already) and compile it. - This produces a dynamic link library in 'self.modulefilename'.""" - with self.ffi._lock: - if self._has_module: - raise VerificationError("module already compiled") - if not self._has_source: - self._write_source() - self._compile_module() - - def load_library(self): - """Get a C module from this Verifier instance. - Returns an instance of a FFILibrary class that behaves like the - objects returned by ffi.dlopen(), but that delegates all - operations to the C module. If necessary, the C code is written - and compiled first. - """ - with self.ffi._lock: - if not self._has_module: - self._locate_module() - if not self._has_module: - if not self._has_source: - self._write_source() - self._compile_module() - return self._load_library() - - def get_module_name(self): - basename = os.path.basename(self.modulefilename) - # kill both the .so extension and the other .'s, as introduced - # by Python 3: 'basename.cpython-33m.so' - basename = basename.split('.', 1)[0] - # and the _d added in Python 2 debug builds --- but try to be - # conservative and not kill a legitimate _d - if basename.endswith('_d') and hasattr(sys, 'gettotalrefcount'): - basename = basename[:-2] - return basename - - def get_extension(self): - ffiplatform._hack_at_distutils() # backward compatibility hack - if not self._has_source: - with self.ffi._lock: - if not self._has_source: - self._write_source() - sourcename = ffiplatform.maybe_relative_path(self.sourcefilename) - modname = self.get_module_name() - return ffiplatform.get_extension(sourcename, modname, **self.kwds) - - def generates_python_module(self): - return self._vengine._gen_python_module - - def make_relative_to(self, kwds, relative_to): - if relative_to and os.path.dirname(relative_to): - dirname = os.path.dirname(relative_to) - kwds = kwds.copy() - for key in ffiplatform.LIST_OF_FILE_NAMES: - if key in kwds: - lst = kwds[key] - if not isinstance(lst, (list, tuple)): - raise TypeError("keyword '%s' should be a list or tuple" - % (key,)) - lst = [os.path.join(dirname, fn) for fn in lst] - kwds[key] = lst - return kwds - - # ---------- - - def _locate_module(self): - if not os.path.isfile(self.modulefilename): - if self.ext_package: - try: - pkg = __import__(self.ext_package, None, None, ['__doc__']) - except ImportError: - return # cannot import the package itself, give up - # (e.g. it might be called differently before installation) - path = pkg.__path__ - else: - path = None - filename = self._vengine.find_module(self.get_module_name(), path, - _get_so_suffixes()) - if filename is None: - return - self.modulefilename = filename - self._vengine.collect_types() - self._has_module = True - - def _write_source_to(self, file): - self._vengine._f = file - try: - self._vengine.write_source_to_f() - finally: - del self._vengine._f - - def _write_source(self, file=None): - if file is not None: - self._write_source_to(file) - else: - # Write our source file to an in memory file. - f = NativeIO() - self._write_source_to(f) - source_data = f.getvalue() - - # Determine if this matches the current file - if os.path.exists(self.sourcefilename): - with open(self.sourcefilename, "r") as fp: - needs_written = not (fp.read() == source_data) - else: - needs_written = True - - # Actually write the file out if it doesn't match - if needs_written: - _ensure_dir(self.sourcefilename) - with open(self.sourcefilename, "w") as fp: - fp.write(source_data) - - # Set this flag - self._has_source = True - - def _compile_module(self): - # compile this C source - tmpdir = os.path.dirname(self.sourcefilename) - outputfilename = ffiplatform.compile(tmpdir, self.get_extension()) - try: - same = ffiplatform.samefile(outputfilename, self.modulefilename) - except OSError: - same = False - if not same: - _ensure_dir(self.modulefilename) - shutil.move(outputfilename, self.modulefilename) - self._has_module = True - - def _load_library(self): - assert self._has_module - if self.flags is not None: - return self._vengine.load_library(self.flags) - else: - return self._vengine.load_library() - -# ____________________________________________________________ - -_FORCE_GENERIC_ENGINE = False # for tests - -def _locate_engine_class(ffi, force_generic_engine): - if _FORCE_GENERIC_ENGINE: - force_generic_engine = True - if not force_generic_engine: - if '__pypy__' in sys.builtin_module_names: - force_generic_engine = True - else: - try: - import _cffi_backend - except ImportError: - _cffi_backend = '?' - if ffi._backend is not _cffi_backend: - force_generic_engine = True - if force_generic_engine: - from . import vengine_gen - return vengine_gen.VGenericEngine - else: - from . import vengine_cpy - return vengine_cpy.VCPythonEngine - -# ____________________________________________________________ - -_TMPDIR = None - -def _caller_dir_pycache(): - if _TMPDIR: - return _TMPDIR - result = os.environ.get('CFFI_TMPDIR') - if result: - return result - filename = sys._getframe(2).f_code.co_filename - return os.path.abspath(os.path.join(os.path.dirname(filename), - '__pycache__')) - -def set_tmpdir(dirname): - """Set the temporary directory to use instead of __pycache__.""" - global _TMPDIR - _TMPDIR = dirname - -def cleanup_tmpdir(tmpdir=None, keep_so=False): - """Clean up the temporary directory by removing all files in it - called `_cffi_*.{c,so}` as well as the `build` subdirectory.""" - tmpdir = tmpdir or _caller_dir_pycache() - try: - filelist = os.listdir(tmpdir) - except OSError: - return - if keep_so: - suffix = '.c' # only remove .c files - else: - suffix = _get_so_suffixes()[0].lower() - for fn in filelist: - if fn.lower().startswith('_cffi_') and ( - fn.lower().endswith(suffix) or fn.lower().endswith('.c')): - try: - os.unlink(os.path.join(tmpdir, fn)) - except OSError: - pass - clean_dir = [os.path.join(tmpdir, 'build')] - for dir in clean_dir: - try: - for fn in os.listdir(dir): - fn = os.path.join(dir, fn) - if os.path.isdir(fn): - clean_dir.append(fn) - else: - os.unlink(fn) - except OSError: - pass - -def _get_so_suffixes(): - suffixes = _extension_suffixes() - if not suffixes: - # bah, no C_EXTENSION available. Occurs on pypy without cpyext - if sys.platform == 'win32': - suffixes = [".pyd"] - else: - suffixes = [".so"] - - return suffixes - -def _ensure_dir(filename): - dirname = os.path.dirname(filename) - if dirname and not os.path.isdir(dirname): - os.makedirs(dirname) diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc deleted file mode 100644 index b17a69ed..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index d80cabac..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt deleted file mode 100644 index a07675a3..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt +++ /dev/null @@ -1,415 +0,0 @@ -..\..\..\Scripts\futurize-script.py -..\..\..\Scripts\futurize.exe -..\..\..\Scripts\pasteurize-script.py -..\..\..\Scripts\pasteurize.exe -..\future\__init__.py -..\future\__pycache__\__init__.cpython-39.pyc -..\future\backports\__init__.py -..\future\backports\__pycache__\__init__.cpython-39.pyc -..\future\backports\__pycache__\_markupbase.cpython-39.pyc -..\future\backports\__pycache__\datetime.cpython-39.pyc -..\future\backports\__pycache__\misc.cpython-39.pyc -..\future\backports\__pycache__\socket.cpython-39.pyc -..\future\backports\__pycache__\socketserver.cpython-39.pyc -..\future\backports\__pycache__\total_ordering.cpython-39.pyc -..\future\backports\_markupbase.py -..\future\backports\datetime.py -..\future\backports\email\__init__.py -..\future\backports\email\__pycache__\__init__.cpython-39.pyc -..\future\backports\email\__pycache__\_encoded_words.cpython-39.pyc -..\future\backports\email\__pycache__\_header_value_parser.cpython-39.pyc -..\future\backports\email\__pycache__\_parseaddr.cpython-39.pyc -..\future\backports\email\__pycache__\_policybase.cpython-39.pyc -..\future\backports\email\__pycache__\base64mime.cpython-39.pyc -..\future\backports\email\__pycache__\charset.cpython-39.pyc -..\future\backports\email\__pycache__\encoders.cpython-39.pyc -..\future\backports\email\__pycache__\errors.cpython-39.pyc -..\future\backports\email\__pycache__\feedparser.cpython-39.pyc -..\future\backports\email\__pycache__\generator.cpython-39.pyc -..\future\backports\email\__pycache__\header.cpython-39.pyc -..\future\backports\email\__pycache__\headerregistry.cpython-39.pyc -..\future\backports\email\__pycache__\iterators.cpython-39.pyc -..\future\backports\email\__pycache__\message.cpython-39.pyc -..\future\backports\email\__pycache__\parser.cpython-39.pyc -..\future\backports\email\__pycache__\policy.cpython-39.pyc -..\future\backports\email\__pycache__\quoprimime.cpython-39.pyc -..\future\backports\email\__pycache__\utils.cpython-39.pyc -..\future\backports\email\_encoded_words.py -..\future\backports\email\_header_value_parser.py -..\future\backports\email\_parseaddr.py -..\future\backports\email\_policybase.py -..\future\backports\email\base64mime.py -..\future\backports\email\charset.py -..\future\backports\email\encoders.py -..\future\backports\email\errors.py -..\future\backports\email\feedparser.py -..\future\backports\email\generator.py -..\future\backports\email\header.py -..\future\backports\email\headerregistry.py -..\future\backports\email\iterators.py -..\future\backports\email\message.py -..\future\backports\email\mime\__init__.py -..\future\backports\email\mime\__pycache__\__init__.cpython-39.pyc -..\future\backports\email\mime\__pycache__\application.cpython-39.pyc -..\future\backports\email\mime\__pycache__\audio.cpython-39.pyc -..\future\backports\email\mime\__pycache__\base.cpython-39.pyc -..\future\backports\email\mime\__pycache__\image.cpython-39.pyc -..\future\backports\email\mime\__pycache__\message.cpython-39.pyc -..\future\backports\email\mime\__pycache__\multipart.cpython-39.pyc -..\future\backports\email\mime\__pycache__\nonmultipart.cpython-39.pyc -..\future\backports\email\mime\__pycache__\text.cpython-39.pyc -..\future\backports\email\mime\application.py -..\future\backports\email\mime\audio.py -..\future\backports\email\mime\base.py -..\future\backports\email\mime\image.py -..\future\backports\email\mime\message.py -..\future\backports\email\mime\multipart.py -..\future\backports\email\mime\nonmultipart.py -..\future\backports\email\mime\text.py -..\future\backports\email\parser.py -..\future\backports\email\policy.py -..\future\backports\email\quoprimime.py -..\future\backports\email\utils.py -..\future\backports\html\__init__.py -..\future\backports\html\__pycache__\__init__.cpython-39.pyc -..\future\backports\html\__pycache__\entities.cpython-39.pyc -..\future\backports\html\__pycache__\parser.cpython-39.pyc -..\future\backports\html\entities.py -..\future\backports\html\parser.py -..\future\backports\http\__init__.py -..\future\backports\http\__pycache__\__init__.cpython-39.pyc -..\future\backports\http\__pycache__\client.cpython-39.pyc -..\future\backports\http\__pycache__\cookiejar.cpython-39.pyc -..\future\backports\http\__pycache__\cookies.cpython-39.pyc -..\future\backports\http\__pycache__\server.cpython-39.pyc -..\future\backports\http\client.py -..\future\backports\http\cookiejar.py -..\future\backports\http\cookies.py -..\future\backports\http\server.py -..\future\backports\misc.py -..\future\backports\socket.py -..\future\backports\socketserver.py -..\future\backports\test\__init__.py -..\future\backports\test\__pycache__\__init__.cpython-39.pyc -..\future\backports\test\__pycache__\pystone.cpython-39.pyc -..\future\backports\test\__pycache__\ssl_servers.cpython-39.pyc -..\future\backports\test\__pycache__\support.cpython-39.pyc -..\future\backports\test\badcert.pem -..\future\backports\test\badkey.pem -..\future\backports\test\dh512.pem -..\future\backports\test\https_svn_python_org_root.pem -..\future\backports\test\keycert.passwd.pem -..\future\backports\test\keycert.pem -..\future\backports\test\keycert2.pem -..\future\backports\test\nokia.pem -..\future\backports\test\nullbytecert.pem -..\future\backports\test\nullcert.pem -..\future\backports\test\pystone.py -..\future\backports\test\sha256.pem -..\future\backports\test\ssl_cert.pem -..\future\backports\test\ssl_key.passwd.pem -..\future\backports\test\ssl_key.pem -..\future\backports\test\ssl_servers.py -..\future\backports\test\support.py -..\future\backports\total_ordering.py -..\future\backports\urllib\__init__.py -..\future\backports\urllib\__pycache__\__init__.cpython-39.pyc -..\future\backports\urllib\__pycache__\error.cpython-39.pyc -..\future\backports\urllib\__pycache__\parse.cpython-39.pyc -..\future\backports\urllib\__pycache__\request.cpython-39.pyc -..\future\backports\urllib\__pycache__\response.cpython-39.pyc -..\future\backports\urllib\__pycache__\robotparser.cpython-39.pyc -..\future\backports\urllib\error.py -..\future\backports\urllib\parse.py -..\future\backports\urllib\request.py -..\future\backports\urllib\response.py -..\future\backports\urllib\robotparser.py -..\future\backports\xmlrpc\__init__.py -..\future\backports\xmlrpc\__pycache__\__init__.cpython-39.pyc -..\future\backports\xmlrpc\__pycache__\client.cpython-39.pyc -..\future\backports\xmlrpc\__pycache__\server.cpython-39.pyc -..\future\backports\xmlrpc\client.py -..\future\backports\xmlrpc\server.py -..\future\builtins\__init__.py -..\future\builtins\__pycache__\__init__.cpython-39.pyc -..\future\builtins\__pycache__\disabled.cpython-39.pyc -..\future\builtins\__pycache__\iterators.cpython-39.pyc -..\future\builtins\__pycache__\misc.cpython-39.pyc -..\future\builtins\__pycache__\new_min_max.cpython-39.pyc -..\future\builtins\__pycache__\newnext.cpython-39.pyc -..\future\builtins\__pycache__\newround.cpython-39.pyc -..\future\builtins\__pycache__\newsuper.cpython-39.pyc -..\future\builtins\disabled.py -..\future\builtins\iterators.py -..\future\builtins\misc.py -..\future\builtins\new_min_max.py -..\future\builtins\newnext.py -..\future\builtins\newround.py -..\future\builtins\newsuper.py -..\future\moves\__init__.py -..\future\moves\__pycache__\__init__.cpython-39.pyc -..\future\moves\__pycache__\_dummy_thread.cpython-39.pyc -..\future\moves\__pycache__\_markupbase.cpython-39.pyc -..\future\moves\__pycache__\_thread.cpython-39.pyc -..\future\moves\__pycache__\builtins.cpython-39.pyc -..\future\moves\__pycache__\collections.cpython-39.pyc -..\future\moves\__pycache__\configparser.cpython-39.pyc -..\future\moves\__pycache__\copyreg.cpython-39.pyc -..\future\moves\__pycache__\itertools.cpython-39.pyc -..\future\moves\__pycache__\pickle.cpython-39.pyc -..\future\moves\__pycache__\queue.cpython-39.pyc -..\future\moves\__pycache__\reprlib.cpython-39.pyc -..\future\moves\__pycache__\socketserver.cpython-39.pyc -..\future\moves\__pycache__\subprocess.cpython-39.pyc -..\future\moves\__pycache__\sys.cpython-39.pyc -..\future\moves\__pycache__\winreg.cpython-39.pyc -..\future\moves\_dummy_thread.py -..\future\moves\_markupbase.py -..\future\moves\_thread.py -..\future\moves\builtins.py -..\future\moves\collections.py -..\future\moves\configparser.py -..\future\moves\copyreg.py -..\future\moves\dbm\__init__.py -..\future\moves\dbm\__pycache__\__init__.cpython-39.pyc -..\future\moves\dbm\__pycache__\dumb.cpython-39.pyc -..\future\moves\dbm\__pycache__\gnu.cpython-39.pyc -..\future\moves\dbm\__pycache__\ndbm.cpython-39.pyc -..\future\moves\dbm\dumb.py -..\future\moves\dbm\gnu.py -..\future\moves\dbm\ndbm.py -..\future\moves\html\__init__.py -..\future\moves\html\__pycache__\__init__.cpython-39.pyc -..\future\moves\html\__pycache__\entities.cpython-39.pyc -..\future\moves\html\__pycache__\parser.cpython-39.pyc -..\future\moves\html\entities.py -..\future\moves\html\parser.py -..\future\moves\http\__init__.py -..\future\moves\http\__pycache__\__init__.cpython-39.pyc -..\future\moves\http\__pycache__\client.cpython-39.pyc -..\future\moves\http\__pycache__\cookiejar.cpython-39.pyc -..\future\moves\http\__pycache__\cookies.cpython-39.pyc -..\future\moves\http\__pycache__\server.cpython-39.pyc -..\future\moves\http\client.py -..\future\moves\http\cookiejar.py -..\future\moves\http\cookies.py -..\future\moves\http\server.py -..\future\moves\itertools.py -..\future\moves\pickle.py -..\future\moves\queue.py -..\future\moves\reprlib.py -..\future\moves\socketserver.py -..\future\moves\subprocess.py -..\future\moves\sys.py -..\future\moves\test\__init__.py -..\future\moves\test\__pycache__\__init__.cpython-39.pyc -..\future\moves\test\__pycache__\support.cpython-39.pyc -..\future\moves\test\support.py -..\future\moves\tkinter\__init__.py -..\future\moves\tkinter\__pycache__\__init__.cpython-39.pyc -..\future\moves\tkinter\__pycache__\colorchooser.cpython-39.pyc -..\future\moves\tkinter\__pycache__\commondialog.cpython-39.pyc -..\future\moves\tkinter\__pycache__\constants.cpython-39.pyc -..\future\moves\tkinter\__pycache__\dialog.cpython-39.pyc -..\future\moves\tkinter\__pycache__\dnd.cpython-39.pyc -..\future\moves\tkinter\__pycache__\filedialog.cpython-39.pyc -..\future\moves\tkinter\__pycache__\font.cpython-39.pyc -..\future\moves\tkinter\__pycache__\messagebox.cpython-39.pyc -..\future\moves\tkinter\__pycache__\scrolledtext.cpython-39.pyc -..\future\moves\tkinter\__pycache__\simpledialog.cpython-39.pyc -..\future\moves\tkinter\__pycache__\tix.cpython-39.pyc -..\future\moves\tkinter\__pycache__\ttk.cpython-39.pyc -..\future\moves\tkinter\colorchooser.py -..\future\moves\tkinter\commondialog.py -..\future\moves\tkinter\constants.py -..\future\moves\tkinter\dialog.py -..\future\moves\tkinter\dnd.py -..\future\moves\tkinter\filedialog.py -..\future\moves\tkinter\font.py -..\future\moves\tkinter\messagebox.py -..\future\moves\tkinter\scrolledtext.py -..\future\moves\tkinter\simpledialog.py -..\future\moves\tkinter\tix.py -..\future\moves\tkinter\ttk.py -..\future\moves\urllib\__init__.py -..\future\moves\urllib\__pycache__\__init__.cpython-39.pyc -..\future\moves\urllib\__pycache__\error.cpython-39.pyc -..\future\moves\urllib\__pycache__\parse.cpython-39.pyc -..\future\moves\urllib\__pycache__\request.cpython-39.pyc -..\future\moves\urllib\__pycache__\response.cpython-39.pyc -..\future\moves\urllib\__pycache__\robotparser.cpython-39.pyc -..\future\moves\urllib\error.py -..\future\moves\urllib\parse.py -..\future\moves\urllib\request.py -..\future\moves\urllib\response.py -..\future\moves\urllib\robotparser.py -..\future\moves\winreg.py -..\future\moves\xmlrpc\__init__.py -..\future\moves\xmlrpc\__pycache__\__init__.cpython-39.pyc -..\future\moves\xmlrpc\__pycache__\client.cpython-39.pyc -..\future\moves\xmlrpc\__pycache__\server.cpython-39.pyc -..\future\moves\xmlrpc\client.py -..\future\moves\xmlrpc\server.py -..\future\standard_library\__init__.py -..\future\standard_library\__pycache__\__init__.cpython-39.pyc -..\future\tests\__init__.py -..\future\tests\__pycache__\__init__.cpython-39.pyc -..\future\tests\__pycache__\base.cpython-39.pyc -..\future\tests\base.py -..\future\types\__init__.py -..\future\types\__pycache__\__init__.cpython-39.pyc -..\future\types\__pycache__\newbytes.cpython-39.pyc -..\future\types\__pycache__\newdict.cpython-39.pyc -..\future\types\__pycache__\newint.cpython-39.pyc -..\future\types\__pycache__\newlist.cpython-39.pyc -..\future\types\__pycache__\newmemoryview.cpython-39.pyc -..\future\types\__pycache__\newobject.cpython-39.pyc -..\future\types\__pycache__\newopen.cpython-39.pyc -..\future\types\__pycache__\newrange.cpython-39.pyc -..\future\types\__pycache__\newstr.cpython-39.pyc -..\future\types\newbytes.py -..\future\types\newdict.py -..\future\types\newint.py -..\future\types\newlist.py -..\future\types\newmemoryview.py -..\future\types\newobject.py -..\future\types\newopen.py -..\future\types\newrange.py -..\future\types\newstr.py -..\future\utils\__init__.py -..\future\utils\__pycache__\__init__.cpython-39.pyc -..\future\utils\__pycache__\surrogateescape.cpython-39.pyc -..\future\utils\surrogateescape.py -..\libfuturize\__init__.py -..\libfuturize\__pycache__\__init__.cpython-39.pyc -..\libfuturize\__pycache__\fixer_util.cpython-39.pyc -..\libfuturize\__pycache__\main.cpython-39.pyc -..\libfuturize\fixer_util.py -..\libfuturize\fixes\__init__.py -..\libfuturize\fixes\__pycache__\__init__.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_UserDict.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_absolute_import.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_add__future__imports_except_unicode_literals.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_basestring.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_bytes.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_cmp.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_division.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_division_safe.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_execfile.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_future_builtins.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_future_standard_library.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_future_standard_library_urllib.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_input.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_metaclass.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_next_call.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_object.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_oldstr_wrap.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_order___future__imports.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_print.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_print_with_import.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_raise.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_remove_old__future__imports.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_unicode_keep_u.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_unicode_literals_import.cpython-39.pyc -..\libfuturize\fixes\__pycache__\fix_xrange_with_import.cpython-39.pyc -..\libfuturize\fixes\fix_UserDict.py -..\libfuturize\fixes\fix_absolute_import.py -..\libfuturize\fixes\fix_add__future__imports_except_unicode_literals.py -..\libfuturize\fixes\fix_basestring.py -..\libfuturize\fixes\fix_bytes.py -..\libfuturize\fixes\fix_cmp.py -..\libfuturize\fixes\fix_division.py -..\libfuturize\fixes\fix_division_safe.py -..\libfuturize\fixes\fix_execfile.py -..\libfuturize\fixes\fix_future_builtins.py -..\libfuturize\fixes\fix_future_standard_library.py -..\libfuturize\fixes\fix_future_standard_library_urllib.py -..\libfuturize\fixes\fix_input.py -..\libfuturize\fixes\fix_metaclass.py -..\libfuturize\fixes\fix_next_call.py -..\libfuturize\fixes\fix_object.py -..\libfuturize\fixes\fix_oldstr_wrap.py -..\libfuturize\fixes\fix_order___future__imports.py -..\libfuturize\fixes\fix_print.py -..\libfuturize\fixes\fix_print_with_import.py -..\libfuturize\fixes\fix_raise.py -..\libfuturize\fixes\fix_remove_old__future__imports.py -..\libfuturize\fixes\fix_unicode_keep_u.py -..\libfuturize\fixes\fix_unicode_literals_import.py -..\libfuturize\fixes\fix_xrange_with_import.py -..\libfuturize\main.py -..\libpasteurize\__init__.py -..\libpasteurize\__pycache__\__init__.cpython-39.pyc -..\libpasteurize\__pycache__\main.cpython-39.pyc -..\libpasteurize\fixes\__init__.py -..\libpasteurize\fixes\__pycache__\__init__.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\feature_base.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_add_all__future__imports.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_add_all_future_builtins.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_add_future_standard_library_import.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_annotations.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_division.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_features.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_fullargspec.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_future_builtins.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_getcwd.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_imports.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_imports2.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_kwargs.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_memoryview.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_metaclass.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_newstyle.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_next.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_printfunction.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_raise.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_raise_.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_throw.cpython-39.pyc -..\libpasteurize\fixes\__pycache__\fix_unpacking.cpython-39.pyc -..\libpasteurize\fixes\feature_base.py -..\libpasteurize\fixes\fix_add_all__future__imports.py -..\libpasteurize\fixes\fix_add_all_future_builtins.py -..\libpasteurize\fixes\fix_add_future_standard_library_import.py -..\libpasteurize\fixes\fix_annotations.py -..\libpasteurize\fixes\fix_division.py -..\libpasteurize\fixes\fix_features.py -..\libpasteurize\fixes\fix_fullargspec.py -..\libpasteurize\fixes\fix_future_builtins.py -..\libpasteurize\fixes\fix_getcwd.py -..\libpasteurize\fixes\fix_imports.py -..\libpasteurize\fixes\fix_imports2.py -..\libpasteurize\fixes\fix_kwargs.py -..\libpasteurize\fixes\fix_memoryview.py -..\libpasteurize\fixes\fix_metaclass.py -..\libpasteurize\fixes\fix_newstyle.py -..\libpasteurize\fixes\fix_next.py -..\libpasteurize\fixes\fix_printfunction.py -..\libpasteurize\fixes\fix_raise.py -..\libpasteurize\fixes\fix_raise_.py -..\libpasteurize\fixes\fix_throw.py -..\libpasteurize\fixes\fix_unpacking.py -..\libpasteurize\main.py -..\past\__init__.py -..\past\__pycache__\__init__.cpython-39.pyc -..\past\builtins\__init__.py -..\past\builtins\__pycache__\__init__.cpython-39.pyc -..\past\builtins\__pycache__\misc.cpython-39.pyc -..\past\builtins\__pycache__\noniterators.cpython-39.pyc -..\past\builtins\misc.py -..\past\builtins\noniterators.py -..\past\translation\__init__.py -..\past\translation\__pycache__\__init__.cpython-39.pyc -..\past\types\__init__.py -..\past\types\__pycache__\__init__.cpython-39.pyc -..\past\types\__pycache__\basestring.cpython-39.pyc -..\past\types\__pycache__\olddict.cpython-39.pyc -..\past\types\__pycache__\oldstr.cpython-39.pyc -..\past\types\basestring.py -..\past\types\olddict.py -..\past\types\oldstr.py -..\past\utils\__init__.py -..\past\utils\__pycache__\__init__.cpython-39.pyc -PKG-INFO -SOURCES.txt -dependency_links.txt -entry_points.txt -top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index b53a9bc4..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index a75f4a9c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 44a92df3..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 0f5ea5cf..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index f77aae1f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index b060ede0..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 5c4a2e84..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ares.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ares.cpython-39.pyc deleted file mode 100644 index 64c641b5..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ares.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_abstract_linkable.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_abstract_linkable.cp39-win_amd64.pyd deleted file mode 100644 index 6e9973e4..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_abstract_linkable.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_greenlet_primitives.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_greenlet_primitives.cp39-win_amd64.pyd deleted file mode 100644 index ebbe8183..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_greenlet_primitives.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_local.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_local.cp39-win_amd64.pyd deleted file mode 100644 index 4215d357..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_local.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_primitives.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_primitives.cp39-win_amd64.pyd deleted file mode 100644 index b4225540..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_hub_primitives.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_ident.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_ident.cp39-win_amd64.pyd deleted file mode 100644 index 8bce5d83..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_ident.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_imap.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_imap.cp39-win_amd64.pyd deleted file mode 100644 index efcb821a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_imap.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_semaphore.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_semaphore.cp39-win_amd64.pyd deleted file mode 100644 index ffd3c617..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_semaphore.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_tracer.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_tracer.cp39-win_amd64.pyd deleted file mode 100644 index 609554c2..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_tracer.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_waiter.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_waiter.cp39-win_amd64.pyd deleted file mode 100644 index 02342058..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_c_waiter.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cevent.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cevent.cp39-win_amd64.pyd deleted file mode 100644 index 819c39cb..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cevent.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cgreenlet.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cgreenlet.cp39-win_amd64.pyd deleted file mode 100644 index ed51dccf..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cgreenlet.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_clocal.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_clocal.cp39-win_amd64.pyd deleted file mode 100644 index 5154d57b..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_clocal.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cqueue.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cqueue.cp39-win_amd64.pyd deleted file mode 100644 index 46079240..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_gevent_cqueue.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 97145111..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/corecext.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/corecext.cp39-win_amd64.pyd deleted file mode 100644 index deb2c626..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/corecext.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index c58c96c8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/_corecffi.pyd b/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/_corecffi.pyd deleted file mode 100644 index 608fe5ed..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/_corecffi.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc deleted file mode 100644 index 4c5ebeef..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 559d0737..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc deleted file mode 100644 index 38eb3670..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc deleted file mode 100644 index 755c6d6f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc deleted file mode 100644 index efa18c91..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc deleted file mode 100644 index 39e6900c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc deleted file mode 100644 index e19f9df8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc deleted file mode 100644 index 5d74866d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc deleted file mode 100644 index 9ce39a52..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc deleted file mode 100644 index b30c4b8a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc deleted file mode 100644 index adf1412e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc deleted file mode 100644 index 42e34c91..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc deleted file mode 100644 index dd3158e4..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc deleted file mode 100644 index 8fb280b8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc deleted file mode 100644 index 0fcc1e54..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc deleted file mode 100644 index aa505083..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc deleted file mode 100644 index 54d2cb5b..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc deleted file mode 100644 index 8e374e1e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc deleted file mode 100644 index 2b05089f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc deleted file mode 100644 index 3f2571e6..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc deleted file mode 100644 index 255cb906..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc deleted file mode 100644 index de784600..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc deleted file mode 100644 index b0ee947d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc deleted file mode 100644 index 6fe29331..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 96ca6d70..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc deleted file mode 100644 index 12ed7373..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 80ae1445..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/WHEEL b/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/WHEEL deleted file mode 100644 index d1267fcc..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.36.2) -Root-Is-Purelib: false -Tag: cp39-cp39-win_amd64 - diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/_greenlet.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/greenlet/_greenlet.cp39-win_amd64.pyd deleted file mode 100644 index 6753cb9f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/_greenlet.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 7f0320ae..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension.cp39-win_amd64.pyd deleted file mode 100644 index 66e109b8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension_cpp.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension_cpp.cp39-win_amd64.pyd deleted file mode 100644 index 693f61fa..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension_cpp.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/package_data.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/package_data.cpython-39.pyc deleted file mode 100644 index 5568620d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/package_data.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 6b75f13c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 2e18d51f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index b9b84756..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc deleted file mode 100644 index 3af43c8e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 8b13ce9c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3e49ff0a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 16d7a1c1..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 399cc537..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index d9cd1878..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index f54f702c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 507366f6..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 21e2b4ea..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 47772f7c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 0600be30..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc deleted file mode 100644 index 99a122ae..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index ffb99dfc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc deleted file mode 100644 index 113efbef..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index c5511a8e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 47e2f5eb..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc deleted file mode 100644 index c0c012bc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc deleted file mode 100644 index 8d9df3e3..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 48a35957..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index db6629b6..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 0db12c31..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index e8760a76..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index f831924d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc deleted file mode 100644 index 36981d92..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc deleted file mode 100644 index b6ed1859..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 6c570067..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc deleted file mode 100644 index 189459e2..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index b860ec8d..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc deleted file mode 100644 index 9d6826ba..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index a5e84072..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc deleted file mode 100644 index 24fb8fa1..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 75325d4f..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index cc3867bc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 1dab6cdc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 92a7b4d0..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index bbeaeb0c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index d0873350..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc deleted file mode 100644 index 22c9534a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/LICENSE b/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/LICENSE deleted file mode 100644 index 79b7547b..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -pycparser -- A C parser in Python - -Copyright (c) 2008-2017, Eli Bendersky -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of Eli Bendersky nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/METADATA b/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/METADATA deleted file mode 100644 index a3939e06..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/METADATA +++ /dev/null @@ -1,27 +0,0 @@ -Metadata-Version: 2.1 -Name: pycparser -Version: 2.20 -Summary: C parser in Python -Home-page: https://github.com/eliben/pycparser -Author: Eli Bendersky -Author-email: eliben@gmail.com -Maintainer: Eli Bendersky -License: BSD -Platform: Cross Platform -Classifier: Development Status :: 5 - Production/Stable -Classifier: License :: OSI Approved :: BSD License -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* - - -pycparser is a complete parser of the C language, written in -pure Python using the PLY parsing library. -It parses C code into an AST and can serve as a front-end for -C compilers or analysis tools. - - diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/RECORD b/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/RECORD deleted file mode 100644 index bd7739ef..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/RECORD +++ /dev/null @@ -1,41 +0,0 @@ -pycparser-2.20.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pycparser-2.20.dist-info/LICENSE,sha256=PHZimICuwvhXjtkUcBpP-eXai2CsuLfsZ1q_g8kMUWg,1536 -pycparser-2.20.dist-info/METADATA,sha256=5_RDLTEfmg8dh29oc053jTNp_OL82PllsggkGQTU_Ds,907 -pycparser-2.20.dist-info/RECORD,, -pycparser-2.20.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 -pycparser-2.20.dist-info/top_level.txt,sha256=c-lPcS74L_8KoH7IE6PQF5ofyirRQNV4VhkbSFIPeWM,10 -pycparser/__init__.py,sha256=O2ajDXgU2_NI52hUFV8WeAjCR5L-sclmaXerpcxqgPo,2815 -pycparser/__pycache__/__init__.cpython-39.pyc,, -pycparser/__pycache__/_ast_gen.cpython-39.pyc,, -pycparser/__pycache__/_build_tables.cpython-39.pyc,, -pycparser/__pycache__/ast_transforms.cpython-39.pyc,, -pycparser/__pycache__/c_ast.cpython-39.pyc,, -pycparser/__pycache__/c_generator.cpython-39.pyc,, -pycparser/__pycache__/c_lexer.cpython-39.pyc,, -pycparser/__pycache__/c_parser.cpython-39.pyc,, -pycparser/__pycache__/lextab.cpython-39.pyc,, -pycparser/__pycache__/plyparser.cpython-39.pyc,, -pycparser/__pycache__/yacctab.cpython-39.pyc,, -pycparser/_ast_gen.py,sha256=_LbRr_kKa2EHeb7y0gV525JV29nzCUbTH4oZ-9I4qIs,10607 -pycparser/_build_tables.py,sha256=oZCd3Plhq-vkV-QuEsaahcf-jUI6-HgKsrAL9gvFzuU,1039 -pycparser/_c_ast.cfg,sha256=1W8-DHa5RqZvyhha_0b4VvKL0CEYv9W0xFs_YwiyEHY,4206 -pycparser/ast_transforms.py,sha256=93ENKENTlugzFehnrQ0fdprijVdNt_ACCPygMxH4v7Q,3648 -pycparser/c_ast.py,sha256=JdDyC3QUZBfX9wVu2ENOrQQPbc737Jmf8Vtozhukayo,30233 -pycparser/c_generator.py,sha256=AwzNyE_rOFK2gzK0J5pCWDqfk7V8KL54ITFRf9m4GlY,15365 -pycparser/c_lexer.py,sha256=GWPUkwFe6F00gTAKIPAx4xs8-J-at_oGwEHnrKF4teM,16208 -pycparser/c_parser.py,sha256=w74N4tFGQ3TETIqUwClZIcbl-V4hFeJSPG2halVgUVs,69746 -pycparser/lextab.py,sha256=FyjRIsaq2wViDqJNYScURuc7GDW5F12VuYxOJLh1j4g,7011 -pycparser/ply/__init__.py,sha256=q4s86QwRsYRa20L9ueSxfh-hPihpftBjDOvYa2_SS2Y,102 -pycparser/ply/__pycache__/__init__.cpython-39.pyc,, -pycparser/ply/__pycache__/cpp.cpython-39.pyc,, -pycparser/ply/__pycache__/ctokens.cpython-39.pyc,, -pycparser/ply/__pycache__/lex.cpython-39.pyc,, -pycparser/ply/__pycache__/yacc.cpython-39.pyc,, -pycparser/ply/__pycache__/ygen.cpython-39.pyc,, -pycparser/ply/cpp.py,sha256=UtC3ylTWp5_1MKA-PLCuwKQR8zSOnlGuGGIdzj8xS98,33282 -pycparser/ply/ctokens.py,sha256=MKksnN40TehPhgVfxCJhjj_BjL943apreABKYz-bl0Y,3177 -pycparser/ply/lex.py,sha256=7Qol57x702HZwjA3ZLp-84CUEWq1EehW-N67Wzghi-M,42918 -pycparser/ply/yacc.py,sha256=eatSDkRLgRr6X3-hoDk_SQQv065R0BdL2K7fQ54CgVM,137323 -pycparser/ply/ygen.py,sha256=2JYNeYtrPz1JzLSLO3d4GsS8zJU8jY_I_CR1VI9gWrA,2251 -pycparser/plyparser.py,sha256=saGNjpsgncQz-hHEh45f28BLqopTxHffaJg_9BCZhi8,4873 -pycparser/yacctab.py,sha256=KOewsHNgbSYaYrLvDJr7K3jXj-7qou0ngyNEnhDmyB4,169715 diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/top_level.txt b/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/top_level.txt deleted file mode 100644 index dc1c9e10..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -pycparser diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__init__.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__init__.py deleted file mode 100644 index 6e86e9f6..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__init__.py +++ /dev/null @@ -1,90 +0,0 @@ -#----------------------------------------------------------------- -# pycparser: __init__.py -# -# This package file exports some convenience functions for -# interacting with pycparser -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- -__all__ = ['c_lexer', 'c_parser', 'c_ast'] -__version__ = '2.20' - -import io -from subprocess import check_output -from .c_parser import CParser - - -def preprocess_file(filename, cpp_path='cpp', cpp_args=''): - """ Preprocess a file using cpp. - - filename: - Name of the file you want to preprocess. - - cpp_path: - cpp_args: - Refer to the documentation of parse_file for the meaning of these - arguments. - - When successful, returns the preprocessed file's contents. - Errors from cpp will be printed out. - """ - path_list = [cpp_path] - if isinstance(cpp_args, list): - path_list += cpp_args - elif cpp_args != '': - path_list += [cpp_args] - path_list += [filename] - - try: - # Note the use of universal_newlines to treat all newlines - # as \n for Python's purpose - text = check_output(path_list, universal_newlines=True) - except OSError as e: - raise RuntimeError("Unable to invoke 'cpp'. " + - 'Make sure its path was passed correctly\n' + - ('Original error: %s' % e)) - - return text - - -def parse_file(filename, use_cpp=False, cpp_path='cpp', cpp_args='', - parser=None): - """ Parse a C file using pycparser. - - filename: - Name of the file you want to parse. - - use_cpp: - Set to True if you want to execute the C pre-processor - on the file prior to parsing it. - - cpp_path: - If use_cpp is True, this is the path to 'cpp' on your - system. If no path is provided, it attempts to just - execute 'cpp', so it must be in your PATH. - - cpp_args: - If use_cpp is True, set this to the command line arguments strings - to cpp. Be careful with quotes - it's best to pass a raw string - (r'') here. For example: - r'-I../utils/fake_libc_include' - If several arguments are required, pass a list of strings. - - parser: - Optional parser object to be used instead of the default CParser - - When successful, an AST is returned. ParseError can be - thrown if the file doesn't parse successfully. - - Errors from cpp will be printed out. - """ - if use_cpp: - text = preprocess_file(filename, cpp_path, cpp_args) - else: - with io.open(filename) as f: - text = f.read() - - if parser is None: - parser = CParser() - return parser.parse(text, filename) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index df6f6486..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_ast_gen.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_ast_gen.cpython-39.pyc deleted file mode 100644 index 1aeb62f1..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_ast_gen.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_build_tables.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_build_tables.cpython-39.pyc deleted file mode 100644 index d3ccfed4..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/_build_tables.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/ast_transforms.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/ast_transforms.cpython-39.pyc deleted file mode 100644 index 19398407..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/ast_transforms.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_ast.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_ast.cpython-39.pyc deleted file mode 100644 index b2a8f8a2..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_ast.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_generator.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_generator.cpython-39.pyc deleted file mode 100644 index 0bac1ddc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_generator.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_lexer.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_lexer.cpython-39.pyc deleted file mode 100644 index bad9b1db..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_lexer.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_parser.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_parser.cpython-39.pyc deleted file mode 100644 index b529bdba..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/c_parser.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/lextab.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/lextab.cpython-39.pyc deleted file mode 100644 index 3872d257..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/lextab.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/plyparser.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/plyparser.cpython-39.pyc deleted file mode 100644 index 706bee46..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/plyparser.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/yacctab.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/yacctab.cpython-39.pyc deleted file mode 100644 index a4b867c1..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/__pycache__/yacctab.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_ast_gen.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/_ast_gen.py deleted file mode 100644 index 5ec2d3df..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_ast_gen.py +++ /dev/null @@ -1,338 +0,0 @@ -#----------------------------------------------------------------- -# _ast_gen.py -# -# Generates the AST Node classes from a specification given in -# a configuration file -# -# The design of this module was inspired by astgen.py from the -# Python 2.5 code-base. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- -import pprint -from string import Template - - -class ASTCodeGenerator(object): - def __init__(self, cfg_filename='_c_ast.cfg'): - """ Initialize the code generator from a configuration - file. - """ - self.cfg_filename = cfg_filename - self.node_cfg = [NodeCfg(name, contents) - for (name, contents) in self.parse_cfgfile(cfg_filename)] - - def generate(self, file=None): - """ Generates the code into file, an open file buffer. - """ - src = Template(_PROLOGUE_COMMENT).substitute( - cfg_filename=self.cfg_filename) - - src += _PROLOGUE_CODE - for node_cfg in self.node_cfg: - src += node_cfg.generate_source() + '\n\n' - - file.write(src) - - def parse_cfgfile(self, filename): - """ Parse the configuration file and yield pairs of - (name, contents) for each node. - """ - with open(filename, "r") as f: - for line in f: - line = line.strip() - if not line or line.startswith('#'): - continue - colon_i = line.find(':') - lbracket_i = line.find('[') - rbracket_i = line.find(']') - if colon_i < 1 or lbracket_i <= colon_i or rbracket_i <= lbracket_i: - raise RuntimeError("Invalid line in %s:\n%s\n" % (filename, line)) - - name = line[:colon_i] - val = line[lbracket_i + 1:rbracket_i] - vallist = [v.strip() for v in val.split(',')] if val else [] - yield name, vallist - - -class NodeCfg(object): - """ Node configuration. - - name: node name - contents: a list of contents - attributes and child nodes - See comment at the top of the configuration file for details. - """ - - def __init__(self, name, contents): - self.name = name - self.all_entries = [] - self.attr = [] - self.child = [] - self.seq_child = [] - - for entry in contents: - clean_entry = entry.rstrip('*') - self.all_entries.append(clean_entry) - - if entry.endswith('**'): - self.seq_child.append(clean_entry) - elif entry.endswith('*'): - self.child.append(clean_entry) - else: - self.attr.append(entry) - - def generate_source(self): - src = self._gen_init() - src += '\n' + self._gen_children() - src += '\n' + self._gen_iter() - - src += '\n' + self._gen_attr_names() - return src - - def _gen_init(self): - src = "class %s(Node):\n" % self.name - - if self.all_entries: - args = ', '.join(self.all_entries) - slots = ', '.join("'{0}'".format(e) for e in self.all_entries) - slots += ", 'coord', '__weakref__'" - arglist = '(self, %s, coord=None)' % args - else: - slots = "'coord', '__weakref__'" - arglist = '(self, coord=None)' - - src += " __slots__ = (%s)\n" % slots - src += " def __init__%s:\n" % arglist - - for name in self.all_entries + ['coord']: - src += " self.%s = %s\n" % (name, name) - - return src - - def _gen_children(self): - src = ' def children(self):\n' - - if self.all_entries: - src += ' nodelist = []\n' - - for child in self.child: - src += ( - ' if self.%(child)s is not None:' + - ' nodelist.append(("%(child)s", self.%(child)s))\n') % ( - dict(child=child)) - - for seq_child in self.seq_child: - src += ( - ' for i, child in enumerate(self.%(child)s or []):\n' - ' nodelist.append(("%(child)s[%%d]" %% i, child))\n') % ( - dict(child=seq_child)) - - src += ' return tuple(nodelist)\n' - else: - src += ' return ()\n' - - return src - - def _gen_iter(self): - src = ' def __iter__(self):\n' - - if self.all_entries: - for child in self.child: - src += ( - ' if self.%(child)s is not None:\n' + - ' yield self.%(child)s\n') % (dict(child=child)) - - for seq_child in self.seq_child: - src += ( - ' for child in (self.%(child)s or []):\n' - ' yield child\n') % (dict(child=seq_child)) - - if not (self.child or self.seq_child): - # Empty generator - src += ( - ' return\n' + - ' yield\n') - else: - # Empty generator - src += ( - ' return\n' + - ' yield\n') - - return src - - def _gen_attr_names(self): - src = " attr_names = (" + ''.join("%r, " % nm for nm in self.attr) + ')' - return src - - -_PROLOGUE_COMMENT = \ -r'''#----------------------------------------------------------------- -# ** ATTENTION ** -# This code was automatically generated from the file: -# $cfg_filename -# -# Do not modify it directly. Modify the configuration file and -# run the generator again. -# ** ** *** ** ** -# -# pycparser: c_ast.py -# -# AST Node classes. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- - -''' - -_PROLOGUE_CODE = r''' -import sys - -def _repr(obj): - """ - Get the representation of an object, with dedicated pprint-like format for lists. - """ - if isinstance(obj, list): - return '[' + (',\n '.join((_repr(e).replace('\n', '\n ') for e in obj))) + '\n]' - else: - return repr(obj) - -class Node(object): - __slots__ = () - """ Abstract base class for AST nodes. - """ - def __repr__(self): - """ Generates a python representation of the current node - """ - result = self.__class__.__name__ + '(' - - indent = '' - separator = '' - for name in self.__slots__[:-2]: - result += separator - result += indent - result += name + '=' + (_repr(getattr(self, name)).replace('\n', '\n ' + (' ' * (len(name) + len(self.__class__.__name__))))) - - separator = ',' - indent = '\n ' + (' ' * len(self.__class__.__name__)) - - result += indent + ')' - - return result - - def children(self): - """ A sequence of all children that are Nodes - """ - pass - - def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None): - """ Pretty print the Node and all its attributes and - children (recursively) to a buffer. - - buf: - Open IO buffer into which the Node is printed. - - offset: - Initial offset (amount of leading spaces) - - attrnames: - True if you want to see the attribute names in - name=value pairs. False to only see the values. - - nodenames: - True if you want to see the actual node names - within their parents. - - showcoord: - Do you want the coordinates of each Node to be - displayed. - """ - lead = ' ' * offset - if nodenames and _my_node_name is not None: - buf.write(lead + self.__class__.__name__+ ' <' + _my_node_name + '>: ') - else: - buf.write(lead + self.__class__.__name__+ ': ') - - if self.attr_names: - if attrnames: - nvlist = [(n, getattr(self,n)) for n in self.attr_names] - attrstr = ', '.join('%s=%s' % nv for nv in nvlist) - else: - vlist = [getattr(self, n) for n in self.attr_names] - attrstr = ', '.join('%s' % v for v in vlist) - buf.write(attrstr) - - if showcoord: - buf.write(' (at %s)' % self.coord) - buf.write('\n') - - for (child_name, child) in self.children(): - child.show( - buf, - offset=offset + 2, - attrnames=attrnames, - nodenames=nodenames, - showcoord=showcoord, - _my_node_name=child_name) - - -class NodeVisitor(object): - """ A base NodeVisitor class for visiting c_ast nodes. - Subclass it and define your own visit_XXX methods, where - XXX is the class name you want to visit with these - methods. - - For example: - - class ConstantVisitor(NodeVisitor): - def __init__(self): - self.values = [] - - def visit_Constant(self, node): - self.values.append(node.value) - - Creates a list of values of all the constant nodes - encountered below the given node. To use it: - - cv = ConstantVisitor() - cv.visit(node) - - Notes: - - * generic_visit() will be called for AST nodes for which - no visit_XXX method was defined. - * The children of nodes for which a visit_XXX was - defined will not be visited - if you need this, call - generic_visit() on the node. - You can use: - NodeVisitor.generic_visit(self, node) - * Modeled after Python's own AST visiting facilities - (the ast module of Python 3.0) - """ - - _method_cache = None - - def visit(self, node): - """ Visit a node. - """ - - if self._method_cache is None: - self._method_cache = {} - - visitor = self._method_cache.get(node.__class__.__name__, None) - if visitor is None: - method = 'visit_' + node.__class__.__name__ - visitor = getattr(self, method, self.generic_visit) - self._method_cache[node.__class__.__name__] = visitor - - return visitor(node) - - def generic_visit(self, node): - """ Called if no explicit visitor function exists for a - node. Implements preorder visiting of the node. - """ - for c in node: - self.visit(c) - -''' diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_build_tables.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/_build_tables.py deleted file mode 100644 index 958381ad..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_build_tables.py +++ /dev/null @@ -1,37 +0,0 @@ -#----------------------------------------------------------------- -# pycparser: _build_tables.py -# -# A dummy for generating the lexing/parsing tables and and -# compiling them into .pyc for faster execution in optimized mode. -# Also generates AST code from the configuration file. -# Should be called from the pycparser directory. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- - -# Insert '.' and '..' as first entries to the search path for modules. -# Restricted environments like embeddable python do not include the -# current working directory on startup. -import sys -sys.path[0:0] = ['.', '..'] - -# Generate c_ast.py -from _ast_gen import ASTCodeGenerator -ast_gen = ASTCodeGenerator('_c_ast.cfg') -ast_gen.generate(open('c_ast.py', 'w')) - -from pycparser import c_parser - -# Generates the tables -# -c_parser.CParser( - lex_optimize=True, - yacc_debug=False, - yacc_optimize=True) - -# Load to compile into .pyc -# -import lextab -import yacctab -import c_ast diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_c_ast.cfg b/IKEA_scraper/.venv/Lib/site-packages/pycparser/_c_ast.cfg deleted file mode 100644 index b93d50bb..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/_c_ast.cfg +++ /dev/null @@ -1,191 +0,0 @@ -#----------------------------------------------------------------- -# pycparser: _c_ast.cfg -# -# Defines the AST Node classes used in pycparser. -# -# Each entry is a Node sub-class name, listing the attributes -# and child nodes of the class: -# * - a child node -# ** - a sequence of child nodes -# - an attribute -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- - -# ArrayDecl is a nested declaration of an array with the given type. -# dim: the dimension (for example, constant 42) -# dim_quals: list of dimension qualifiers, to support C99's allowing 'const' -# and 'static' within the array dimension in function declarations. -ArrayDecl: [type*, dim*, dim_quals] - -ArrayRef: [name*, subscript*] - -# op: =, +=, /= etc. -# -Assignment: [op, lvalue*, rvalue*] - -BinaryOp: [op, left*, right*] - -Break: [] - -Case: [expr*, stmts**] - -Cast: [to_type*, expr*] - -# Compound statement in C99 is a list of block items (declarations or -# statements). -# -Compound: [block_items**] - -# Compound literal (anonymous aggregate) for C99. -# (type-name) {initializer_list} -# type: the typename -# init: InitList for the initializer list -# -CompoundLiteral: [type*, init*] - -# type: int, char, float, etc. see CLexer for constant token types -# -Constant: [type, value] - -Continue: [] - -# name: the variable being declared -# quals: list of qualifiers (const, volatile) -# funcspec: list function specifiers (i.e. inline in C99) -# storage: list of storage specifiers (extern, register, etc.) -# type: declaration type (probably nested with all the modifiers) -# init: initialization value, or None -# bitsize: bit field size, or None -# -Decl: [name, quals, storage, funcspec, type*, init*, bitsize*] - -DeclList: [decls**] - -Default: [stmts**] - -DoWhile: [cond*, stmt*] - -# Represents the ellipsis (...) parameter in a function -# declaration -# -EllipsisParam: [] - -# An empty statement (a semicolon ';' on its own) -# -EmptyStatement: [] - -# Enumeration type specifier -# name: an optional ID -# values: an EnumeratorList -# -Enum: [name, values*] - -# A name/value pair for enumeration values -# -Enumerator: [name, value*] - -# A list of enumerators -# -EnumeratorList: [enumerators**] - -# A list of expressions separated by the comma operator. -# -ExprList: [exprs**] - -# This is the top of the AST, representing a single C file (a -# translation unit in K&R jargon). It contains a list of -# "external-declaration"s, which is either declarations (Decl), -# Typedef or function definitions (FuncDef). -# -FileAST: [ext**] - -# for (init; cond; next) stmt -# -For: [init*, cond*, next*, stmt*] - -# name: Id -# args: ExprList -# -FuncCall: [name*, args*] - -# type (args) -# -FuncDecl: [args*, type*] - -# Function definition: a declarator for the function name and -# a body, which is a compound statement. -# There's an optional list of parameter declarations for old -# K&R-style definitions -# -FuncDef: [decl*, param_decls**, body*] - -Goto: [name] - -ID: [name] - -# Holder for types that are a simple identifier (e.g. the built -# ins void, char etc. and typedef-defined types) -# -IdentifierType: [names] - -If: [cond*, iftrue*, iffalse*] - -# An initialization list used for compound literals. -# -InitList: [exprs**] - -Label: [name, stmt*] - -# A named initializer for C99. -# The name of a NamedInitializer is a sequence of Nodes, because -# names can be hierarchical and contain constant expressions. -# -NamedInitializer: [name**, expr*] - -# a list of comma separated function parameter declarations -# -ParamList: [params**] - -PtrDecl: [quals, type*] - -Return: [expr*] - -# name: struct tag name -# decls: declaration of members -# -Struct: [name, decls**] - -# type: . or -> -# name.field or name->field -# -StructRef: [name*, type, field*] - -Switch: [cond*, stmt*] - -# cond ? iftrue : iffalse -# -TernaryOp: [cond*, iftrue*, iffalse*] - -# A base type declaration -# -TypeDecl: [declname, quals, type*] - -# A typedef declaration. -# Very similar to Decl, but without some attributes -# -Typedef: [name, quals, storage, type*] - -Typename: [name, quals, type*] - -UnaryOp: [op, expr*] - -# name: union tag name -# decls: declaration of members -# -Union: [name, decls**] - -While: [cond*, stmt*] - -Pragma: [string] diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ast_transforms.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ast_transforms.py deleted file mode 100644 index 0aeb88f0..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ast_transforms.py +++ /dev/null @@ -1,106 +0,0 @@ -#------------------------------------------------------------------------------ -# pycparser: ast_transforms.py -# -# Some utilities used by the parser to create a friendlier AST. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#------------------------------------------------------------------------------ - -from . import c_ast - - -def fix_switch_cases(switch_node): - """ The 'case' statements in a 'switch' come out of parsing with one - child node, so subsequent statements are just tucked to the parent - Compound. Additionally, consecutive (fall-through) case statements - come out messy. This is a peculiarity of the C grammar. The following: - - switch (myvar) { - case 10: - k = 10; - p = k + 1; - return 10; - case 20: - case 30: - return 20; - default: - break; - } - - Creates this tree (pseudo-dump): - - Switch - ID: myvar - Compound: - Case 10: - k = 10 - p = k + 1 - return 10 - Case 20: - Case 30: - return 20 - Default: - break - - The goal of this transform is to fix this mess, turning it into the - following: - - Switch - ID: myvar - Compound: - Case 10: - k = 10 - p = k + 1 - return 10 - Case 20: - Case 30: - return 20 - Default: - break - - A fixed AST node is returned. The argument may be modified. - """ - assert isinstance(switch_node, c_ast.Switch) - if not isinstance(switch_node.stmt, c_ast.Compound): - return switch_node - - # The new Compound child for the Switch, which will collect children in the - # correct order - new_compound = c_ast.Compound([], switch_node.stmt.coord) - - # The last Case/Default node - last_case = None - - # Goes over the children of the Compound below the Switch, adding them - # either directly below new_compound or below the last Case as appropriate - # (for `switch(cond) {}`, block_items would have been None) - for child in (switch_node.stmt.block_items or []): - if isinstance(child, (c_ast.Case, c_ast.Default)): - # If it's a Case/Default: - # 1. Add it to the Compound and mark as "last case" - # 2. If its immediate child is also a Case or Default, promote it - # to a sibling. - new_compound.block_items.append(child) - _extract_nested_case(child, new_compound.block_items) - last_case = new_compound.block_items[-1] - else: - # Other statements are added as children to the last case, if it - # exists. - if last_case is None: - new_compound.block_items.append(child) - else: - last_case.stmts.append(child) - - switch_node.stmt = new_compound - return switch_node - - -def _extract_nested_case(case_node, stmts_list): - """ Recursively extract consecutive Case statements that are made nested - by the parser and add them to the stmts_list. - """ - if isinstance(case_node.stmts[0], (c_ast.Case, c_ast.Default)): - stmts_list.append(case_node.stmts.pop()) - _extract_nested_case(stmts_list[-1], stmts_list) - diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_ast.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_ast.py deleted file mode 100644 index b7bbbeed..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_ast.py +++ /dev/null @@ -1,1084 +0,0 @@ -#----------------------------------------------------------------- -# ** ATTENTION ** -# This code was automatically generated from the file: -# _c_ast.cfg -# -# Do not modify it directly. Modify the configuration file and -# run the generator again. -# ** ** *** ** ** -# -# pycparser: c_ast.py -# -# AST Node classes. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- - - -import sys - -def _repr(obj): - """ - Get the representation of an object, with dedicated pprint-like format for lists. - """ - if isinstance(obj, list): - return '[' + (',\n '.join((_repr(e).replace('\n', '\n ') for e in obj))) + '\n]' - else: - return repr(obj) - -class Node(object): - __slots__ = () - """ Abstract base class for AST nodes. - """ - def __repr__(self): - """ Generates a python representation of the current node - """ - result = self.__class__.__name__ + '(' - - indent = '' - separator = '' - for name in self.__slots__[:-2]: - result += separator - result += indent - result += name + '=' + (_repr(getattr(self, name)).replace('\n', '\n ' + (' ' * (len(name) + len(self.__class__.__name__))))) - - separator = ',' - indent = '\n ' + (' ' * len(self.__class__.__name__)) - - result += indent + ')' - - return result - - def children(self): - """ A sequence of all children that are Nodes - """ - pass - - def show(self, buf=sys.stdout, offset=0, attrnames=False, nodenames=False, showcoord=False, _my_node_name=None): - """ Pretty print the Node and all its attributes and - children (recursively) to a buffer. - - buf: - Open IO buffer into which the Node is printed. - - offset: - Initial offset (amount of leading spaces) - - attrnames: - True if you want to see the attribute names in - name=value pairs. False to only see the values. - - nodenames: - True if you want to see the actual node names - within their parents. - - showcoord: - Do you want the coordinates of each Node to be - displayed. - """ - lead = ' ' * offset - if nodenames and _my_node_name is not None: - buf.write(lead + self.__class__.__name__+ ' <' + _my_node_name + '>: ') - else: - buf.write(lead + self.__class__.__name__+ ': ') - - if self.attr_names: - if attrnames: - nvlist = [(n, getattr(self,n)) for n in self.attr_names] - attrstr = ', '.join('%s=%s' % nv for nv in nvlist) - else: - vlist = [getattr(self, n) for n in self.attr_names] - attrstr = ', '.join('%s' % v for v in vlist) - buf.write(attrstr) - - if showcoord: - buf.write(' (at %s)' % self.coord) - buf.write('\n') - - for (child_name, child) in self.children(): - child.show( - buf, - offset=offset + 2, - attrnames=attrnames, - nodenames=nodenames, - showcoord=showcoord, - _my_node_name=child_name) - - -class NodeVisitor(object): - """ A base NodeVisitor class for visiting c_ast nodes. - Subclass it and define your own visit_XXX methods, where - XXX is the class name you want to visit with these - methods. - - For example: - - class ConstantVisitor(NodeVisitor): - def __init__(self): - self.values = [] - - def visit_Constant(self, node): - self.values.append(node.value) - - Creates a list of values of all the constant nodes - encountered below the given node. To use it: - - cv = ConstantVisitor() - cv.visit(node) - - Notes: - - * generic_visit() will be called for AST nodes for which - no visit_XXX method was defined. - * The children of nodes for which a visit_XXX was - defined will not be visited - if you need this, call - generic_visit() on the node. - You can use: - NodeVisitor.generic_visit(self, node) - * Modeled after Python's own AST visiting facilities - (the ast module of Python 3.0) - """ - - _method_cache = None - - def visit(self, node): - """ Visit a node. - """ - - if self._method_cache is None: - self._method_cache = {} - - visitor = self._method_cache.get(node.__class__.__name__, None) - if visitor is None: - method = 'visit_' + node.__class__.__name__ - visitor = getattr(self, method, self.generic_visit) - self._method_cache[node.__class__.__name__] = visitor - - return visitor(node) - - def generic_visit(self, node): - """ Called if no explicit visitor function exists for a - node. Implements preorder visiting of the node. - """ - for c in node: - self.visit(c) - -class ArrayDecl(Node): - __slots__ = ('type', 'dim', 'dim_quals', 'coord', '__weakref__') - def __init__(self, type, dim, dim_quals, coord=None): - self.type = type - self.dim = dim - self.dim_quals = dim_quals - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - if self.dim is not None: nodelist.append(("dim", self.dim)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - if self.dim is not None: - yield self.dim - - attr_names = ('dim_quals', ) - -class ArrayRef(Node): - __slots__ = ('name', 'subscript', 'coord', '__weakref__') - def __init__(self, name, subscript, coord=None): - self.name = name - self.subscript = subscript - self.coord = coord - - def children(self): - nodelist = [] - if self.name is not None: nodelist.append(("name", self.name)) - if self.subscript is not None: nodelist.append(("subscript", self.subscript)) - return tuple(nodelist) - - def __iter__(self): - if self.name is not None: - yield self.name - if self.subscript is not None: - yield self.subscript - - attr_names = () - -class Assignment(Node): - __slots__ = ('op', 'lvalue', 'rvalue', 'coord', '__weakref__') - def __init__(self, op, lvalue, rvalue, coord=None): - self.op = op - self.lvalue = lvalue - self.rvalue = rvalue - self.coord = coord - - def children(self): - nodelist = [] - if self.lvalue is not None: nodelist.append(("lvalue", self.lvalue)) - if self.rvalue is not None: nodelist.append(("rvalue", self.rvalue)) - return tuple(nodelist) - - def __iter__(self): - if self.lvalue is not None: - yield self.lvalue - if self.rvalue is not None: - yield self.rvalue - - attr_names = ('op', ) - -class BinaryOp(Node): - __slots__ = ('op', 'left', 'right', 'coord', '__weakref__') - def __init__(self, op, left, right, coord=None): - self.op = op - self.left = left - self.right = right - self.coord = coord - - def children(self): - nodelist = [] - if self.left is not None: nodelist.append(("left", self.left)) - if self.right is not None: nodelist.append(("right", self.right)) - return tuple(nodelist) - - def __iter__(self): - if self.left is not None: - yield self.left - if self.right is not None: - yield self.right - - attr_names = ('op', ) - -class Break(Node): - __slots__ = ('coord', '__weakref__') - def __init__(self, coord=None): - self.coord = coord - - def children(self): - return () - - def __iter__(self): - return - yield - - attr_names = () - -class Case(Node): - __slots__ = ('expr', 'stmts', 'coord', '__weakref__') - def __init__(self, expr, stmts, coord=None): - self.expr = expr - self.stmts = stmts - self.coord = coord - - def children(self): - nodelist = [] - if self.expr is not None: nodelist.append(("expr", self.expr)) - for i, child in enumerate(self.stmts or []): - nodelist.append(("stmts[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - if self.expr is not None: - yield self.expr - for child in (self.stmts or []): - yield child - - attr_names = () - -class Cast(Node): - __slots__ = ('to_type', 'expr', 'coord', '__weakref__') - def __init__(self, to_type, expr, coord=None): - self.to_type = to_type - self.expr = expr - self.coord = coord - - def children(self): - nodelist = [] - if self.to_type is not None: nodelist.append(("to_type", self.to_type)) - if self.expr is not None: nodelist.append(("expr", self.expr)) - return tuple(nodelist) - - def __iter__(self): - if self.to_type is not None: - yield self.to_type - if self.expr is not None: - yield self.expr - - attr_names = () - -class Compound(Node): - __slots__ = ('block_items', 'coord', '__weakref__') - def __init__(self, block_items, coord=None): - self.block_items = block_items - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.block_items or []): - nodelist.append(("block_items[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.block_items or []): - yield child - - attr_names = () - -class CompoundLiteral(Node): - __slots__ = ('type', 'init', 'coord', '__weakref__') - def __init__(self, type, init, coord=None): - self.type = type - self.init = init - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - if self.init is not None: nodelist.append(("init", self.init)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - if self.init is not None: - yield self.init - - attr_names = () - -class Constant(Node): - __slots__ = ('type', 'value', 'coord', '__weakref__') - def __init__(self, type, value, coord=None): - self.type = type - self.value = value - self.coord = coord - - def children(self): - nodelist = [] - return tuple(nodelist) - - def __iter__(self): - return - yield - - attr_names = ('type', 'value', ) - -class Continue(Node): - __slots__ = ('coord', '__weakref__') - def __init__(self, coord=None): - self.coord = coord - - def children(self): - return () - - def __iter__(self): - return - yield - - attr_names = () - -class Decl(Node): - __slots__ = ('name', 'quals', 'storage', 'funcspec', 'type', 'init', 'bitsize', 'coord', '__weakref__') - def __init__(self, name, quals, storage, funcspec, type, init, bitsize, coord=None): - self.name = name - self.quals = quals - self.storage = storage - self.funcspec = funcspec - self.type = type - self.init = init - self.bitsize = bitsize - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - if self.init is not None: nodelist.append(("init", self.init)) - if self.bitsize is not None: nodelist.append(("bitsize", self.bitsize)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - if self.init is not None: - yield self.init - if self.bitsize is not None: - yield self.bitsize - - attr_names = ('name', 'quals', 'storage', 'funcspec', ) - -class DeclList(Node): - __slots__ = ('decls', 'coord', '__weakref__') - def __init__(self, decls, coord=None): - self.decls = decls - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.decls or []): - nodelist.append(("decls[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.decls or []): - yield child - - attr_names = () - -class Default(Node): - __slots__ = ('stmts', 'coord', '__weakref__') - def __init__(self, stmts, coord=None): - self.stmts = stmts - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.stmts or []): - nodelist.append(("stmts[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.stmts or []): - yield child - - attr_names = () - -class DoWhile(Node): - __slots__ = ('cond', 'stmt', 'coord', '__weakref__') - def __init__(self, cond, stmt, coord=None): - self.cond = cond - self.stmt = stmt - self.coord = coord - - def children(self): - nodelist = [] - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.stmt is not None: nodelist.append(("stmt", self.stmt)) - return tuple(nodelist) - - def __iter__(self): - if self.cond is not None: - yield self.cond - if self.stmt is not None: - yield self.stmt - - attr_names = () - -class EllipsisParam(Node): - __slots__ = ('coord', '__weakref__') - def __init__(self, coord=None): - self.coord = coord - - def children(self): - return () - - def __iter__(self): - return - yield - - attr_names = () - -class EmptyStatement(Node): - __slots__ = ('coord', '__weakref__') - def __init__(self, coord=None): - self.coord = coord - - def children(self): - return () - - def __iter__(self): - return - yield - - attr_names = () - -class Enum(Node): - __slots__ = ('name', 'values', 'coord', '__weakref__') - def __init__(self, name, values, coord=None): - self.name = name - self.values = values - self.coord = coord - - def children(self): - nodelist = [] - if self.values is not None: nodelist.append(("values", self.values)) - return tuple(nodelist) - - def __iter__(self): - if self.values is not None: - yield self.values - - attr_names = ('name', ) - -class Enumerator(Node): - __slots__ = ('name', 'value', 'coord', '__weakref__') - def __init__(self, name, value, coord=None): - self.name = name - self.value = value - self.coord = coord - - def children(self): - nodelist = [] - if self.value is not None: nodelist.append(("value", self.value)) - return tuple(nodelist) - - def __iter__(self): - if self.value is not None: - yield self.value - - attr_names = ('name', ) - -class EnumeratorList(Node): - __slots__ = ('enumerators', 'coord', '__weakref__') - def __init__(self, enumerators, coord=None): - self.enumerators = enumerators - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.enumerators or []): - nodelist.append(("enumerators[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.enumerators or []): - yield child - - attr_names = () - -class ExprList(Node): - __slots__ = ('exprs', 'coord', '__weakref__') - def __init__(self, exprs, coord=None): - self.exprs = exprs - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.exprs or []): - nodelist.append(("exprs[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.exprs or []): - yield child - - attr_names = () - -class FileAST(Node): - __slots__ = ('ext', 'coord', '__weakref__') - def __init__(self, ext, coord=None): - self.ext = ext - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.ext or []): - nodelist.append(("ext[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.ext or []): - yield child - - attr_names = () - -class For(Node): - __slots__ = ('init', 'cond', 'next', 'stmt', 'coord', '__weakref__') - def __init__(self, init, cond, next, stmt, coord=None): - self.init = init - self.cond = cond - self.next = next - self.stmt = stmt - self.coord = coord - - def children(self): - nodelist = [] - if self.init is not None: nodelist.append(("init", self.init)) - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.next is not None: nodelist.append(("next", self.next)) - if self.stmt is not None: nodelist.append(("stmt", self.stmt)) - return tuple(nodelist) - - def __iter__(self): - if self.init is not None: - yield self.init - if self.cond is not None: - yield self.cond - if self.next is not None: - yield self.next - if self.stmt is not None: - yield self.stmt - - attr_names = () - -class FuncCall(Node): - __slots__ = ('name', 'args', 'coord', '__weakref__') - def __init__(self, name, args, coord=None): - self.name = name - self.args = args - self.coord = coord - - def children(self): - nodelist = [] - if self.name is not None: nodelist.append(("name", self.name)) - if self.args is not None: nodelist.append(("args", self.args)) - return tuple(nodelist) - - def __iter__(self): - if self.name is not None: - yield self.name - if self.args is not None: - yield self.args - - attr_names = () - -class FuncDecl(Node): - __slots__ = ('args', 'type', 'coord', '__weakref__') - def __init__(self, args, type, coord=None): - self.args = args - self.type = type - self.coord = coord - - def children(self): - nodelist = [] - if self.args is not None: nodelist.append(("args", self.args)) - if self.type is not None: nodelist.append(("type", self.type)) - return tuple(nodelist) - - def __iter__(self): - if self.args is not None: - yield self.args - if self.type is not None: - yield self.type - - attr_names = () - -class FuncDef(Node): - __slots__ = ('decl', 'param_decls', 'body', 'coord', '__weakref__') - def __init__(self, decl, param_decls, body, coord=None): - self.decl = decl - self.param_decls = param_decls - self.body = body - self.coord = coord - - def children(self): - nodelist = [] - if self.decl is not None: nodelist.append(("decl", self.decl)) - if self.body is not None: nodelist.append(("body", self.body)) - for i, child in enumerate(self.param_decls or []): - nodelist.append(("param_decls[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - if self.decl is not None: - yield self.decl - if self.body is not None: - yield self.body - for child in (self.param_decls or []): - yield child - - attr_names = () - -class Goto(Node): - __slots__ = ('name', 'coord', '__weakref__') - def __init__(self, name, coord=None): - self.name = name - self.coord = coord - - def children(self): - nodelist = [] - return tuple(nodelist) - - def __iter__(self): - return - yield - - attr_names = ('name', ) - -class ID(Node): - __slots__ = ('name', 'coord', '__weakref__') - def __init__(self, name, coord=None): - self.name = name - self.coord = coord - - def children(self): - nodelist = [] - return tuple(nodelist) - - def __iter__(self): - return - yield - - attr_names = ('name', ) - -class IdentifierType(Node): - __slots__ = ('names', 'coord', '__weakref__') - def __init__(self, names, coord=None): - self.names = names - self.coord = coord - - def children(self): - nodelist = [] - return tuple(nodelist) - - def __iter__(self): - return - yield - - attr_names = ('names', ) - -class If(Node): - __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__') - def __init__(self, cond, iftrue, iffalse, coord=None): - self.cond = cond - self.iftrue = iftrue - self.iffalse = iffalse - self.coord = coord - - def children(self): - nodelist = [] - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.iftrue is not None: nodelist.append(("iftrue", self.iftrue)) - if self.iffalse is not None: nodelist.append(("iffalse", self.iffalse)) - return tuple(nodelist) - - def __iter__(self): - if self.cond is not None: - yield self.cond - if self.iftrue is not None: - yield self.iftrue - if self.iffalse is not None: - yield self.iffalse - - attr_names = () - -class InitList(Node): - __slots__ = ('exprs', 'coord', '__weakref__') - def __init__(self, exprs, coord=None): - self.exprs = exprs - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.exprs or []): - nodelist.append(("exprs[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.exprs or []): - yield child - - attr_names = () - -class Label(Node): - __slots__ = ('name', 'stmt', 'coord', '__weakref__') - def __init__(self, name, stmt, coord=None): - self.name = name - self.stmt = stmt - self.coord = coord - - def children(self): - nodelist = [] - if self.stmt is not None: nodelist.append(("stmt", self.stmt)) - return tuple(nodelist) - - def __iter__(self): - if self.stmt is not None: - yield self.stmt - - attr_names = ('name', ) - -class NamedInitializer(Node): - __slots__ = ('name', 'expr', 'coord', '__weakref__') - def __init__(self, name, expr, coord=None): - self.name = name - self.expr = expr - self.coord = coord - - def children(self): - nodelist = [] - if self.expr is not None: nodelist.append(("expr", self.expr)) - for i, child in enumerate(self.name or []): - nodelist.append(("name[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - if self.expr is not None: - yield self.expr - for child in (self.name or []): - yield child - - attr_names = () - -class ParamList(Node): - __slots__ = ('params', 'coord', '__weakref__') - def __init__(self, params, coord=None): - self.params = params - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.params or []): - nodelist.append(("params[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.params or []): - yield child - - attr_names = () - -class PtrDecl(Node): - __slots__ = ('quals', 'type', 'coord', '__weakref__') - def __init__(self, quals, type, coord=None): - self.quals = quals - self.type = type - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - - attr_names = ('quals', ) - -class Return(Node): - __slots__ = ('expr', 'coord', '__weakref__') - def __init__(self, expr, coord=None): - self.expr = expr - self.coord = coord - - def children(self): - nodelist = [] - if self.expr is not None: nodelist.append(("expr", self.expr)) - return tuple(nodelist) - - def __iter__(self): - if self.expr is not None: - yield self.expr - - attr_names = () - -class Struct(Node): - __slots__ = ('name', 'decls', 'coord', '__weakref__') - def __init__(self, name, decls, coord=None): - self.name = name - self.decls = decls - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.decls or []): - nodelist.append(("decls[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.decls or []): - yield child - - attr_names = ('name', ) - -class StructRef(Node): - __slots__ = ('name', 'type', 'field', 'coord', '__weakref__') - def __init__(self, name, type, field, coord=None): - self.name = name - self.type = type - self.field = field - self.coord = coord - - def children(self): - nodelist = [] - if self.name is not None: nodelist.append(("name", self.name)) - if self.field is not None: nodelist.append(("field", self.field)) - return tuple(nodelist) - - def __iter__(self): - if self.name is not None: - yield self.name - if self.field is not None: - yield self.field - - attr_names = ('type', ) - -class Switch(Node): - __slots__ = ('cond', 'stmt', 'coord', '__weakref__') - def __init__(self, cond, stmt, coord=None): - self.cond = cond - self.stmt = stmt - self.coord = coord - - def children(self): - nodelist = [] - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.stmt is not None: nodelist.append(("stmt", self.stmt)) - return tuple(nodelist) - - def __iter__(self): - if self.cond is not None: - yield self.cond - if self.stmt is not None: - yield self.stmt - - attr_names = () - -class TernaryOp(Node): - __slots__ = ('cond', 'iftrue', 'iffalse', 'coord', '__weakref__') - def __init__(self, cond, iftrue, iffalse, coord=None): - self.cond = cond - self.iftrue = iftrue - self.iffalse = iffalse - self.coord = coord - - def children(self): - nodelist = [] - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.iftrue is not None: nodelist.append(("iftrue", self.iftrue)) - if self.iffalse is not None: nodelist.append(("iffalse", self.iffalse)) - return tuple(nodelist) - - def __iter__(self): - if self.cond is not None: - yield self.cond - if self.iftrue is not None: - yield self.iftrue - if self.iffalse is not None: - yield self.iffalse - - attr_names = () - -class TypeDecl(Node): - __slots__ = ('declname', 'quals', 'type', 'coord', '__weakref__') - def __init__(self, declname, quals, type, coord=None): - self.declname = declname - self.quals = quals - self.type = type - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - - attr_names = ('declname', 'quals', ) - -class Typedef(Node): - __slots__ = ('name', 'quals', 'storage', 'type', 'coord', '__weakref__') - def __init__(self, name, quals, storage, type, coord=None): - self.name = name - self.quals = quals - self.storage = storage - self.type = type - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - - attr_names = ('name', 'quals', 'storage', ) - -class Typename(Node): - __slots__ = ('name', 'quals', 'type', 'coord', '__weakref__') - def __init__(self, name, quals, type, coord=None): - self.name = name - self.quals = quals - self.type = type - self.coord = coord - - def children(self): - nodelist = [] - if self.type is not None: nodelist.append(("type", self.type)) - return tuple(nodelist) - - def __iter__(self): - if self.type is not None: - yield self.type - - attr_names = ('name', 'quals', ) - -class UnaryOp(Node): - __slots__ = ('op', 'expr', 'coord', '__weakref__') - def __init__(self, op, expr, coord=None): - self.op = op - self.expr = expr - self.coord = coord - - def children(self): - nodelist = [] - if self.expr is not None: nodelist.append(("expr", self.expr)) - return tuple(nodelist) - - def __iter__(self): - if self.expr is not None: - yield self.expr - - attr_names = ('op', ) - -class Union(Node): - __slots__ = ('name', 'decls', 'coord', '__weakref__') - def __init__(self, name, decls, coord=None): - self.name = name - self.decls = decls - self.coord = coord - - def children(self): - nodelist = [] - for i, child in enumerate(self.decls or []): - nodelist.append(("decls[%d]" % i, child)) - return tuple(nodelist) - - def __iter__(self): - for child in (self.decls or []): - yield child - - attr_names = ('name', ) - -class While(Node): - __slots__ = ('cond', 'stmt', 'coord', '__weakref__') - def __init__(self, cond, stmt, coord=None): - self.cond = cond - self.stmt = stmt - self.coord = coord - - def children(self): - nodelist = [] - if self.cond is not None: nodelist.append(("cond", self.cond)) - if self.stmt is not None: nodelist.append(("stmt", self.stmt)) - return tuple(nodelist) - - def __iter__(self): - if self.cond is not None: - yield self.cond - if self.stmt is not None: - yield self.stmt - - attr_names = () - -class Pragma(Node): - __slots__ = ('string', 'coord', '__weakref__') - def __init__(self, string, coord=None): - self.string = string - self.coord = coord - - def children(self): - nodelist = [] - return tuple(nodelist) - - def __iter__(self): - return - yield - - attr_names = ('string', ) - diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_generator.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_generator.py deleted file mode 100644 index 973d24a8..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_generator.py +++ /dev/null @@ -1,444 +0,0 @@ -#------------------------------------------------------------------------------ -# pycparser: c_generator.py -# -# C code generator from pycparser AST nodes. -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#------------------------------------------------------------------------------ -from . import c_ast - - -class CGenerator(object): - """ Uses the same visitor pattern as c_ast.NodeVisitor, but modified to - return a value from each visit method, using string accumulation in - generic_visit. - """ - def __init__(self): - # Statements start with indentation of self.indent_level spaces, using - # the _make_indent method - # - self.indent_level = 0 - - def _make_indent(self): - return ' ' * self.indent_level - - def visit(self, node): - method = 'visit_' + node.__class__.__name__ - return getattr(self, method, self.generic_visit)(node) - - def generic_visit(self, node): - #~ print('generic:', type(node)) - if node is None: - return '' - else: - return ''.join(self.visit(c) for c_name, c in node.children()) - - def visit_Constant(self, n): - return n.value - - def visit_ID(self, n): - return n.name - - def visit_Pragma(self, n): - ret = '#pragma' - if n.string: - ret += ' ' + n.string - return ret - - def visit_ArrayRef(self, n): - arrref = self._parenthesize_unless_simple(n.name) - return arrref + '[' + self.visit(n.subscript) + ']' - - def visit_StructRef(self, n): - sref = self._parenthesize_unless_simple(n.name) - return sref + n.type + self.visit(n.field) - - def visit_FuncCall(self, n): - fref = self._parenthesize_unless_simple(n.name) - return fref + '(' + self.visit(n.args) + ')' - - def visit_UnaryOp(self, n): - operand = self._parenthesize_unless_simple(n.expr) - if n.op == 'p++': - return '%s++' % operand - elif n.op == 'p--': - return '%s--' % operand - elif n.op == 'sizeof': - # Always parenthesize the argument of sizeof since it can be - # a name. - return 'sizeof(%s)' % self.visit(n.expr) - else: - return '%s%s' % (n.op, operand) - - def visit_BinaryOp(self, n): - lval_str = self._parenthesize_if(n.left, - lambda d: not self._is_simple_node(d)) - rval_str = self._parenthesize_if(n.right, - lambda d: not self._is_simple_node(d)) - return '%s %s %s' % (lval_str, n.op, rval_str) - - def visit_Assignment(self, n): - rval_str = self._parenthesize_if( - n.rvalue, - lambda n: isinstance(n, c_ast.Assignment)) - return '%s %s %s' % (self.visit(n.lvalue), n.op, rval_str) - - def visit_IdentifierType(self, n): - return ' '.join(n.names) - - def _visit_expr(self, n): - if isinstance(n, c_ast.InitList): - return '{' + self.visit(n) + '}' - elif isinstance(n, c_ast.ExprList): - return '(' + self.visit(n) + ')' - else: - return self.visit(n) - - def visit_Decl(self, n, no_type=False): - # no_type is used when a Decl is part of a DeclList, where the type is - # explicitly only for the first declaration in a list. - # - s = n.name if no_type else self._generate_decl(n) - if n.bitsize: s += ' : ' + self.visit(n.bitsize) - if n.init: - s += ' = ' + self._visit_expr(n.init) - return s - - def visit_DeclList(self, n): - s = self.visit(n.decls[0]) - if len(n.decls) > 1: - s += ', ' + ', '.join(self.visit_Decl(decl, no_type=True) - for decl in n.decls[1:]) - return s - - def visit_Typedef(self, n): - s = '' - if n.storage: s += ' '.join(n.storage) + ' ' - s += self._generate_type(n.type) - return s - - def visit_Cast(self, n): - s = '(' + self._generate_type(n.to_type, emit_declname=False) + ')' - return s + ' ' + self._parenthesize_unless_simple(n.expr) - - def visit_ExprList(self, n): - visited_subexprs = [] - for expr in n.exprs: - visited_subexprs.append(self._visit_expr(expr)) - return ', '.join(visited_subexprs) - - def visit_InitList(self, n): - visited_subexprs = [] - for expr in n.exprs: - visited_subexprs.append(self._visit_expr(expr)) - return ', '.join(visited_subexprs) - - def visit_Enum(self, n): - return self._generate_struct_union_enum(n, name='enum') - - def visit_Enumerator(self, n): - if not n.value: - return '{indent}{name},\n'.format( - indent=self._make_indent(), - name=n.name, - ) - else: - return '{indent}{name} = {value},\n'.format( - indent=self._make_indent(), - name=n.name, - value=self.visit(n.value), - ) - - def visit_FuncDef(self, n): - decl = self.visit(n.decl) - self.indent_level = 0 - body = self.visit(n.body) - if n.param_decls: - knrdecls = ';\n'.join(self.visit(p) for p in n.param_decls) - return decl + '\n' + knrdecls + ';\n' + body + '\n' - else: - return decl + '\n' + body + '\n' - - def visit_FileAST(self, n): - s = '' - for ext in n.ext: - if isinstance(ext, c_ast.FuncDef): - s += self.visit(ext) - elif isinstance(ext, c_ast.Pragma): - s += self.visit(ext) + '\n' - else: - s += self.visit(ext) + ';\n' - return s - - def visit_Compound(self, n): - s = self._make_indent() + '{\n' - self.indent_level += 2 - if n.block_items: - s += ''.join(self._generate_stmt(stmt) for stmt in n.block_items) - self.indent_level -= 2 - s += self._make_indent() + '}\n' - return s - - def visit_CompoundLiteral(self, n): - return '(' + self.visit(n.type) + '){' + self.visit(n.init) + '}' - - - def visit_EmptyStatement(self, n): - return ';' - - def visit_ParamList(self, n): - return ', '.join(self.visit(param) for param in n.params) - - def visit_Return(self, n): - s = 'return' - if n.expr: s += ' ' + self.visit(n.expr) - return s + ';' - - def visit_Break(self, n): - return 'break;' - - def visit_Continue(self, n): - return 'continue;' - - def visit_TernaryOp(self, n): - s = '(' + self._visit_expr(n.cond) + ') ? ' - s += '(' + self._visit_expr(n.iftrue) + ') : ' - s += '(' + self._visit_expr(n.iffalse) + ')' - return s - - def visit_If(self, n): - s = 'if (' - if n.cond: s += self.visit(n.cond) - s += ')\n' - s += self._generate_stmt(n.iftrue, add_indent=True) - if n.iffalse: - s += self._make_indent() + 'else\n' - s += self._generate_stmt(n.iffalse, add_indent=True) - return s - - def visit_For(self, n): - s = 'for (' - if n.init: s += self.visit(n.init) - s += ';' - if n.cond: s += ' ' + self.visit(n.cond) - s += ';' - if n.next: s += ' ' + self.visit(n.next) - s += ')\n' - s += self._generate_stmt(n.stmt, add_indent=True) - return s - - def visit_While(self, n): - s = 'while (' - if n.cond: s += self.visit(n.cond) - s += ')\n' - s += self._generate_stmt(n.stmt, add_indent=True) - return s - - def visit_DoWhile(self, n): - s = 'do\n' - s += self._generate_stmt(n.stmt, add_indent=True) - s += self._make_indent() + 'while (' - if n.cond: s += self.visit(n.cond) - s += ');' - return s - - def visit_Switch(self, n): - s = 'switch (' + self.visit(n.cond) + ')\n' - s += self._generate_stmt(n.stmt, add_indent=True) - return s - - def visit_Case(self, n): - s = 'case ' + self.visit(n.expr) + ':\n' - for stmt in n.stmts: - s += self._generate_stmt(stmt, add_indent=True) - return s - - def visit_Default(self, n): - s = 'default:\n' - for stmt in n.stmts: - s += self._generate_stmt(stmt, add_indent=True) - return s - - def visit_Label(self, n): - return n.name + ':\n' + self._generate_stmt(n.stmt) - - def visit_Goto(self, n): - return 'goto ' + n.name + ';' - - def visit_EllipsisParam(self, n): - return '...' - - def visit_Struct(self, n): - return self._generate_struct_union_enum(n, 'struct') - - def visit_Typename(self, n): - return self._generate_type(n.type) - - def visit_Union(self, n): - return self._generate_struct_union_enum(n, 'union') - - def visit_NamedInitializer(self, n): - s = '' - for name in n.name: - if isinstance(name, c_ast.ID): - s += '.' + name.name - else: - s += '[' + self.visit(name) + ']' - s += ' = ' + self._visit_expr(n.expr) - return s - - def visit_FuncDecl(self, n): - return self._generate_type(n) - - def visit_ArrayDecl(self, n): - return self._generate_type(n, emit_declname=False) - - def visit_TypeDecl(self, n): - return self._generate_type(n, emit_declname=False) - - def visit_PtrDecl(self, n): - return self._generate_type(n, emit_declname=False) - - def _generate_struct_union_enum(self, n, name): - """ Generates code for structs, unions, and enums. name should be - 'struct', 'union', or 'enum'. - """ - if name in ('struct', 'union'): - members = n.decls - body_function = self._generate_struct_union_body - else: - assert name == 'enum' - members = None if n.values is None else n.values.enumerators - body_function = self._generate_enum_body - s = name + ' ' + (n.name or '') - if members is not None: - # None means no members - # Empty sequence means an empty list of members - s += '\n' - s += self._make_indent() - self.indent_level += 2 - s += '{\n' - s += body_function(members) - self.indent_level -= 2 - s += self._make_indent() + '}' - return s - - def _generate_struct_union_body(self, members): - return ''.join(self._generate_stmt(decl) for decl in members) - - def _generate_enum_body(self, members): - # `[:-2] + '\n'` removes the final `,` from the enumerator list - return ''.join(self.visit(value) for value in members)[:-2] + '\n' - - def _generate_stmt(self, n, add_indent=False): - """ Generation from a statement node. This method exists as a wrapper - for individual visit_* methods to handle different treatment of - some statements in this context. - """ - typ = type(n) - if add_indent: self.indent_level += 2 - indent = self._make_indent() - if add_indent: self.indent_level -= 2 - - if typ in ( - c_ast.Decl, c_ast.Assignment, c_ast.Cast, c_ast.UnaryOp, - c_ast.BinaryOp, c_ast.TernaryOp, c_ast.FuncCall, c_ast.ArrayRef, - c_ast.StructRef, c_ast.Constant, c_ast.ID, c_ast.Typedef, - c_ast.ExprList): - # These can also appear in an expression context so no semicolon - # is added to them automatically - # - return indent + self.visit(n) + ';\n' - elif typ in (c_ast.Compound,): - # No extra indentation required before the opening brace of a - # compound - because it consists of multiple lines it has to - # compute its own indentation. - # - return self.visit(n) - else: - return indent + self.visit(n) + '\n' - - def _generate_decl(self, n): - """ Generation from a Decl node. - """ - s = '' - if n.funcspec: s = ' '.join(n.funcspec) + ' ' - if n.storage: s += ' '.join(n.storage) + ' ' - s += self._generate_type(n.type) - return s - - def _generate_type(self, n, modifiers=[], emit_declname = True): - """ Recursive generation from a type node. n is the type node. - modifiers collects the PtrDecl, ArrayDecl and FuncDecl modifiers - encountered on the way down to a TypeDecl, to allow proper - generation from it. - """ - typ = type(n) - #~ print(n, modifiers) - - if typ == c_ast.TypeDecl: - s = '' - if n.quals: s += ' '.join(n.quals) + ' ' - s += self.visit(n.type) - - nstr = n.declname if n.declname and emit_declname else '' - # Resolve modifiers. - # Wrap in parens to distinguish pointer to array and pointer to - # function syntax. - # - for i, modifier in enumerate(modifiers): - if isinstance(modifier, c_ast.ArrayDecl): - if (i != 0 and - isinstance(modifiers[i - 1], c_ast.PtrDecl)): - nstr = '(' + nstr + ')' - nstr += '[' - if modifier.dim_quals: - nstr += ' '.join(modifier.dim_quals) + ' ' - nstr += self.visit(modifier.dim) + ']' - elif isinstance(modifier, c_ast.FuncDecl): - if (i != 0 and - isinstance(modifiers[i - 1], c_ast.PtrDecl)): - nstr = '(' + nstr + ')' - nstr += '(' + self.visit(modifier.args) + ')' - elif isinstance(modifier, c_ast.PtrDecl): - if modifier.quals: - nstr = '* %s%s' % (' '.join(modifier.quals), - ' ' + nstr if nstr else '') - else: - nstr = '*' + nstr - if nstr: s += ' ' + nstr - return s - elif typ == c_ast.Decl: - return self._generate_decl(n.type) - elif typ == c_ast.Typename: - return self._generate_type(n.type, emit_declname = emit_declname) - elif typ == c_ast.IdentifierType: - return ' '.join(n.names) + ' ' - elif typ in (c_ast.ArrayDecl, c_ast.PtrDecl, c_ast.FuncDecl): - return self._generate_type(n.type, modifiers + [n], - emit_declname = emit_declname) - else: - return self.visit(n) - - def _parenthesize_if(self, n, condition): - """ Visits 'n' and returns its string representation, parenthesized - if the condition function applied to the node returns True. - """ - s = self._visit_expr(n) - if condition(n): - return '(' + s + ')' - else: - return s - - def _parenthesize_unless_simple(self, n): - """ Common use case for _parenthesize_if - """ - return self._parenthesize_if(n, lambda d: not self._is_simple_node(d)) - - def _is_simple_node(self, n): - """ Returns True for nodes that are "simple" - i.e. nodes that always - have higher precedence than operators. - """ - return isinstance(n, (c_ast.Constant, c_ast.ID, c_ast.ArrayRef, - c_ast.StructRef, c_ast.FuncCall)) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_lexer.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_lexer.py deleted file mode 100644 index 045d24eb..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_lexer.py +++ /dev/null @@ -1,514 +0,0 @@ -#------------------------------------------------------------------------------ -# pycparser: c_lexer.py -# -# CLexer class: lexer for the C language -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#------------------------------------------------------------------------------ -import re -import sys - -from .ply import lex -from .ply.lex import TOKEN - - -class CLexer(object): - """ A lexer for the C language. After building it, set the - input text with input(), and call token() to get new - tokens. - - The public attribute filename can be set to an initial - filename, but the lexer will update it upon #line - directives. - """ - def __init__(self, error_func, on_lbrace_func, on_rbrace_func, - type_lookup_func): - """ Create a new Lexer. - - error_func: - An error function. Will be called with an error - message, line and column as arguments, in case of - an error during lexing. - - on_lbrace_func, on_rbrace_func: - Called when an LBRACE or RBRACE is encountered - (likely to push/pop type_lookup_func's scope) - - type_lookup_func: - A type lookup function. Given a string, it must - return True IFF this string is a name of a type - that was defined with a typedef earlier. - """ - self.error_func = error_func - self.on_lbrace_func = on_lbrace_func - self.on_rbrace_func = on_rbrace_func - self.type_lookup_func = type_lookup_func - self.filename = '' - - # Keeps track of the last token returned from self.token() - self.last_token = None - - # Allow either "# line" or "# " to support GCC's - # cpp output - # - self.line_pattern = re.compile(r'([ \t]*line\W)|([ \t]*\d+)') - self.pragma_pattern = re.compile(r'[ \t]*pragma\W') - - def build(self, **kwargs): - """ Builds the lexer from the specification. Must be - called after the lexer object is created. - - This method exists separately, because the PLY - manual warns against calling lex.lex inside - __init__ - """ - self.lexer = lex.lex(object=self, **kwargs) - - def reset_lineno(self): - """ Resets the internal line number counter of the lexer. - """ - self.lexer.lineno = 1 - - def input(self, text): - self.lexer.input(text) - - def token(self): - self.last_token = self.lexer.token() - return self.last_token - - def find_tok_column(self, token): - """ Find the column of the token in its line. - """ - last_cr = self.lexer.lexdata.rfind('\n', 0, token.lexpos) - return token.lexpos - last_cr - - ######################-- PRIVATE --###################### - - ## - ## Internal auxiliary methods - ## - def _error(self, msg, token): - location = self._make_tok_location(token) - self.error_func(msg, location[0], location[1]) - self.lexer.skip(1) - - def _make_tok_location(self, token): - return (token.lineno, self.find_tok_column(token)) - - ## - ## Reserved keywords - ## - keywords = ( - '_BOOL', '_COMPLEX', 'AUTO', 'BREAK', 'CASE', 'CHAR', 'CONST', - 'CONTINUE', 'DEFAULT', 'DO', 'DOUBLE', 'ELSE', 'ENUM', 'EXTERN', - 'FLOAT', 'FOR', 'GOTO', 'IF', 'INLINE', 'INT', 'LONG', - 'REGISTER', 'OFFSETOF', - 'RESTRICT', 'RETURN', 'SHORT', 'SIGNED', 'SIZEOF', 'STATIC', 'STRUCT', - 'SWITCH', 'TYPEDEF', 'UNION', 'UNSIGNED', 'VOID', - 'VOLATILE', 'WHILE', '__INT128', - ) - - keyword_map = {} - for keyword in keywords: - if keyword == '_BOOL': - keyword_map['_Bool'] = keyword - elif keyword == '_COMPLEX': - keyword_map['_Complex'] = keyword - else: - keyword_map[keyword.lower()] = keyword - - ## - ## All the tokens recognized by the lexer - ## - tokens = keywords + ( - # Identifiers - 'ID', - - # Type identifiers (identifiers previously defined as - # types with typedef) - 'TYPEID', - - # constants - 'INT_CONST_DEC', 'INT_CONST_OCT', 'INT_CONST_HEX', 'INT_CONST_BIN', 'INT_CONST_CHAR', - 'FLOAT_CONST', 'HEX_FLOAT_CONST', - 'CHAR_CONST', - 'WCHAR_CONST', - - # String literals - 'STRING_LITERAL', - 'WSTRING_LITERAL', - - # Operators - 'PLUS', 'MINUS', 'TIMES', 'DIVIDE', 'MOD', - 'OR', 'AND', 'NOT', 'XOR', 'LSHIFT', 'RSHIFT', - 'LOR', 'LAND', 'LNOT', - 'LT', 'LE', 'GT', 'GE', 'EQ', 'NE', - - # Assignment - 'EQUALS', 'TIMESEQUAL', 'DIVEQUAL', 'MODEQUAL', - 'PLUSEQUAL', 'MINUSEQUAL', - 'LSHIFTEQUAL','RSHIFTEQUAL', 'ANDEQUAL', 'XOREQUAL', - 'OREQUAL', - - # Increment/decrement - 'PLUSPLUS', 'MINUSMINUS', - - # Structure dereference (->) - 'ARROW', - - # Conditional operator (?) - 'CONDOP', - - # Delimeters - 'LPAREN', 'RPAREN', # ( ) - 'LBRACKET', 'RBRACKET', # [ ] - 'LBRACE', 'RBRACE', # { } - 'COMMA', 'PERIOD', # . , - 'SEMI', 'COLON', # ; : - - # Ellipsis (...) - 'ELLIPSIS', - - # pre-processor - 'PPHASH', # '#' - 'PPPRAGMA', # 'pragma' - 'PPPRAGMASTR', - ) - - ## - ## Regexes for use in tokens - ## - ## - - # valid C identifiers (K&R2: A.2.3), plus '$' (supported by some compilers) - identifier = r'[a-zA-Z_$][0-9a-zA-Z_$]*' - - hex_prefix = '0[xX]' - hex_digits = '[0-9a-fA-F]+' - bin_prefix = '0[bB]' - bin_digits = '[01]+' - - # integer constants (K&R2: A.2.5.1) - integer_suffix_opt = r'(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?' - decimal_constant = '(0'+integer_suffix_opt+')|([1-9][0-9]*'+integer_suffix_opt+')' - octal_constant = '0[0-7]*'+integer_suffix_opt - hex_constant = hex_prefix+hex_digits+integer_suffix_opt - bin_constant = bin_prefix+bin_digits+integer_suffix_opt - - bad_octal_constant = '0[0-7]*[89]' - - # character constants (K&R2: A.2.5.2) - # Note: a-zA-Z and '.-~^_!=&;,' are allowed as escape chars to support #line - # directives with Windows paths as filenames (..\..\dir\file) - # For the same reason, decimal_escape allows all digit sequences. We want to - # parse all correct code, even if it means to sometimes parse incorrect - # code. - # - # The original regexes were taken verbatim from the C syntax definition, - # and were later modified to avoid worst-case exponential running time. - # - # simple_escape = r"""([a-zA-Z._~!=&\^\-\\?'"])""" - # decimal_escape = r"""(\d+)""" - # hex_escape = r"""(x[0-9a-fA-F]+)""" - # bad_escape = r"""([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-7])""" - # - # The following modifications were made to avoid the ambiguity that allowed backtracking: - # (https://github.com/eliben/pycparser/issues/61) - # - # - \x was removed from simple_escape, unless it was not followed by a hex digit, to avoid ambiguity with hex_escape. - # - hex_escape allows one or more hex characters, but requires that the next character(if any) is not hex - # - decimal_escape allows one or more decimal characters, but requires that the next character(if any) is not a decimal - # - bad_escape does not allow any decimals (8-9), to avoid conflicting with the permissive decimal_escape. - # - # Without this change, python's `re` module would recursively try parsing each ambiguous escape sequence in multiple ways. - # e.g. `\123` could be parsed as `\1`+`23`, `\12`+`3`, and `\123`. - - simple_escape = r"""([a-wyzA-Z._~!=&\^\-\\?'"]|x(?![0-9a-fA-F]))""" - decimal_escape = r"""(\d+)(?!\d)""" - hex_escape = r"""(x[0-9a-fA-F]+)(?![0-9a-fA-F])""" - bad_escape = r"""([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-9])""" - - escape_sequence = r"""(\\("""+simple_escape+'|'+decimal_escape+'|'+hex_escape+'))' - - # This complicated regex with lookahead might be slow for strings, so because all of the valid escapes (including \x) allowed - # 0 or more non-escaped characters after the first character, simple_escape+decimal_escape+hex_escape got simplified to - - escape_sequence_start_in_string = r"""(\\[0-9a-zA-Z._~!=&\^\-\\?'"])""" - - cconst_char = r"""([^'\\\n]|"""+escape_sequence+')' - char_const = "'"+cconst_char+"'" - wchar_const = 'L'+char_const - multicharacter_constant = "'"+cconst_char+"{2,4}'" - unmatched_quote = "('"+cconst_char+"*\\n)|('"+cconst_char+"*$)" - bad_char_const = r"""('"""+cconst_char+"""[^'\n]+')|('')|('"""+bad_escape+r"""[^'\n]*')""" - - # string literals (K&R2: A.2.6) - string_char = r"""([^"\\\n]|"""+escape_sequence_start_in_string+')' - string_literal = '"'+string_char+'*"' - wstring_literal = 'L'+string_literal - bad_string_literal = '"'+string_char+'*'+bad_escape+string_char+'*"' - - # floating constants (K&R2: A.2.5.3) - exponent_part = r"""([eE][-+]?[0-9]+)""" - fractional_constant = r"""([0-9]*\.[0-9]+)|([0-9]+\.)""" - floating_constant = '(((('+fractional_constant+')'+exponent_part+'?)|([0-9]+'+exponent_part+'))[FfLl]?)' - binary_exponent_part = r'''([pP][+-]?[0-9]+)''' - hex_fractional_constant = '((('+hex_digits+r""")?\."""+hex_digits+')|('+hex_digits+r"""\.))""" - hex_floating_constant = '('+hex_prefix+'('+hex_digits+'|'+hex_fractional_constant+')'+binary_exponent_part+'[FfLl]?)' - - ## - ## Lexer states: used for preprocessor \n-terminated directives - ## - states = ( - # ppline: preprocessor line directives - # - ('ppline', 'exclusive'), - - # pppragma: pragma - # - ('pppragma', 'exclusive'), - ) - - def t_PPHASH(self, t): - r'[ \t]*\#' - if self.line_pattern.match(t.lexer.lexdata, pos=t.lexer.lexpos): - t.lexer.begin('ppline') - self.pp_line = self.pp_filename = None - elif self.pragma_pattern.match(t.lexer.lexdata, pos=t.lexer.lexpos): - t.lexer.begin('pppragma') - else: - t.type = 'PPHASH' - return t - - ## - ## Rules for the ppline state - ## - @TOKEN(string_literal) - def t_ppline_FILENAME(self, t): - if self.pp_line is None: - self._error('filename before line number in #line', t) - else: - self.pp_filename = t.value.lstrip('"').rstrip('"') - - @TOKEN(decimal_constant) - def t_ppline_LINE_NUMBER(self, t): - if self.pp_line is None: - self.pp_line = t.value - else: - # Ignore: GCC's cpp sometimes inserts a numeric flag - # after the file name - pass - - def t_ppline_NEWLINE(self, t): - r'\n' - if self.pp_line is None: - self._error('line number missing in #line', t) - else: - self.lexer.lineno = int(self.pp_line) - - if self.pp_filename is not None: - self.filename = self.pp_filename - - t.lexer.begin('INITIAL') - - def t_ppline_PPLINE(self, t): - r'line' - pass - - t_ppline_ignore = ' \t' - - def t_ppline_error(self, t): - self._error('invalid #line directive', t) - - ## - ## Rules for the pppragma state - ## - def t_pppragma_NEWLINE(self, t): - r'\n' - t.lexer.lineno += 1 - t.lexer.begin('INITIAL') - - def t_pppragma_PPPRAGMA(self, t): - r'pragma' - return t - - t_pppragma_ignore = ' \t' - - def t_pppragma_STR(self, t): - '.+' - t.type = 'PPPRAGMASTR' - return t - - def t_pppragma_error(self, t): - self._error('invalid #pragma directive', t) - - ## - ## Rules for the normal state - ## - t_ignore = ' \t' - - # Newlines - def t_NEWLINE(self, t): - r'\n+' - t.lexer.lineno += t.value.count("\n") - - # Operators - t_PLUS = r'\+' - t_MINUS = r'-' - t_TIMES = r'\*' - t_DIVIDE = r'/' - t_MOD = r'%' - t_OR = r'\|' - t_AND = r'&' - t_NOT = r'~' - t_XOR = r'\^' - t_LSHIFT = r'<<' - t_RSHIFT = r'>>' - t_LOR = r'\|\|' - t_LAND = r'&&' - t_LNOT = r'!' - t_LT = r'<' - t_GT = r'>' - t_LE = r'<=' - t_GE = r'>=' - t_EQ = r'==' - t_NE = r'!=' - - # Assignment operators - t_EQUALS = r'=' - t_TIMESEQUAL = r'\*=' - t_DIVEQUAL = r'/=' - t_MODEQUAL = r'%=' - t_PLUSEQUAL = r'\+=' - t_MINUSEQUAL = r'-=' - t_LSHIFTEQUAL = r'<<=' - t_RSHIFTEQUAL = r'>>=' - t_ANDEQUAL = r'&=' - t_OREQUAL = r'\|=' - t_XOREQUAL = r'\^=' - - # Increment/decrement - t_PLUSPLUS = r'\+\+' - t_MINUSMINUS = r'--' - - # -> - t_ARROW = r'->' - - # ? - t_CONDOP = r'\?' - - # Delimeters - t_LPAREN = r'\(' - t_RPAREN = r'\)' - t_LBRACKET = r'\[' - t_RBRACKET = r'\]' - t_COMMA = r',' - t_PERIOD = r'\.' - t_SEMI = r';' - t_COLON = r':' - t_ELLIPSIS = r'\.\.\.' - - # Scope delimiters - # To see why on_lbrace_func is needed, consider: - # typedef char TT; - # void foo(int TT) { TT = 10; } - # TT x = 5; - # Outside the function, TT is a typedef, but inside (starting and ending - # with the braces) it's a parameter. The trouble begins with yacc's - # lookahead token. If we open a new scope in brace_open, then TT has - # already been read and incorrectly interpreted as TYPEID. So, we need - # to open and close scopes from within the lexer. - # Similar for the TT immediately outside the end of the function. - # - @TOKEN(r'\{') - def t_LBRACE(self, t): - self.on_lbrace_func() - return t - @TOKEN(r'\}') - def t_RBRACE(self, t): - self.on_rbrace_func() - return t - - t_STRING_LITERAL = string_literal - - # The following floating and integer constants are defined as - # functions to impose a strict order (otherwise, decimal - # is placed before the others because its regex is longer, - # and this is bad) - # - @TOKEN(floating_constant) - def t_FLOAT_CONST(self, t): - return t - - @TOKEN(hex_floating_constant) - def t_HEX_FLOAT_CONST(self, t): - return t - - @TOKEN(hex_constant) - def t_INT_CONST_HEX(self, t): - return t - - @TOKEN(bin_constant) - def t_INT_CONST_BIN(self, t): - return t - - @TOKEN(bad_octal_constant) - def t_BAD_CONST_OCT(self, t): - msg = "Invalid octal constant" - self._error(msg, t) - - @TOKEN(octal_constant) - def t_INT_CONST_OCT(self, t): - return t - - @TOKEN(decimal_constant) - def t_INT_CONST_DEC(self, t): - return t - - # Must come before bad_char_const, to prevent it from - # catching valid char constants as invalid - # - @TOKEN(multicharacter_constant) - def t_INT_CONST_CHAR(self, t): - return t - - @TOKEN(char_const) - def t_CHAR_CONST(self, t): - return t - - @TOKEN(wchar_const) - def t_WCHAR_CONST(self, t): - return t - - @TOKEN(unmatched_quote) - def t_UNMATCHED_QUOTE(self, t): - msg = "Unmatched '" - self._error(msg, t) - - @TOKEN(bad_char_const) - def t_BAD_CHAR_CONST(self, t): - msg = "Invalid char constant %s" % t.value - self._error(msg, t) - - @TOKEN(wstring_literal) - def t_WSTRING_LITERAL(self, t): - return t - - # unmatched string literals are caught by the preprocessor - - @TOKEN(bad_string_literal) - def t_BAD_STRING_LITERAL(self, t): - msg = "String contains invalid escape code" - self._error(msg, t) - - @TOKEN(identifier) - def t_ID(self, t): - t.type = self.keyword_map.get(t.value, "ID") - if t.type == 'ID' and self.type_lookup_func(t.value): - t.type = "TYPEID" - return t - - def t_error(self, t): - msg = 'Illegal character %s' % repr(t.value[0]) - self._error(msg, t) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_parser.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_parser.py deleted file mode 100644 index 744ede8a..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/c_parser.py +++ /dev/null @@ -1,1863 +0,0 @@ -#------------------------------------------------------------------------------ -# pycparser: c_parser.py -# -# CParser class: Parser and AST builder for the C language -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#------------------------------------------------------------------------------ -import re - -from .ply import yacc - -from . import c_ast -from .c_lexer import CLexer -from .plyparser import PLYParser, Coord, ParseError, parameterized, template -from .ast_transforms import fix_switch_cases - - -@template -class CParser(PLYParser): - def __init__( - self, - lex_optimize=True, - lexer=CLexer, - lextab='pycparser.lextab', - yacc_optimize=True, - yacctab='pycparser.yacctab', - yacc_debug=False, - taboutputdir=''): - """ Create a new CParser. - - Some arguments for controlling the debug/optimization - level of the parser are provided. The defaults are - tuned for release/performance mode. - The simple rules for using them are: - *) When tweaking CParser/CLexer, set these to False - *) When releasing a stable parser, set to True - - lex_optimize: - Set to False when you're modifying the lexer. - Otherwise, changes in the lexer won't be used, if - some lextab.py file exists. - When releasing with a stable lexer, set to True - to save the re-generation of the lexer table on - each run. - - lexer: - Set this parameter to define the lexer to use if - you're not using the default CLexer. - - lextab: - Points to the lex table that's used for optimized - mode. Only if you're modifying the lexer and want - some tests to avoid re-generating the table, make - this point to a local lex table file (that's been - earlier generated with lex_optimize=True) - - yacc_optimize: - Set to False when you're modifying the parser. - Otherwise, changes in the parser won't be used, if - some parsetab.py file exists. - When releasing with a stable parser, set to True - to save the re-generation of the parser table on - each run. - - yacctab: - Points to the yacc table that's used for optimized - mode. Only if you're modifying the parser, make - this point to a local yacc table file - - yacc_debug: - Generate a parser.out file that explains how yacc - built the parsing table from the grammar. - - taboutputdir: - Set this parameter to control the location of generated - lextab and yacctab files. - """ - self.clex = lexer( - error_func=self._lex_error_func, - on_lbrace_func=self._lex_on_lbrace_func, - on_rbrace_func=self._lex_on_rbrace_func, - type_lookup_func=self._lex_type_lookup_func) - - self.clex.build( - optimize=lex_optimize, - lextab=lextab, - outputdir=taboutputdir) - self.tokens = self.clex.tokens - - rules_with_opt = [ - 'abstract_declarator', - 'assignment_expression', - 'declaration_list', - 'declaration_specifiers_no_type', - 'designation', - 'expression', - 'identifier_list', - 'init_declarator_list', - 'id_init_declarator_list', - 'initializer_list', - 'parameter_type_list', - 'block_item_list', - 'type_qualifier_list', - 'struct_declarator_list' - ] - - for rule in rules_with_opt: - self._create_opt_rule(rule) - - self.cparser = yacc.yacc( - module=self, - start='translation_unit_or_empty', - debug=yacc_debug, - optimize=yacc_optimize, - tabmodule=yacctab, - outputdir=taboutputdir) - - # Stack of scopes for keeping track of symbols. _scope_stack[-1] is - # the current (topmost) scope. Each scope is a dictionary that - # specifies whether a name is a type. If _scope_stack[n][name] is - # True, 'name' is currently a type in the scope. If it's False, - # 'name' is used in the scope but not as a type (for instance, if we - # saw: int name; - # If 'name' is not a key in _scope_stack[n] then 'name' was not defined - # in this scope at all. - self._scope_stack = [dict()] - - # Keeps track of the last token given to yacc (the lookahead token) - self._last_yielded_token = None - - def parse(self, text, filename='', debuglevel=0): - """ Parses C code and returns an AST. - - text: - A string containing the C source code - - filename: - Name of the file being parsed (for meaningful - error messages) - - debuglevel: - Debug level to yacc - """ - self.clex.filename = filename - self.clex.reset_lineno() - self._scope_stack = [dict()] - self._last_yielded_token = None - return self.cparser.parse( - input=text, - lexer=self.clex, - debug=debuglevel) - - ######################-- PRIVATE --###################### - - def _push_scope(self): - self._scope_stack.append(dict()) - - def _pop_scope(self): - assert len(self._scope_stack) > 1 - self._scope_stack.pop() - - def _add_typedef_name(self, name, coord): - """ Add a new typedef name (ie a TYPEID) to the current scope - """ - if not self._scope_stack[-1].get(name, True): - self._parse_error( - "Typedef %r previously declared as non-typedef " - "in this scope" % name, coord) - self._scope_stack[-1][name] = True - - def _add_identifier(self, name, coord): - """ Add a new object, function, or enum member name (ie an ID) to the - current scope - """ - if self._scope_stack[-1].get(name, False): - self._parse_error( - "Non-typedef %r previously declared as typedef " - "in this scope" % name, coord) - self._scope_stack[-1][name] = False - - def _is_type_in_scope(self, name): - """ Is *name* a typedef-name in the current scope? - """ - for scope in reversed(self._scope_stack): - # If name is an identifier in this scope it shadows typedefs in - # higher scopes. - in_scope = scope.get(name) - if in_scope is not None: return in_scope - return False - - def _lex_error_func(self, msg, line, column): - self._parse_error(msg, self._coord(line, column)) - - def _lex_on_lbrace_func(self): - self._push_scope() - - def _lex_on_rbrace_func(self): - self._pop_scope() - - def _lex_type_lookup_func(self, name): - """ Looks up types that were previously defined with - typedef. - Passed to the lexer for recognizing identifiers that - are types. - """ - is_type = self._is_type_in_scope(name) - return is_type - - def _get_yacc_lookahead_token(self): - """ We need access to yacc's lookahead token in certain cases. - This is the last token yacc requested from the lexer, so we - ask the lexer. - """ - return self.clex.last_token - - # To understand what's going on here, read sections A.8.5 and - # A.8.6 of K&R2 very carefully. - # - # A C type consists of a basic type declaration, with a list - # of modifiers. For example: - # - # int *c[5]; - # - # The basic declaration here is 'int c', and the pointer and - # the array are the modifiers. - # - # Basic declarations are represented by TypeDecl (from module c_ast) and the - # modifiers are FuncDecl, PtrDecl and ArrayDecl. - # - # The standard states that whenever a new modifier is parsed, it should be - # added to the end of the list of modifiers. For example: - # - # K&R2 A.8.6.2: Array Declarators - # - # In a declaration T D where D has the form - # D1 [constant-expression-opt] - # and the type of the identifier in the declaration T D1 is - # "type-modifier T", the type of the - # identifier of D is "type-modifier array of T" - # - # This is what this method does. The declarator it receives - # can be a list of declarators ending with TypeDecl. It - # tacks the modifier to the end of this list, just before - # the TypeDecl. - # - # Additionally, the modifier may be a list itself. This is - # useful for pointers, that can come as a chain from the rule - # p_pointer. In this case, the whole modifier list is spliced - # into the new location. - def _type_modify_decl(self, decl, modifier): - """ Tacks a type modifier on a declarator, and returns - the modified declarator. - - Note: the declarator and modifier may be modified - """ - #~ print '****' - #~ decl.show(offset=3) - #~ modifier.show(offset=3) - #~ print '****' - - modifier_head = modifier - modifier_tail = modifier - - # The modifier may be a nested list. Reach its tail. - # - while modifier_tail.type: - modifier_tail = modifier_tail.type - - # If the decl is a basic type, just tack the modifier onto - # it - # - if isinstance(decl, c_ast.TypeDecl): - modifier_tail.type = decl - return modifier - else: - # Otherwise, the decl is a list of modifiers. Reach - # its tail and splice the modifier onto the tail, - # pointing to the underlying basic type. - # - decl_tail = decl - - while not isinstance(decl_tail.type, c_ast.TypeDecl): - decl_tail = decl_tail.type - - modifier_tail.type = decl_tail.type - decl_tail.type = modifier_head - return decl - - # Due to the order in which declarators are constructed, - # they have to be fixed in order to look like a normal AST. - # - # When a declaration arrives from syntax construction, it has - # these problems: - # * The innermost TypeDecl has no type (because the basic - # type is only known at the uppermost declaration level) - # * The declaration has no variable name, since that is saved - # in the innermost TypeDecl - # * The typename of the declaration is a list of type - # specifiers, and not a node. Here, basic identifier types - # should be separated from more complex types like enums - # and structs. - # - # This method fixes these problems. - # - def _fix_decl_name_type(self, decl, typename): - """ Fixes a declaration. Modifies decl. - """ - # Reach the underlying basic type - # - type = decl - while not isinstance(type, c_ast.TypeDecl): - type = type.type - - decl.name = type.declname - type.quals = decl.quals - - # The typename is a list of types. If any type in this - # list isn't an IdentifierType, it must be the only - # type in the list (it's illegal to declare "int enum ..") - # If all the types are basic, they're collected in the - # IdentifierType holder. - # - for tn in typename: - if not isinstance(tn, c_ast.IdentifierType): - if len(typename) > 1: - self._parse_error( - "Invalid multiple types specified", tn.coord) - else: - type.type = tn - return decl - - if not typename: - # Functions default to returning int - # - if not isinstance(decl.type, c_ast.FuncDecl): - self._parse_error( - "Missing type in declaration", decl.coord) - type.type = c_ast.IdentifierType( - ['int'], - coord=decl.coord) - else: - # At this point, we know that typename is a list of IdentifierType - # nodes. Concatenate all the names into a single list. - # - type.type = c_ast.IdentifierType( - [name for id in typename for name in id.names], - coord=typename[0].coord) - return decl - - def _add_declaration_specifier(self, declspec, newspec, kind, append=False): - """ Declaration specifiers are represented by a dictionary - with the entries: - * qual: a list of type qualifiers - * storage: a list of storage type qualifiers - * type: a list of type specifiers - * function: a list of function specifiers - - This method is given a declaration specifier, and a - new specifier of a given kind. - If `append` is True, the new specifier is added to the end of - the specifiers list, otherwise it's added at the beginning. - Returns the declaration specifier, with the new - specifier incorporated. - """ - spec = declspec or dict(qual=[], storage=[], type=[], function=[]) - - if append: - spec[kind].append(newspec) - else: - spec[kind].insert(0, newspec) - - return spec - - def _build_declarations(self, spec, decls, typedef_namespace=False): - """ Builds a list of declarations all sharing the given specifiers. - If typedef_namespace is true, each declared name is added - to the "typedef namespace", which also includes objects, - functions, and enum constants. - """ - is_typedef = 'typedef' in spec['storage'] - declarations = [] - - # Bit-fields are allowed to be unnamed. - # - if decls[0].get('bitsize') is not None: - pass - - # When redeclaring typedef names as identifiers in inner scopes, a - # problem can occur where the identifier gets grouped into - # spec['type'], leaving decl as None. This can only occur for the - # first declarator. - # - elif decls[0]['decl'] is None: - if len(spec['type']) < 2 or len(spec['type'][-1].names) != 1 or \ - not self._is_type_in_scope(spec['type'][-1].names[0]): - coord = '?' - for t in spec['type']: - if hasattr(t, 'coord'): - coord = t.coord - break - self._parse_error('Invalid declaration', coord) - - # Make this look as if it came from "direct_declarator:ID" - decls[0]['decl'] = c_ast.TypeDecl( - declname=spec['type'][-1].names[0], - type=None, - quals=None, - coord=spec['type'][-1].coord) - # Remove the "new" type's name from the end of spec['type'] - del spec['type'][-1] - - # A similar problem can occur where the declaration ends up looking - # like an abstract declarator. Give it a name if this is the case. - # - elif not isinstance(decls[0]['decl'], - (c_ast.Struct, c_ast.Union, c_ast.IdentifierType)): - decls_0_tail = decls[0]['decl'] - while not isinstance(decls_0_tail, c_ast.TypeDecl): - decls_0_tail = decls_0_tail.type - if decls_0_tail.declname is None: - decls_0_tail.declname = spec['type'][-1].names[0] - del spec['type'][-1] - - for decl in decls: - assert decl['decl'] is not None - if is_typedef: - declaration = c_ast.Typedef( - name=None, - quals=spec['qual'], - storage=spec['storage'], - type=decl['decl'], - coord=decl['decl'].coord) - else: - declaration = c_ast.Decl( - name=None, - quals=spec['qual'], - storage=spec['storage'], - funcspec=spec['function'], - type=decl['decl'], - init=decl.get('init'), - bitsize=decl.get('bitsize'), - coord=decl['decl'].coord) - - if isinstance(declaration.type, - (c_ast.Struct, c_ast.Union, c_ast.IdentifierType)): - fixed_decl = declaration - else: - fixed_decl = self._fix_decl_name_type(declaration, spec['type']) - - # Add the type name defined by typedef to a - # symbol table (for usage in the lexer) - # - if typedef_namespace: - if is_typedef: - self._add_typedef_name(fixed_decl.name, fixed_decl.coord) - else: - self._add_identifier(fixed_decl.name, fixed_decl.coord) - - declarations.append(fixed_decl) - - return declarations - - def _build_function_definition(self, spec, decl, param_decls, body): - """ Builds a function definition. - """ - assert 'typedef' not in spec['storage'] - - declaration = self._build_declarations( - spec=spec, - decls=[dict(decl=decl, init=None)], - typedef_namespace=True)[0] - - return c_ast.FuncDef( - decl=declaration, - param_decls=param_decls, - body=body, - coord=decl.coord) - - def _select_struct_union_class(self, token): - """ Given a token (either STRUCT or UNION), selects the - appropriate AST class. - """ - if token == 'struct': - return c_ast.Struct - else: - return c_ast.Union - - ## - ## Precedence and associativity of operators - ## - precedence = ( - ('left', 'LOR'), - ('left', 'LAND'), - ('left', 'OR'), - ('left', 'XOR'), - ('left', 'AND'), - ('left', 'EQ', 'NE'), - ('left', 'GT', 'GE', 'LT', 'LE'), - ('left', 'RSHIFT', 'LSHIFT'), - ('left', 'PLUS', 'MINUS'), - ('left', 'TIMES', 'DIVIDE', 'MOD') - ) - - ## - ## Grammar productions - ## Implementation of the BNF defined in K&R2 A.13 - ## - - # Wrapper around a translation unit, to allow for empty input. - # Not strictly part of the C99 Grammar, but useful in practice. - # - def p_translation_unit_or_empty(self, p): - """ translation_unit_or_empty : translation_unit - | empty - """ - if p[1] is None: - p[0] = c_ast.FileAST([]) - else: - p[0] = c_ast.FileAST(p[1]) - - def p_translation_unit_1(self, p): - """ translation_unit : external_declaration - """ - # Note: external_declaration is already a list - # - p[0] = p[1] - - def p_translation_unit_2(self, p): - """ translation_unit : translation_unit external_declaration - """ - p[1].extend(p[2]) - p[0] = p[1] - - # Declarations always come as lists (because they can be - # several in one line), so we wrap the function definition - # into a list as well, to make the return value of - # external_declaration homogenous. - # - def p_external_declaration_1(self, p): - """ external_declaration : function_definition - """ - p[0] = [p[1]] - - def p_external_declaration_2(self, p): - """ external_declaration : declaration - """ - p[0] = p[1] - - def p_external_declaration_3(self, p): - """ external_declaration : pp_directive - | pppragma_directive - """ - p[0] = [p[1]] - - def p_external_declaration_4(self, p): - """ external_declaration : SEMI - """ - p[0] = [] - - def p_pp_directive(self, p): - """ pp_directive : PPHASH - """ - self._parse_error('Directives not supported yet', - self._token_coord(p, 1)) - - def p_pppragma_directive(self, p): - """ pppragma_directive : PPPRAGMA - | PPPRAGMA PPPRAGMASTR - """ - if len(p) == 3: - p[0] = c_ast.Pragma(p[2], self._token_coord(p, 2)) - else: - p[0] = c_ast.Pragma("", self._token_coord(p, 1)) - - # In function definitions, the declarator can be followed by - # a declaration list, for old "K&R style" function definitios. - # - def p_function_definition_1(self, p): - """ function_definition : id_declarator declaration_list_opt compound_statement - """ - # no declaration specifiers - 'int' becomes the default type - spec = dict( - qual=[], - storage=[], - type=[c_ast.IdentifierType(['int'], - coord=self._token_coord(p, 1))], - function=[]) - - p[0] = self._build_function_definition( - spec=spec, - decl=p[1], - param_decls=p[2], - body=p[3]) - - def p_function_definition_2(self, p): - """ function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement - """ - spec = p[1] - - p[0] = self._build_function_definition( - spec=spec, - decl=p[2], - param_decls=p[3], - body=p[4]) - - def p_statement(self, p): - """ statement : labeled_statement - | expression_statement - | compound_statement - | selection_statement - | iteration_statement - | jump_statement - | pppragma_directive - """ - p[0] = p[1] - - # A pragma is generally considered a decorator rather than an actual statement. - # Still, for the purposes of analyzing an abstract syntax tree of C code, - # pragma's should not be ignored and were previously treated as a statement. - # This presents a problem for constructs that take a statement such as labeled_statements, - # selection_statements, and iteration_statements, causing a misleading structure - # in the AST. For example, consider the following C code. - # - # for (int i = 0; i < 3; i++) - # #pragma omp critical - # sum += 1; - # - # This code will compile and execute "sum += 1;" as the body of the for loop. - # Previous implementations of PyCParser would render the AST for this - # block of code as follows: - # - # For: - # DeclList: - # Decl: i, [], [], [] - # TypeDecl: i, [] - # IdentifierType: ['int'] - # Constant: int, 0 - # BinaryOp: < - # ID: i - # Constant: int, 3 - # UnaryOp: p++ - # ID: i - # Pragma: omp critical - # Assignment: += - # ID: sum - # Constant: int, 1 - # - # This AST misleadingly takes the Pragma as the body of the loop and the - # assignment then becomes a sibling of the loop. - # - # To solve edge cases like these, the pragmacomp_or_statement rule groups - # a pragma and its following statement (which would otherwise be orphaned) - # using a compound block, effectively turning the above code into: - # - # for (int i = 0; i < 3; i++) { - # #pragma omp critical - # sum += 1; - # } - def p_pragmacomp_or_statement(self, p): - """ pragmacomp_or_statement : pppragma_directive statement - | statement - """ - if isinstance(p[1], c_ast.Pragma) and len(p) == 3: - p[0] = c_ast.Compound( - block_items=[p[1], p[2]], - coord=self._token_coord(p, 1)) - else: - p[0] = p[1] - - # In C, declarations can come several in a line: - # int x, *px, romulo = 5; - # - # However, for the AST, we will split them to separate Decl - # nodes. - # - # This rule splits its declarations and always returns a list - # of Decl nodes, even if it's one element long. - # - def p_decl_body(self, p): - """ decl_body : declaration_specifiers init_declarator_list_opt - | declaration_specifiers_no_type id_init_declarator_list_opt - """ - spec = p[1] - - # p[2] (init_declarator_list_opt) is either a list or None - # - if p[2] is None: - # By the standard, you must have at least one declarator unless - # declaring a structure tag, a union tag, or the members of an - # enumeration. - # - ty = spec['type'] - s_u_or_e = (c_ast.Struct, c_ast.Union, c_ast.Enum) - if len(ty) == 1 and isinstance(ty[0], s_u_or_e): - decls = [c_ast.Decl( - name=None, - quals=spec['qual'], - storage=spec['storage'], - funcspec=spec['function'], - type=ty[0], - init=None, - bitsize=None, - coord=ty[0].coord)] - - # However, this case can also occur on redeclared identifiers in - # an inner scope. The trouble is that the redeclared type's name - # gets grouped into declaration_specifiers; _build_declarations - # compensates for this. - # - else: - decls = self._build_declarations( - spec=spec, - decls=[dict(decl=None, init=None)], - typedef_namespace=True) - - else: - decls = self._build_declarations( - spec=spec, - decls=p[2], - typedef_namespace=True) - - p[0] = decls - - # The declaration has been split to a decl_body sub-rule and - # SEMI, because having them in a single rule created a problem - # for defining typedefs. - # - # If a typedef line was directly followed by a line using the - # type defined with the typedef, the type would not be - # recognized. This is because to reduce the declaration rule, - # the parser's lookahead asked for the token after SEMI, which - # was the type from the next line, and the lexer had no chance - # to see the updated type symbol table. - # - # Splitting solves this problem, because after seeing SEMI, - # the parser reduces decl_body, which actually adds the new - # type into the table to be seen by the lexer before the next - # line is reached. - def p_declaration(self, p): - """ declaration : decl_body SEMI - """ - p[0] = p[1] - - # Since each declaration is a list of declarations, this - # rule will combine all the declarations and return a single - # list - # - def p_declaration_list(self, p): - """ declaration_list : declaration - | declaration_list declaration - """ - p[0] = p[1] if len(p) == 2 else p[1] + p[2] - - # To know when declaration-specifiers end and declarators begin, - # we require declaration-specifiers to have at least one - # type-specifier, and disallow typedef-names after we've seen any - # type-specifier. These are both required by the spec. - # - def p_declaration_specifiers_no_type_1(self, p): - """ declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt - """ - p[0] = self._add_declaration_specifier(p[2], p[1], 'qual') - - def p_declaration_specifiers_no_type_2(self, p): - """ declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt - """ - p[0] = self._add_declaration_specifier(p[2], p[1], 'storage') - - def p_declaration_specifiers_no_type_3(self, p): - """ declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt - """ - p[0] = self._add_declaration_specifier(p[2], p[1], 'function') - - - def p_declaration_specifiers_1(self, p): - """ declaration_specifiers : declaration_specifiers type_qualifier - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True) - - def p_declaration_specifiers_2(self, p): - """ declaration_specifiers : declaration_specifiers storage_class_specifier - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'storage', append=True) - - def p_declaration_specifiers_3(self, p): - """ declaration_specifiers : declaration_specifiers function_specifier - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'function', append=True) - - def p_declaration_specifiers_4(self, p): - """ declaration_specifiers : declaration_specifiers type_specifier_no_typeid - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) - - def p_declaration_specifiers_5(self, p): - """ declaration_specifiers : type_specifier - """ - p[0] = self._add_declaration_specifier(None, p[1], 'type') - - def p_declaration_specifiers_6(self, p): - """ declaration_specifiers : declaration_specifiers_no_type type_specifier - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) - - - def p_storage_class_specifier(self, p): - """ storage_class_specifier : AUTO - | REGISTER - | STATIC - | EXTERN - | TYPEDEF - """ - p[0] = p[1] - - def p_function_specifier(self, p): - """ function_specifier : INLINE - """ - p[0] = p[1] - - def p_type_specifier_no_typeid(self, p): - """ type_specifier_no_typeid : VOID - | _BOOL - | CHAR - | SHORT - | INT - | LONG - | FLOAT - | DOUBLE - | _COMPLEX - | SIGNED - | UNSIGNED - | __INT128 - """ - p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1)) - - def p_type_specifier(self, p): - """ type_specifier : typedef_name - | enum_specifier - | struct_or_union_specifier - | type_specifier_no_typeid - """ - p[0] = p[1] - - def p_type_qualifier(self, p): - """ type_qualifier : CONST - | RESTRICT - | VOLATILE - """ - p[0] = p[1] - - def p_init_declarator_list(self, p): - """ init_declarator_list : init_declarator - | init_declarator_list COMMA init_declarator - """ - p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] - - # Returns a {decl= : init=} dictionary - # If there's no initializer, uses None - # - def p_init_declarator(self, p): - """ init_declarator : declarator - | declarator EQUALS initializer - """ - p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None)) - - def p_id_init_declarator_list(self, p): - """ id_init_declarator_list : id_init_declarator - | id_init_declarator_list COMMA init_declarator - """ - p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] - - def p_id_init_declarator(self, p): - """ id_init_declarator : id_declarator - | id_declarator EQUALS initializer - """ - p[0] = dict(decl=p[1], init=(p[3] if len(p) > 2 else None)) - - # Require at least one type specifier in a specifier-qualifier-list - # - def p_specifier_qualifier_list_1(self, p): - """ specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'type', append=True) - - def p_specifier_qualifier_list_2(self, p): - """ specifier_qualifier_list : specifier_qualifier_list type_qualifier - """ - p[0] = self._add_declaration_specifier(p[1], p[2], 'qual', append=True) - - def p_specifier_qualifier_list_3(self, p): - """ specifier_qualifier_list : type_specifier - """ - p[0] = self._add_declaration_specifier(None, p[1], 'type') - - def p_specifier_qualifier_list_4(self, p): - """ specifier_qualifier_list : type_qualifier_list type_specifier - """ - spec = dict(qual=p[1], storage=[], type=[], function=[]) - p[0] = self._add_declaration_specifier(spec, p[2], 'type', append=True) - - # TYPEID is allowed here (and in other struct/enum related tag names), because - # struct/enum tags reside in their own namespace and can be named the same as types - # - def p_struct_or_union_specifier_1(self, p): - """ struct_or_union_specifier : struct_or_union ID - | struct_or_union TYPEID - """ - klass = self._select_struct_union_class(p[1]) - # None means no list of members - p[0] = klass( - name=p[2], - decls=None, - coord=self._token_coord(p, 2)) - - def p_struct_or_union_specifier_2(self, p): - """ struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close - | struct_or_union brace_open brace_close - """ - klass = self._select_struct_union_class(p[1]) - if len(p) == 4: - # Empty sequence means an empty list of members - p[0] = klass( - name=None, - decls=[], - coord=self._token_coord(p, 2)) - else: - p[0] = klass( - name=None, - decls=p[3], - coord=self._token_coord(p, 2)) - - - def p_struct_or_union_specifier_3(self, p): - """ struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close - | struct_or_union ID brace_open brace_close - | struct_or_union TYPEID brace_open struct_declaration_list brace_close - | struct_or_union TYPEID brace_open brace_close - """ - klass = self._select_struct_union_class(p[1]) - if len(p) == 5: - # Empty sequence means an empty list of members - p[0] = klass( - name=p[2], - decls=[], - coord=self._token_coord(p, 2)) - else: - p[0] = klass( - name=p[2], - decls=p[4], - coord=self._token_coord(p, 2)) - - def p_struct_or_union(self, p): - """ struct_or_union : STRUCT - | UNION - """ - p[0] = p[1] - - # Combine all declarations into a single list - # - def p_struct_declaration_list(self, p): - """ struct_declaration_list : struct_declaration - | struct_declaration_list struct_declaration - """ - if len(p) == 2: - p[0] = p[1] or [] - else: - p[0] = p[1] + (p[2] or []) - - def p_struct_declaration_1(self, p): - """ struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI - """ - spec = p[1] - assert 'typedef' not in spec['storage'] - - if p[2] is not None: - decls = self._build_declarations( - spec=spec, - decls=p[2]) - - elif len(spec['type']) == 1: - # Anonymous struct/union, gcc extension, C1x feature. - # Although the standard only allows structs/unions here, I see no - # reason to disallow other types since some compilers have typedefs - # here, and pycparser isn't about rejecting all invalid code. - # - node = spec['type'][0] - if isinstance(node, c_ast.Node): - decl_type = node - else: - decl_type = c_ast.IdentifierType(node) - - decls = self._build_declarations( - spec=spec, - decls=[dict(decl=decl_type)]) - - else: - # Structure/union members can have the same names as typedefs. - # The trouble is that the member's name gets grouped into - # specifier_qualifier_list; _build_declarations compensates. - # - decls = self._build_declarations( - spec=spec, - decls=[dict(decl=None, init=None)]) - - p[0] = decls - - def p_struct_declaration_2(self, p): - """ struct_declaration : SEMI - """ - p[0] = None - - def p_struct_declaration_3(self, p): - """ struct_declaration : pppragma_directive - """ - p[0] = [p[1]] - - def p_struct_declarator_list(self, p): - """ struct_declarator_list : struct_declarator - | struct_declarator_list COMMA struct_declarator - """ - p[0] = p[1] + [p[3]] if len(p) == 4 else [p[1]] - - # struct_declarator passes up a dict with the keys: decl (for - # the underlying declarator) and bitsize (for the bitsize) - # - def p_struct_declarator_1(self, p): - """ struct_declarator : declarator - """ - p[0] = {'decl': p[1], 'bitsize': None} - - def p_struct_declarator_2(self, p): - """ struct_declarator : declarator COLON constant_expression - | COLON constant_expression - """ - if len(p) > 3: - p[0] = {'decl': p[1], 'bitsize': p[3]} - else: - p[0] = {'decl': c_ast.TypeDecl(None, None, None), 'bitsize': p[2]} - - def p_enum_specifier_1(self, p): - """ enum_specifier : ENUM ID - | ENUM TYPEID - """ - p[0] = c_ast.Enum(p[2], None, self._token_coord(p, 1)) - - def p_enum_specifier_2(self, p): - """ enum_specifier : ENUM brace_open enumerator_list brace_close - """ - p[0] = c_ast.Enum(None, p[3], self._token_coord(p, 1)) - - def p_enum_specifier_3(self, p): - """ enum_specifier : ENUM ID brace_open enumerator_list brace_close - | ENUM TYPEID brace_open enumerator_list brace_close - """ - p[0] = c_ast.Enum(p[2], p[4], self._token_coord(p, 1)) - - def p_enumerator_list(self, p): - """ enumerator_list : enumerator - | enumerator_list COMMA - | enumerator_list COMMA enumerator - """ - if len(p) == 2: - p[0] = c_ast.EnumeratorList([p[1]], p[1].coord) - elif len(p) == 3: - p[0] = p[1] - else: - p[1].enumerators.append(p[3]) - p[0] = p[1] - - def p_enumerator(self, p): - """ enumerator : ID - | ID EQUALS constant_expression - """ - if len(p) == 2: - enumerator = c_ast.Enumerator( - p[1], None, - self._token_coord(p, 1)) - else: - enumerator = c_ast.Enumerator( - p[1], p[3], - self._token_coord(p, 1)) - self._add_identifier(enumerator.name, enumerator.coord) - - p[0] = enumerator - - def p_declarator(self, p): - """ declarator : id_declarator - | typeid_declarator - """ - p[0] = p[1] - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_xxx_declarator_1(self, p): - """ xxx_declarator : direct_xxx_declarator - """ - p[0] = p[1] - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_xxx_declarator_2(self, p): - """ xxx_declarator : pointer direct_xxx_declarator - """ - p[0] = self._type_modify_decl(p[2], p[1]) - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_direct_xxx_declarator_1(self, p): - """ direct_xxx_declarator : yyy - """ - p[0] = c_ast.TypeDecl( - declname=p[1], - type=None, - quals=None, - coord=self._token_coord(p, 1)) - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID')) - def p_direct_xxx_declarator_2(self, p): - """ direct_xxx_declarator : LPAREN xxx_declarator RPAREN - """ - p[0] = p[2] - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_direct_xxx_declarator_3(self, p): - """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET - """ - quals = (p[3] if len(p) > 5 else []) or [] - # Accept dimension qualifiers - # Per C99 6.7.5.3 p7 - arr = c_ast.ArrayDecl( - type=None, - dim=p[4] if len(p) > 5 else p[3], - dim_quals=quals, - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=arr) - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_direct_xxx_declarator_4(self, p): - """ direct_xxx_declarator : direct_xxx_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET - | direct_xxx_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET - """ - # Using slice notation for PLY objects doesn't work in Python 3 for the - # version of PLY embedded with pycparser; see PLY Google Code issue 30. - # Work around that here by listing the two elements separately. - listed_quals = [item if isinstance(item, list) else [item] - for item in [p[3],p[4]]] - dim_quals = [qual for sublist in listed_quals for qual in sublist - if qual is not None] - arr = c_ast.ArrayDecl( - type=None, - dim=p[5], - dim_quals=dim_quals, - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=arr) - - # Special for VLAs - # - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_direct_xxx_declarator_5(self, p): - """ direct_xxx_declarator : direct_xxx_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET - """ - arr = c_ast.ArrayDecl( - type=None, - dim=c_ast.ID(p[4], self._token_coord(p, 4)), - dim_quals=p[3] if p[3] != None else [], - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=arr) - - @parameterized(('id', 'ID'), ('typeid', 'TYPEID'), ('typeid_noparen', 'TYPEID')) - def p_direct_xxx_declarator_6(self, p): - """ direct_xxx_declarator : direct_xxx_declarator LPAREN parameter_type_list RPAREN - | direct_xxx_declarator LPAREN identifier_list_opt RPAREN - """ - func = c_ast.FuncDecl( - args=p[3], - type=None, - coord=p[1].coord) - - # To see why _get_yacc_lookahead_token is needed, consider: - # typedef char TT; - # void foo(int TT) { TT = 10; } - # Outside the function, TT is a typedef, but inside (starting and - # ending with the braces) it's a parameter. The trouble begins with - # yacc's lookahead token. We don't know if we're declaring or - # defining a function until we see LBRACE, but if we wait for yacc to - # trigger a rule on that token, then TT will have already been read - # and incorrectly interpreted as TYPEID. We need to add the - # parameters to the scope the moment the lexer sees LBRACE. - # - if self._get_yacc_lookahead_token().type == "LBRACE": - if func.args is not None: - for param in func.args.params: - if isinstance(param, c_ast.EllipsisParam): break - self._add_identifier(param.name, param.coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=func) - - def p_pointer(self, p): - """ pointer : TIMES type_qualifier_list_opt - | TIMES type_qualifier_list_opt pointer - """ - coord = self._token_coord(p, 1) - # Pointer decls nest from inside out. This is important when different - # levels have different qualifiers. For example: - # - # char * const * p; - # - # Means "pointer to const pointer to char" - # - # While: - # - # char ** const p; - # - # Means "const pointer to pointer to char" - # - # So when we construct PtrDecl nestings, the leftmost pointer goes in - # as the most nested type. - nested_type = c_ast.PtrDecl(quals=p[2] or [], type=None, coord=coord) - if len(p) > 3: - tail_type = p[3] - while tail_type.type is not None: - tail_type = tail_type.type - tail_type.type = nested_type - p[0] = p[3] - else: - p[0] = nested_type - - def p_type_qualifier_list(self, p): - """ type_qualifier_list : type_qualifier - | type_qualifier_list type_qualifier - """ - p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]] - - def p_parameter_type_list(self, p): - """ parameter_type_list : parameter_list - | parameter_list COMMA ELLIPSIS - """ - if len(p) > 2: - p[1].params.append(c_ast.EllipsisParam(self._token_coord(p, 3))) - - p[0] = p[1] - - def p_parameter_list(self, p): - """ parameter_list : parameter_declaration - | parameter_list COMMA parameter_declaration - """ - if len(p) == 2: # single parameter - p[0] = c_ast.ParamList([p[1]], p[1].coord) - else: - p[1].params.append(p[3]) - p[0] = p[1] - - # From ISO/IEC 9899:TC2, 6.7.5.3.11: - # "If, in a parameter declaration, an identifier can be treated either - # as a typedef name or as a parameter name, it shall be taken as a - # typedef name." - # - # Inside a parameter declaration, once we've reduced declaration specifiers, - # if we shift in an LPAREN and see a TYPEID, it could be either an abstract - # declarator or a declarator nested inside parens. This rule tells us to - # always treat it as an abstract declarator. Therefore, we only accept - # `id_declarator`s and `typeid_noparen_declarator`s. - def p_parameter_declaration_1(self, p): - """ parameter_declaration : declaration_specifiers id_declarator - | declaration_specifiers typeid_noparen_declarator - """ - spec = p[1] - if not spec['type']: - spec['type'] = [c_ast.IdentifierType(['int'], - coord=self._token_coord(p, 1))] - p[0] = self._build_declarations( - spec=spec, - decls=[dict(decl=p[2])])[0] - - def p_parameter_declaration_2(self, p): - """ parameter_declaration : declaration_specifiers abstract_declarator_opt - """ - spec = p[1] - if not spec['type']: - spec['type'] = [c_ast.IdentifierType(['int'], - coord=self._token_coord(p, 1))] - - # Parameters can have the same names as typedefs. The trouble is that - # the parameter's name gets grouped into declaration_specifiers, making - # it look like an old-style declaration; compensate. - # - if len(spec['type']) > 1 and len(spec['type'][-1].names) == 1 and \ - self._is_type_in_scope(spec['type'][-1].names[0]): - decl = self._build_declarations( - spec=spec, - decls=[dict(decl=p[2], init=None)])[0] - - # This truly is an old-style parameter declaration - # - else: - decl = c_ast.Typename( - name='', - quals=spec['qual'], - type=p[2] or c_ast.TypeDecl(None, None, None), - coord=self._token_coord(p, 2)) - typename = spec['type'] - decl = self._fix_decl_name_type(decl, typename) - - p[0] = decl - - def p_identifier_list(self, p): - """ identifier_list : identifier - | identifier_list COMMA identifier - """ - if len(p) == 2: # single parameter - p[0] = c_ast.ParamList([p[1]], p[1].coord) - else: - p[1].params.append(p[3]) - p[0] = p[1] - - def p_initializer_1(self, p): - """ initializer : assignment_expression - """ - p[0] = p[1] - - def p_initializer_2(self, p): - """ initializer : brace_open initializer_list_opt brace_close - | brace_open initializer_list COMMA brace_close - """ - if p[2] is None: - p[0] = c_ast.InitList([], self._token_coord(p, 1)) - else: - p[0] = p[2] - - def p_initializer_list(self, p): - """ initializer_list : designation_opt initializer - | initializer_list COMMA designation_opt initializer - """ - if len(p) == 3: # single initializer - init = p[2] if p[1] is None else c_ast.NamedInitializer(p[1], p[2]) - p[0] = c_ast.InitList([init], p[2].coord) - else: - init = p[4] if p[3] is None else c_ast.NamedInitializer(p[3], p[4]) - p[1].exprs.append(init) - p[0] = p[1] - - def p_designation(self, p): - """ designation : designator_list EQUALS - """ - p[0] = p[1] - - # Designators are represented as a list of nodes, in the order in which - # they're written in the code. - # - def p_designator_list(self, p): - """ designator_list : designator - | designator_list designator - """ - p[0] = [p[1]] if len(p) == 2 else p[1] + [p[2]] - - def p_designator(self, p): - """ designator : LBRACKET constant_expression RBRACKET - | PERIOD identifier - """ - p[0] = p[2] - - def p_type_name(self, p): - """ type_name : specifier_qualifier_list abstract_declarator_opt - """ - typename = c_ast.Typename( - name='', - quals=p[1]['qual'], - type=p[2] or c_ast.TypeDecl(None, None, None), - coord=self._token_coord(p, 2)) - - p[0] = self._fix_decl_name_type(typename, p[1]['type']) - - def p_abstract_declarator_1(self, p): - """ abstract_declarator : pointer - """ - dummytype = c_ast.TypeDecl(None, None, None) - p[0] = self._type_modify_decl( - decl=dummytype, - modifier=p[1]) - - def p_abstract_declarator_2(self, p): - """ abstract_declarator : pointer direct_abstract_declarator - """ - p[0] = self._type_modify_decl(p[2], p[1]) - - def p_abstract_declarator_3(self, p): - """ abstract_declarator : direct_abstract_declarator - """ - p[0] = p[1] - - # Creating and using direct_abstract_declarator_opt here - # instead of listing both direct_abstract_declarator and the - # lack of it in the beginning of _1 and _2 caused two - # shift/reduce errors. - # - def p_direct_abstract_declarator_1(self, p): - """ direct_abstract_declarator : LPAREN abstract_declarator RPAREN """ - p[0] = p[2] - - def p_direct_abstract_declarator_2(self, p): - """ direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET - """ - arr = c_ast.ArrayDecl( - type=None, - dim=p[3], - dim_quals=[], - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=arr) - - def p_direct_abstract_declarator_3(self, p): - """ direct_abstract_declarator : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET - """ - quals = (p[2] if len(p) > 4 else []) or [] - p[0] = c_ast.ArrayDecl( - type=c_ast.TypeDecl(None, None, None), - dim=p[3] if len(p) > 4 else p[2], - dim_quals=quals, - coord=self._token_coord(p, 1)) - - def p_direct_abstract_declarator_4(self, p): - """ direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET - """ - arr = c_ast.ArrayDecl( - type=None, - dim=c_ast.ID(p[3], self._token_coord(p, 3)), - dim_quals=[], - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=arr) - - def p_direct_abstract_declarator_5(self, p): - """ direct_abstract_declarator : LBRACKET TIMES RBRACKET - """ - p[0] = c_ast.ArrayDecl( - type=c_ast.TypeDecl(None, None, None), - dim=c_ast.ID(p[3], self._token_coord(p, 3)), - dim_quals=[], - coord=self._token_coord(p, 1)) - - def p_direct_abstract_declarator_6(self, p): - """ direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN - """ - func = c_ast.FuncDecl( - args=p[3], - type=None, - coord=p[1].coord) - - p[0] = self._type_modify_decl(decl=p[1], modifier=func) - - def p_direct_abstract_declarator_7(self, p): - """ direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN - """ - p[0] = c_ast.FuncDecl( - args=p[2], - type=c_ast.TypeDecl(None, None, None), - coord=self._token_coord(p, 1)) - - # declaration is a list, statement isn't. To make it consistent, block_item - # will always be a list - # - def p_block_item(self, p): - """ block_item : declaration - | statement - """ - p[0] = p[1] if isinstance(p[1], list) else [p[1]] - - # Since we made block_item a list, this just combines lists - # - def p_block_item_list(self, p): - """ block_item_list : block_item - | block_item_list block_item - """ - # Empty block items (plain ';') produce [None], so ignore them - p[0] = p[1] if (len(p) == 2 or p[2] == [None]) else p[1] + p[2] - - def p_compound_statement_1(self, p): - """ compound_statement : brace_open block_item_list_opt brace_close """ - p[0] = c_ast.Compound( - block_items=p[2], - coord=self._token_coord(p, 1)) - - def p_labeled_statement_1(self, p): - """ labeled_statement : ID COLON pragmacomp_or_statement """ - p[0] = c_ast.Label(p[1], p[3], self._token_coord(p, 1)) - - def p_labeled_statement_2(self, p): - """ labeled_statement : CASE constant_expression COLON pragmacomp_or_statement """ - p[0] = c_ast.Case(p[2], [p[4]], self._token_coord(p, 1)) - - def p_labeled_statement_3(self, p): - """ labeled_statement : DEFAULT COLON pragmacomp_or_statement """ - p[0] = c_ast.Default([p[3]], self._token_coord(p, 1)) - - def p_selection_statement_1(self, p): - """ selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement """ - p[0] = c_ast.If(p[3], p[5], None, self._token_coord(p, 1)) - - def p_selection_statement_2(self, p): - """ selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement """ - p[0] = c_ast.If(p[3], p[5], p[7], self._token_coord(p, 1)) - - def p_selection_statement_3(self, p): - """ selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement """ - p[0] = fix_switch_cases( - c_ast.Switch(p[3], p[5], self._token_coord(p, 1))) - - def p_iteration_statement_1(self, p): - """ iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement """ - p[0] = c_ast.While(p[3], p[5], self._token_coord(p, 1)) - - def p_iteration_statement_2(self, p): - """ iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI """ - p[0] = c_ast.DoWhile(p[5], p[2], self._token_coord(p, 1)) - - def p_iteration_statement_3(self, p): - """ iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """ - p[0] = c_ast.For(p[3], p[5], p[7], p[9], self._token_coord(p, 1)) - - def p_iteration_statement_4(self, p): - """ iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement """ - p[0] = c_ast.For(c_ast.DeclList(p[3], self._token_coord(p, 1)), - p[4], p[6], p[8], self._token_coord(p, 1)) - - def p_jump_statement_1(self, p): - """ jump_statement : GOTO ID SEMI """ - p[0] = c_ast.Goto(p[2], self._token_coord(p, 1)) - - def p_jump_statement_2(self, p): - """ jump_statement : BREAK SEMI """ - p[0] = c_ast.Break(self._token_coord(p, 1)) - - def p_jump_statement_3(self, p): - """ jump_statement : CONTINUE SEMI """ - p[0] = c_ast.Continue(self._token_coord(p, 1)) - - def p_jump_statement_4(self, p): - """ jump_statement : RETURN expression SEMI - | RETURN SEMI - """ - p[0] = c_ast.Return(p[2] if len(p) == 4 else None, self._token_coord(p, 1)) - - def p_expression_statement(self, p): - """ expression_statement : expression_opt SEMI """ - if p[1] is None: - p[0] = c_ast.EmptyStatement(self._token_coord(p, 2)) - else: - p[0] = p[1] - - def p_expression(self, p): - """ expression : assignment_expression - | expression COMMA assignment_expression - """ - if len(p) == 2: - p[0] = p[1] - else: - if not isinstance(p[1], c_ast.ExprList): - p[1] = c_ast.ExprList([p[1]], p[1].coord) - - p[1].exprs.append(p[3]) - p[0] = p[1] - - def p_typedef_name(self, p): - """ typedef_name : TYPEID """ - p[0] = c_ast.IdentifierType([p[1]], coord=self._token_coord(p, 1)) - - def p_assignment_expression(self, p): - """ assignment_expression : conditional_expression - | unary_expression assignment_operator assignment_expression - """ - if len(p) == 2: - p[0] = p[1] - else: - p[0] = c_ast.Assignment(p[2], p[1], p[3], p[1].coord) - - # K&R2 defines these as many separate rules, to encode - # precedence and associativity. Why work hard ? I'll just use - # the built in precedence/associativity specification feature - # of PLY. (see precedence declaration above) - # - def p_assignment_operator(self, p): - """ assignment_operator : EQUALS - | XOREQUAL - | TIMESEQUAL - | DIVEQUAL - | MODEQUAL - | PLUSEQUAL - | MINUSEQUAL - | LSHIFTEQUAL - | RSHIFTEQUAL - | ANDEQUAL - | OREQUAL - """ - p[0] = p[1] - - def p_constant_expression(self, p): - """ constant_expression : conditional_expression """ - p[0] = p[1] - - def p_conditional_expression(self, p): - """ conditional_expression : binary_expression - | binary_expression CONDOP expression COLON conditional_expression - """ - if len(p) == 2: - p[0] = p[1] - else: - p[0] = c_ast.TernaryOp(p[1], p[3], p[5], p[1].coord) - - def p_binary_expression(self, p): - """ binary_expression : cast_expression - | binary_expression TIMES binary_expression - | binary_expression DIVIDE binary_expression - | binary_expression MOD binary_expression - | binary_expression PLUS binary_expression - | binary_expression MINUS binary_expression - | binary_expression RSHIFT binary_expression - | binary_expression LSHIFT binary_expression - | binary_expression LT binary_expression - | binary_expression LE binary_expression - | binary_expression GE binary_expression - | binary_expression GT binary_expression - | binary_expression EQ binary_expression - | binary_expression NE binary_expression - | binary_expression AND binary_expression - | binary_expression OR binary_expression - | binary_expression XOR binary_expression - | binary_expression LAND binary_expression - | binary_expression LOR binary_expression - """ - if len(p) == 2: - p[0] = p[1] - else: - p[0] = c_ast.BinaryOp(p[2], p[1], p[3], p[1].coord) - - def p_cast_expression_1(self, p): - """ cast_expression : unary_expression """ - p[0] = p[1] - - def p_cast_expression_2(self, p): - """ cast_expression : LPAREN type_name RPAREN cast_expression """ - p[0] = c_ast.Cast(p[2], p[4], self._token_coord(p, 1)) - - def p_unary_expression_1(self, p): - """ unary_expression : postfix_expression """ - p[0] = p[1] - - def p_unary_expression_2(self, p): - """ unary_expression : PLUSPLUS unary_expression - | MINUSMINUS unary_expression - | unary_operator cast_expression - """ - p[0] = c_ast.UnaryOp(p[1], p[2], p[2].coord) - - def p_unary_expression_3(self, p): - """ unary_expression : SIZEOF unary_expression - | SIZEOF LPAREN type_name RPAREN - """ - p[0] = c_ast.UnaryOp( - p[1], - p[2] if len(p) == 3 else p[3], - self._token_coord(p, 1)) - - def p_unary_operator(self, p): - """ unary_operator : AND - | TIMES - | PLUS - | MINUS - | NOT - | LNOT - """ - p[0] = p[1] - - def p_postfix_expression_1(self, p): - """ postfix_expression : primary_expression """ - p[0] = p[1] - - def p_postfix_expression_2(self, p): - """ postfix_expression : postfix_expression LBRACKET expression RBRACKET """ - p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord) - - def p_postfix_expression_3(self, p): - """ postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN - | postfix_expression LPAREN RPAREN - """ - p[0] = c_ast.FuncCall(p[1], p[3] if len(p) == 5 else None, p[1].coord) - - def p_postfix_expression_4(self, p): - """ postfix_expression : postfix_expression PERIOD ID - | postfix_expression PERIOD TYPEID - | postfix_expression ARROW ID - | postfix_expression ARROW TYPEID - """ - field = c_ast.ID(p[3], self._token_coord(p, 3)) - p[0] = c_ast.StructRef(p[1], p[2], field, p[1].coord) - - def p_postfix_expression_5(self, p): - """ postfix_expression : postfix_expression PLUSPLUS - | postfix_expression MINUSMINUS - """ - p[0] = c_ast.UnaryOp('p' + p[2], p[1], p[1].coord) - - def p_postfix_expression_6(self, p): - """ postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close - | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close - """ - p[0] = c_ast.CompoundLiteral(p[2], p[5]) - - def p_primary_expression_1(self, p): - """ primary_expression : identifier """ - p[0] = p[1] - - def p_primary_expression_2(self, p): - """ primary_expression : constant """ - p[0] = p[1] - - def p_primary_expression_3(self, p): - """ primary_expression : unified_string_literal - | unified_wstring_literal - """ - p[0] = p[1] - - def p_primary_expression_4(self, p): - """ primary_expression : LPAREN expression RPAREN """ - p[0] = p[2] - - def p_primary_expression_5(self, p): - """ primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN - """ - coord = self._token_coord(p, 1) - p[0] = c_ast.FuncCall(c_ast.ID(p[1], coord), - c_ast.ExprList([p[3], p[5]], coord), - coord) - - def p_offsetof_member_designator(self, p): - """ offsetof_member_designator : identifier - | offsetof_member_designator PERIOD identifier - | offsetof_member_designator LBRACKET expression RBRACKET - """ - if len(p) == 2: - p[0] = p[1] - elif len(p) == 4: - p[0] = c_ast.StructRef(p[1], p[2], p[3], p[1].coord) - elif len(p) == 5: - p[0] = c_ast.ArrayRef(p[1], p[3], p[1].coord) - else: - raise NotImplementedError("Unexpected parsing state. len(p): %u" % len(p)) - - def p_argument_expression_list(self, p): - """ argument_expression_list : assignment_expression - | argument_expression_list COMMA assignment_expression - """ - if len(p) == 2: # single expr - p[0] = c_ast.ExprList([p[1]], p[1].coord) - else: - p[1].exprs.append(p[3]) - p[0] = p[1] - - def p_identifier(self, p): - """ identifier : ID """ - p[0] = c_ast.ID(p[1], self._token_coord(p, 1)) - - def p_constant_1(self, p): - """ constant : INT_CONST_DEC - | INT_CONST_OCT - | INT_CONST_HEX - | INT_CONST_BIN - | INT_CONST_CHAR - """ - uCount = 0 - lCount = 0 - for x in p[1][-3:]: - if x in ('l', 'L'): - lCount += 1 - elif x in ('u', 'U'): - uCount += 1 - t = '' - if uCount > 1: - raise ValueError('Constant cannot have more than one u/U suffix.') - elif lCount > 2: - raise ValueError('Constant cannot have more than two l/L suffix.') - prefix = 'unsigned ' * uCount + 'long ' * lCount - p[0] = c_ast.Constant( - prefix + 'int', p[1], self._token_coord(p, 1)) - - def p_constant_2(self, p): - """ constant : FLOAT_CONST - | HEX_FLOAT_CONST - """ - if 'x' in p[1].lower(): - t = 'float' - else: - if p[1][-1] in ('f', 'F'): - t = 'float' - elif p[1][-1] in ('l', 'L'): - t = 'long double' - else: - t = 'double' - - p[0] = c_ast.Constant( - t, p[1], self._token_coord(p, 1)) - - def p_constant_3(self, p): - """ constant : CHAR_CONST - | WCHAR_CONST - """ - p[0] = c_ast.Constant( - 'char', p[1], self._token_coord(p, 1)) - - # The "unified" string and wstring literal rules are for supporting - # concatenation of adjacent string literals. - # I.e. "hello " "world" is seen by the C compiler as a single string literal - # with the value "hello world" - # - def p_unified_string_literal(self, p): - """ unified_string_literal : STRING_LITERAL - | unified_string_literal STRING_LITERAL - """ - if len(p) == 2: # single literal - p[0] = c_ast.Constant( - 'string', p[1], self._token_coord(p, 1)) - else: - p[1].value = p[1].value[:-1] + p[2][1:] - p[0] = p[1] - - def p_unified_wstring_literal(self, p): - """ unified_wstring_literal : WSTRING_LITERAL - | unified_wstring_literal WSTRING_LITERAL - """ - if len(p) == 2: # single literal - p[0] = c_ast.Constant( - 'string', p[1], self._token_coord(p, 1)) - else: - p[1].value = p[1].value.rstrip()[:-1] + p[2][2:] - p[0] = p[1] - - def p_brace_open(self, p): - """ brace_open : LBRACE - """ - p[0] = p[1] - p.set_lineno(0, p.lineno(1)) - - def p_brace_close(self, p): - """ brace_close : RBRACE - """ - p[0] = p[1] - p.set_lineno(0, p.lineno(1)) - - def p_empty(self, p): - 'empty : ' - p[0] = None - - def p_error(self, p): - # If error recovery is added here in the future, make sure - # _get_yacc_lookahead_token still works! - # - if p: - self._parse_error( - 'before: %s' % p.value, - self._coord(lineno=p.lineno, - column=self.clex.find_tok_column(p))) - else: - self._parse_error('At end of input', self.clex.filename) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/lextab.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/lextab.py deleted file mode 100644 index eb3ae07d..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/lextab.py +++ /dev/null @@ -1,10 +0,0 @@ -# lextab.py. This file automatically created by PLY (version 3.10). Don't edit! -_tabversion = '3.10' -_lextokens = set(('VOID', 'LBRACKET', 'WCHAR_CONST', 'FLOAT_CONST', 'MINUS', 'RPAREN', 'LONG', 'PLUS', 'ELLIPSIS', 'GT', 'GOTO', 'ENUM', 'PERIOD', 'GE', 'INT_CONST_DEC', 'ARROW', '__INT128', 'HEX_FLOAT_CONST', 'DOUBLE', 'MINUSEQUAL', 'INT_CONST_OCT', 'TIMESEQUAL', 'OR', 'SHORT', 'RETURN', 'RSHIFTEQUAL', 'RESTRICT', 'STATIC', 'SIZEOF', 'UNSIGNED', 'UNION', 'COLON', 'WSTRING_LITERAL', 'DIVIDE', 'FOR', 'PLUSPLUS', 'EQUALS', 'ELSE', 'INLINE', 'EQ', 'AND', 'TYPEID', 'LBRACE', 'PPHASH', 'INT', 'SIGNED', 'CONTINUE', 'NOT', 'OREQUAL', 'MOD', 'RSHIFT', 'DEFAULT', 'CHAR', 'WHILE', 'DIVEQUAL', 'EXTERN', 'CASE', 'LAND', 'REGISTER', 'MODEQUAL', 'NE', 'SWITCH', 'INT_CONST_HEX', '_COMPLEX', 'PPPRAGMASTR', 'PLUSEQUAL', 'STRUCT', 'CONDOP', 'BREAK', 'VOLATILE', 'PPPRAGMA', 'ANDEQUAL', 'INT_CONST_BIN', 'DO', 'LNOT', 'CONST', 'LOR', 'CHAR_CONST', 'LSHIFT', 'RBRACE', '_BOOL', 'LE', 'SEMI', 'LT', 'COMMA', 'OFFSETOF', 'TYPEDEF', 'XOR', 'AUTO', 'TIMES', 'LPAREN', 'MINUSMINUS', 'ID', 'IF', 'STRING_LITERAL', 'FLOAT', 'XOREQUAL', 'LSHIFTEQUAL', 'RBRACKET')) -_lexreflags = 64 -_lexliterals = '' -_lexstateinfo = {'ppline': 'exclusive', 'pppragma': 'exclusive', 'INITIAL': 'inclusive'} -_lexstatere = {'ppline': [('(?P"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P\\n)|(?Pline)', [None, ('t_ppline_FILENAME', 'FILENAME'), None, None, None, None, None, None, ('t_ppline_LINE_NUMBER', 'LINE_NUMBER'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ppline_NEWLINE', 'NEWLINE'), ('t_ppline_PPLINE', 'PPLINE')])], 'pppragma': [('(?P\\n)|(?Ppragma)|(?P.+)', [None, ('t_pppragma_NEWLINE', 'NEWLINE'), ('t_pppragma_PPPRAGMA', 'PPPRAGMA'), ('t_pppragma_STR', 'STR')])], 'INITIAL': [('(?P[ \\t]*\\#)|(?P\\n+)|(?P\\{)|(?P\\})|(?P((((([0-9]*\\.[0-9]+)|([0-9]+\\.))([eE][-+]?[0-9]+)?)|([0-9]+([eE][-+]?[0-9]+)))[FfLl]?))|(?P(0[xX]([0-9a-fA-F]+|((([0-9a-fA-F]+)?\\.[0-9a-fA-F]+)|([0-9a-fA-F]+\\.)))([pP][+-]?[0-9]+)[FfLl]?))|(?P0[xX][0-9a-fA-F]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)', [None, ('t_PPHASH', 'PPHASH'), ('t_NEWLINE', 'NEWLINE'), ('t_LBRACE', 'LBRACE'), ('t_RBRACE', 'RBRACE'), ('t_FLOAT_CONST', 'FLOAT_CONST'), None, None, None, None, None, None, None, None, None, ('t_HEX_FLOAT_CONST', 'HEX_FLOAT_CONST'), None, None, None, None, None, None, None, ('t_INT_CONST_HEX', 'INT_CONST_HEX')]), ('(?P0[bB][01]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P0[0-7]*[89])|(?P0[0-7]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?PL\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*\\n)|(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*$))|(?P(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))[^\'\n]+\')|(\'\')|(\'([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])[^\'\\n]*\'))', [None, ('t_INT_CONST_BIN', 'INT_CONST_BIN'), None, None, None, None, None, None, None, ('t_BAD_CONST_OCT', 'BAD_CONST_OCT'), ('t_INT_CONST_OCT', 'INT_CONST_OCT'), None, None, None, None, None, None, None, ('t_INT_CONST_DEC', 'INT_CONST_DEC'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_CHAR_CONST', 'CHAR_CONST'), None, None, None, None, None, None, ('t_WCHAR_CONST', 'WCHAR_CONST'), None, None, None, None, None, None, ('t_UNMATCHED_QUOTE', 'UNMATCHED_QUOTE'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_BAD_CHAR_CONST', 'BAD_CHAR_CONST')]), ('(?PL"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*?([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P[a-zA-Z_$][0-9a-zA-Z_$]*)|(?P"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P\\.\\.\\.)|(?P\\+\\+)|(?P\\|\\|)|(?P\\^=)|(?P\\|=)|(?P<<=)|(?P>>=)|(?P\\+=)|(?P\\*=)|(?P\\+)|(?P%=)|(?P/=)', [None, ('t_WSTRING_LITERAL', 'WSTRING_LITERAL'), None, None, None, None, None, None, ('t_BAD_STRING_LITERAL', 'BAD_STRING_LITERAL'), None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ID', 'ID'), (None, 'STRING_LITERAL'), None, None, None, None, None, None, (None, 'ELLIPSIS'), (None, 'PLUSPLUS'), (None, 'LOR'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'RSHIFTEQUAL'), (None, 'PLUSEQUAL'), (None, 'TIMESEQUAL'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL')]), ('(?P\\])|(?P\\?)|(?P\\^)|(?P<<)|(?P<=)|(?P\\()|(?P->)|(?P==)|(?P!=)|(?P--)|(?P\\|)|(?P\\*)|(?P\\[)|(?P>=)|(?P\\))|(?P&&)|(?P>>)|(?P-=)|(?P\\.)|(?P&=)|(?P=)|(?P<)|(?P,)|(?P/)|(?P&)|(?P%)|(?P;)|(?P-)|(?P>)|(?P:)|(?P~)|(?P!)', [None, (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'XOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'LPAREN'), (None, 'ARROW'), (None, 'EQ'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'OR'), (None, 'TIMES'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'LAND'), (None, 'RSHIFT'), (None, 'MINUSEQUAL'), (None, 'PERIOD'), (None, 'ANDEQUAL'), (None, 'EQUALS'), (None, 'LT'), (None, 'COMMA'), (None, 'DIVIDE'), (None, 'AND'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'NOT'), (None, 'LNOT')])]} -_lexstateignore = {'ppline': ' \t', 'pppragma': ' \t', 'INITIAL': ' \t'} -_lexstateerrorf = {'ppline': 't_ppline_error', 'pppragma': 't_pppragma_error', 'INITIAL': 't_error'} -_lexstateeoff = {} diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__init__.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__init__.py deleted file mode 100644 index 6e53cddc..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# PLY package -# Author: David Beazley (dave@dabeaz.com) - -__version__ = '3.9' -__all__ = ['lex','yacc'] diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3b9c1787..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/cpp.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/cpp.cpython-39.pyc deleted file mode 100644 index 99b97e6c..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/cpp.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ctokens.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ctokens.cpython-39.pyc deleted file mode 100644 index 2c024eb8..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ctokens.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/lex.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/lex.cpython-39.pyc deleted file mode 100644 index 4f122449..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/lex.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/yacc.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/yacc.cpython-39.pyc deleted file mode 100644 index 59602036..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/yacc.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ygen.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ygen.cpython-39.pyc deleted file mode 100644 index b77dd717..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/__pycache__/ygen.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/cpp.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/cpp.py deleted file mode 100644 index 86273eac..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/cpp.py +++ /dev/null @@ -1,905 +0,0 @@ -# ----------------------------------------------------------------------------- -# cpp.py -# -# Author: David Beazley (http://www.dabeaz.com) -# Copyright (C) 2017 -# All rights reserved -# -# This module implements an ANSI-C style lexical preprocessor for PLY. -# ----------------------------------------------------------------------------- -import sys - -# Some Python 3 compatibility shims -if sys.version_info.major < 3: - STRING_TYPES = (str, unicode) -else: - STRING_TYPES = str - xrange = range - -# ----------------------------------------------------------------------------- -# Default preprocessor lexer definitions. These tokens are enough to get -# a basic preprocessor working. Other modules may import these if they want -# ----------------------------------------------------------------------------- - -tokens = ( - 'CPP_ID','CPP_INTEGER', 'CPP_FLOAT', 'CPP_STRING', 'CPP_CHAR', 'CPP_WS', 'CPP_COMMENT1', 'CPP_COMMENT2', 'CPP_POUND','CPP_DPOUND' -) - -literals = "+-*/%|&~^<>=!?()[]{}.,;:\\\'\"" - -# Whitespace -def t_CPP_WS(t): - r'\s+' - t.lexer.lineno += t.value.count("\n") - return t - -t_CPP_POUND = r'\#' -t_CPP_DPOUND = r'\#\#' - -# Identifier -t_CPP_ID = r'[A-Za-z_][\w_]*' - -# Integer literal -def CPP_INTEGER(t): - r'(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)' - return t - -t_CPP_INTEGER = CPP_INTEGER - -# Floating literal -t_CPP_FLOAT = r'((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?' - -# String literal -def t_CPP_STRING(t): - r'\"([^\\\n]|(\\(.|\n)))*?\"' - t.lexer.lineno += t.value.count("\n") - return t - -# Character constant 'c' or L'c' -def t_CPP_CHAR(t): - r'(L)?\'([^\\\n]|(\\(.|\n)))*?\'' - t.lexer.lineno += t.value.count("\n") - return t - -# Comment -def t_CPP_COMMENT1(t): - r'(/\*(.|\n)*?\*/)' - ncr = t.value.count("\n") - t.lexer.lineno += ncr - # replace with one space or a number of '\n' - t.type = 'CPP_WS'; t.value = '\n' * ncr if ncr else ' ' - return t - -# Line comment -def t_CPP_COMMENT2(t): - r'(//.*?(\n|$))' - # replace with '/n' - t.type = 'CPP_WS'; t.value = '\n' - return t - -def t_error(t): - t.type = t.value[0] - t.value = t.value[0] - t.lexer.skip(1) - return t - -import re -import copy -import time -import os.path - -# ----------------------------------------------------------------------------- -# trigraph() -# -# Given an input string, this function replaces all trigraph sequences. -# The following mapping is used: -# -# ??= # -# ??/ \ -# ??' ^ -# ??( [ -# ??) ] -# ??! | -# ??< { -# ??> } -# ??- ~ -# ----------------------------------------------------------------------------- - -_trigraph_pat = re.compile(r'''\?\?[=/\'\(\)\!<>\-]''') -_trigraph_rep = { - '=':'#', - '/':'\\', - "'":'^', - '(':'[', - ')':']', - '!':'|', - '<':'{', - '>':'}', - '-':'~' -} - -def trigraph(input): - return _trigraph_pat.sub(lambda g: _trigraph_rep[g.group()[-1]],input) - -# ------------------------------------------------------------------ -# Macro object -# -# This object holds information about preprocessor macros -# -# .name - Macro name (string) -# .value - Macro value (a list of tokens) -# .arglist - List of argument names -# .variadic - Boolean indicating whether or not variadic macro -# .vararg - Name of the variadic parameter -# -# When a macro is created, the macro replacement token sequence is -# pre-scanned and used to create patch lists that are later used -# during macro expansion -# ------------------------------------------------------------------ - -class Macro(object): - def __init__(self,name,value,arglist=None,variadic=False): - self.name = name - self.value = value - self.arglist = arglist - self.variadic = variadic - if variadic: - self.vararg = arglist[-1] - self.source = None - -# ------------------------------------------------------------------ -# Preprocessor object -# -# Object representing a preprocessor. Contains macro definitions, -# include directories, and other information -# ------------------------------------------------------------------ - -class Preprocessor(object): - def __init__(self,lexer=None): - if lexer is None: - lexer = lex.lexer - self.lexer = lexer - self.macros = { } - self.path = [] - self.temp_path = [] - - # Probe the lexer for selected tokens - self.lexprobe() - - tm = time.localtime() - self.define("__DATE__ \"%s\"" % time.strftime("%b %d %Y",tm)) - self.define("__TIME__ \"%s\"" % time.strftime("%H:%M:%S",tm)) - self.parser = None - - # ----------------------------------------------------------------------------- - # tokenize() - # - # Utility function. Given a string of text, tokenize into a list of tokens - # ----------------------------------------------------------------------------- - - def tokenize(self,text): - tokens = [] - self.lexer.input(text) - while True: - tok = self.lexer.token() - if not tok: break - tokens.append(tok) - return tokens - - # --------------------------------------------------------------------- - # error() - # - # Report a preprocessor error/warning of some kind - # ---------------------------------------------------------------------- - - def error(self,file,line,msg): - print("%s:%d %s" % (file,line,msg)) - - # ---------------------------------------------------------------------- - # lexprobe() - # - # This method probes the preprocessor lexer object to discover - # the token types of symbols that are important to the preprocessor. - # If this works right, the preprocessor will simply "work" - # with any suitable lexer regardless of how tokens have been named. - # ---------------------------------------------------------------------- - - def lexprobe(self): - - # Determine the token type for identifiers - self.lexer.input("identifier") - tok = self.lexer.token() - if not tok or tok.value != "identifier": - print("Couldn't determine identifier type") - else: - self.t_ID = tok.type - - # Determine the token type for integers - self.lexer.input("12345") - tok = self.lexer.token() - if not tok or int(tok.value) != 12345: - print("Couldn't determine integer type") - else: - self.t_INTEGER = tok.type - self.t_INTEGER_TYPE = type(tok.value) - - # Determine the token type for strings enclosed in double quotes - self.lexer.input("\"filename\"") - tok = self.lexer.token() - if not tok or tok.value != "\"filename\"": - print("Couldn't determine string type") - else: - self.t_STRING = tok.type - - # Determine the token type for whitespace--if any - self.lexer.input(" ") - tok = self.lexer.token() - if not tok or tok.value != " ": - self.t_SPACE = None - else: - self.t_SPACE = tok.type - - # Determine the token type for newlines - self.lexer.input("\n") - tok = self.lexer.token() - if not tok or tok.value != "\n": - self.t_NEWLINE = None - print("Couldn't determine token for newlines") - else: - self.t_NEWLINE = tok.type - - self.t_WS = (self.t_SPACE, self.t_NEWLINE) - - # Check for other characters used by the preprocessor - chars = [ '<','>','#','##','\\','(',')',',','.'] - for c in chars: - self.lexer.input(c) - tok = self.lexer.token() - if not tok or tok.value != c: - print("Unable to lex '%s' required for preprocessor" % c) - - # ---------------------------------------------------------------------- - # add_path() - # - # Adds a search path to the preprocessor. - # ---------------------------------------------------------------------- - - def add_path(self,path): - self.path.append(path) - - # ---------------------------------------------------------------------- - # group_lines() - # - # Given an input string, this function splits it into lines. Trailing whitespace - # is removed. Any line ending with \ is grouped with the next line. This - # function forms the lowest level of the preprocessor---grouping into text into - # a line-by-line format. - # ---------------------------------------------------------------------- - - def group_lines(self,input): - lex = self.lexer.clone() - lines = [x.rstrip() for x in input.splitlines()] - for i in xrange(len(lines)): - j = i+1 - while lines[i].endswith('\\') and (j < len(lines)): - lines[i] = lines[i][:-1]+lines[j] - lines[j] = "" - j += 1 - - input = "\n".join(lines) - lex.input(input) - lex.lineno = 1 - - current_line = [] - while True: - tok = lex.token() - if not tok: - break - current_line.append(tok) - if tok.type in self.t_WS and '\n' in tok.value: - yield current_line - current_line = [] - - if current_line: - yield current_line - - # ---------------------------------------------------------------------- - # tokenstrip() - # - # Remove leading/trailing whitespace tokens from a token list - # ---------------------------------------------------------------------- - - def tokenstrip(self,tokens): - i = 0 - while i < len(tokens) and tokens[i].type in self.t_WS: - i += 1 - del tokens[:i] - i = len(tokens)-1 - while i >= 0 and tokens[i].type in self.t_WS: - i -= 1 - del tokens[i+1:] - return tokens - - - # ---------------------------------------------------------------------- - # collect_args() - # - # Collects comma separated arguments from a list of tokens. The arguments - # must be enclosed in parenthesis. Returns a tuple (tokencount,args,positions) - # where tokencount is the number of tokens consumed, args is a list of arguments, - # and positions is a list of integers containing the starting index of each - # argument. Each argument is represented by a list of tokens. - # - # When collecting arguments, leading and trailing whitespace is removed - # from each argument. - # - # This function properly handles nested parenthesis and commas---these do not - # define new arguments. - # ---------------------------------------------------------------------- - - def collect_args(self,tokenlist): - args = [] - positions = [] - current_arg = [] - nesting = 1 - tokenlen = len(tokenlist) - - # Search for the opening '('. - i = 0 - while (i < tokenlen) and (tokenlist[i].type in self.t_WS): - i += 1 - - if (i < tokenlen) and (tokenlist[i].value == '('): - positions.append(i+1) - else: - self.error(self.source,tokenlist[0].lineno,"Missing '(' in macro arguments") - return 0, [], [] - - i += 1 - - while i < tokenlen: - t = tokenlist[i] - if t.value == '(': - current_arg.append(t) - nesting += 1 - elif t.value == ')': - nesting -= 1 - if nesting == 0: - if current_arg: - args.append(self.tokenstrip(current_arg)) - positions.append(i) - return i+1,args,positions - current_arg.append(t) - elif t.value == ',' and nesting == 1: - args.append(self.tokenstrip(current_arg)) - positions.append(i+1) - current_arg = [] - else: - current_arg.append(t) - i += 1 - - # Missing end argument - self.error(self.source,tokenlist[-1].lineno,"Missing ')' in macro arguments") - return 0, [],[] - - # ---------------------------------------------------------------------- - # macro_prescan() - # - # Examine the macro value (token sequence) and identify patch points - # This is used to speed up macro expansion later on---we'll know - # right away where to apply patches to the value to form the expansion - # ---------------------------------------------------------------------- - - def macro_prescan(self,macro): - macro.patch = [] # Standard macro arguments - macro.str_patch = [] # String conversion expansion - macro.var_comma_patch = [] # Variadic macro comma patch - i = 0 - while i < len(macro.value): - if macro.value[i].type == self.t_ID and macro.value[i].value in macro.arglist: - argnum = macro.arglist.index(macro.value[i].value) - # Conversion of argument to a string - if i > 0 and macro.value[i-1].value == '#': - macro.value[i] = copy.copy(macro.value[i]) - macro.value[i].type = self.t_STRING - del macro.value[i-1] - macro.str_patch.append((argnum,i-1)) - continue - # Concatenation - elif (i > 0 and macro.value[i-1].value == '##'): - macro.patch.append(('c',argnum,i-1)) - del macro.value[i-1] - continue - elif ((i+1) < len(macro.value) and macro.value[i+1].value == '##'): - macro.patch.append(('c',argnum,i)) - i += 1 - continue - # Standard expansion - else: - macro.patch.append(('e',argnum,i)) - elif macro.value[i].value == '##': - if macro.variadic and (i > 0) and (macro.value[i-1].value == ',') and \ - ((i+1) < len(macro.value)) and (macro.value[i+1].type == self.t_ID) and \ - (macro.value[i+1].value == macro.vararg): - macro.var_comma_patch.append(i-1) - i += 1 - macro.patch.sort(key=lambda x: x[2],reverse=True) - - # ---------------------------------------------------------------------- - # macro_expand_args() - # - # Given a Macro and list of arguments (each a token list), this method - # returns an expanded version of a macro. The return value is a token sequence - # representing the replacement macro tokens - # ---------------------------------------------------------------------- - - def macro_expand_args(self,macro,args): - # Make a copy of the macro token sequence - rep = [copy.copy(_x) for _x in macro.value] - - # Make string expansion patches. These do not alter the length of the replacement sequence - - str_expansion = {} - for argnum, i in macro.str_patch: - if argnum not in str_expansion: - str_expansion[argnum] = ('"%s"' % "".join([x.value for x in args[argnum]])).replace("\\","\\\\") - rep[i] = copy.copy(rep[i]) - rep[i].value = str_expansion[argnum] - - # Make the variadic macro comma patch. If the variadic macro argument is empty, we get rid - comma_patch = False - if macro.variadic and not args[-1]: - for i in macro.var_comma_patch: - rep[i] = None - comma_patch = True - - # Make all other patches. The order of these matters. It is assumed that the patch list - # has been sorted in reverse order of patch location since replacements will cause the - # size of the replacement sequence to expand from the patch point. - - expanded = { } - for ptype, argnum, i in macro.patch: - # Concatenation. Argument is left unexpanded - if ptype == 'c': - rep[i:i+1] = args[argnum] - # Normal expansion. Argument is macro expanded first - elif ptype == 'e': - if argnum not in expanded: - expanded[argnum] = self.expand_macros(args[argnum]) - rep[i:i+1] = expanded[argnum] - - # Get rid of removed comma if necessary - if comma_patch: - rep = [_i for _i in rep if _i] - - return rep - - - # ---------------------------------------------------------------------- - # expand_macros() - # - # Given a list of tokens, this function performs macro expansion. - # The expanded argument is a dictionary that contains macros already - # expanded. This is used to prevent infinite recursion. - # ---------------------------------------------------------------------- - - def expand_macros(self,tokens,expanded=None): - if expanded is None: - expanded = {} - i = 0 - while i < len(tokens): - t = tokens[i] - if t.type == self.t_ID: - if t.value in self.macros and t.value not in expanded: - # Yes, we found a macro match - expanded[t.value] = True - - m = self.macros[t.value] - if not m.arglist: - # A simple macro - ex = self.expand_macros([copy.copy(_x) for _x in m.value],expanded) - for e in ex: - e.lineno = t.lineno - tokens[i:i+1] = ex - i += len(ex) - else: - # A macro with arguments - j = i + 1 - while j < len(tokens) and tokens[j].type in self.t_WS: - j += 1 - if tokens[j].value == '(': - tokcount,args,positions = self.collect_args(tokens[j:]) - if not m.variadic and len(args) != len(m.arglist): - self.error(self.source,t.lineno,"Macro %s requires %d arguments" % (t.value,len(m.arglist))) - i = j + tokcount - elif m.variadic and len(args) < len(m.arglist)-1: - if len(m.arglist) > 2: - self.error(self.source,t.lineno,"Macro %s must have at least %d arguments" % (t.value, len(m.arglist)-1)) - else: - self.error(self.source,t.lineno,"Macro %s must have at least %d argument" % (t.value, len(m.arglist)-1)) - i = j + tokcount - else: - if m.variadic: - if len(args) == len(m.arglist)-1: - args.append([]) - else: - args[len(m.arglist)-1] = tokens[j+positions[len(m.arglist)-1]:j+tokcount-1] - del args[len(m.arglist):] - - # Get macro replacement text - rep = self.macro_expand_args(m,args) - rep = self.expand_macros(rep,expanded) - for r in rep: - r.lineno = t.lineno - tokens[i:j+tokcount] = rep - i += len(rep) - del expanded[t.value] - continue - elif t.value == '__LINE__': - t.type = self.t_INTEGER - t.value = self.t_INTEGER_TYPE(t.lineno) - - i += 1 - return tokens - - # ---------------------------------------------------------------------- - # evalexpr() - # - # Evaluate an expression token sequence for the purposes of evaluating - # integral expressions. - # ---------------------------------------------------------------------- - - def evalexpr(self,tokens): - # tokens = tokenize(line) - # Search for defined macros - i = 0 - while i < len(tokens): - if tokens[i].type == self.t_ID and tokens[i].value == 'defined': - j = i + 1 - needparen = False - result = "0L" - while j < len(tokens): - if tokens[j].type in self.t_WS: - j += 1 - continue - elif tokens[j].type == self.t_ID: - if tokens[j].value in self.macros: - result = "1L" - else: - result = "0L" - if not needparen: break - elif tokens[j].value == '(': - needparen = True - elif tokens[j].value == ')': - break - else: - self.error(self.source,tokens[i].lineno,"Malformed defined()") - j += 1 - tokens[i].type = self.t_INTEGER - tokens[i].value = self.t_INTEGER_TYPE(result) - del tokens[i+1:j+1] - i += 1 - tokens = self.expand_macros(tokens) - for i,t in enumerate(tokens): - if t.type == self.t_ID: - tokens[i] = copy.copy(t) - tokens[i].type = self.t_INTEGER - tokens[i].value = self.t_INTEGER_TYPE("0L") - elif t.type == self.t_INTEGER: - tokens[i] = copy.copy(t) - # Strip off any trailing suffixes - tokens[i].value = str(tokens[i].value) - while tokens[i].value[-1] not in "0123456789abcdefABCDEF": - tokens[i].value = tokens[i].value[:-1] - - expr = "".join([str(x.value) for x in tokens]) - expr = expr.replace("&&"," and ") - expr = expr.replace("||"," or ") - expr = expr.replace("!"," not ") - try: - result = eval(expr) - except Exception: - self.error(self.source,tokens[0].lineno,"Couldn't evaluate expression") - result = 0 - return result - - # ---------------------------------------------------------------------- - # parsegen() - # - # Parse an input string/ - # ---------------------------------------------------------------------- - def parsegen(self,input,source=None): - - # Replace trigraph sequences - t = trigraph(input) - lines = self.group_lines(t) - - if not source: - source = "" - - self.define("__FILE__ \"%s\"" % source) - - self.source = source - chunk = [] - enable = True - iftrigger = False - ifstack = [] - - for x in lines: - for i,tok in enumerate(x): - if tok.type not in self.t_WS: break - if tok.value == '#': - # Preprocessor directive - - # insert necessary whitespace instead of eaten tokens - for tok in x: - if tok.type in self.t_WS and '\n' in tok.value: - chunk.append(tok) - - dirtokens = self.tokenstrip(x[i+1:]) - if dirtokens: - name = dirtokens[0].value - args = self.tokenstrip(dirtokens[1:]) - else: - name = "" - args = [] - - if name == 'define': - if enable: - for tok in self.expand_macros(chunk): - yield tok - chunk = [] - self.define(args) - elif name == 'include': - if enable: - for tok in self.expand_macros(chunk): - yield tok - chunk = [] - oldfile = self.macros['__FILE__'] - for tok in self.include(args): - yield tok - self.macros['__FILE__'] = oldfile - self.source = source - elif name == 'undef': - if enable: - for tok in self.expand_macros(chunk): - yield tok - chunk = [] - self.undef(args) - elif name == 'ifdef': - ifstack.append((enable,iftrigger)) - if enable: - if not args[0].value in self.macros: - enable = False - iftrigger = False - else: - iftrigger = True - elif name == 'ifndef': - ifstack.append((enable,iftrigger)) - if enable: - if args[0].value in self.macros: - enable = False - iftrigger = False - else: - iftrigger = True - elif name == 'if': - ifstack.append((enable,iftrigger)) - if enable: - result = self.evalexpr(args) - if not result: - enable = False - iftrigger = False - else: - iftrigger = True - elif name == 'elif': - if ifstack: - if ifstack[-1][0]: # We only pay attention if outer "if" allows this - if enable: # If already true, we flip enable False - enable = False - elif not iftrigger: # If False, but not triggered yet, we'll check expression - result = self.evalexpr(args) - if result: - enable = True - iftrigger = True - else: - self.error(self.source,dirtokens[0].lineno,"Misplaced #elif") - - elif name == 'else': - if ifstack: - if ifstack[-1][0]: - if enable: - enable = False - elif not iftrigger: - enable = True - iftrigger = True - else: - self.error(self.source,dirtokens[0].lineno,"Misplaced #else") - - elif name == 'endif': - if ifstack: - enable,iftrigger = ifstack.pop() - else: - self.error(self.source,dirtokens[0].lineno,"Misplaced #endif") - else: - # Unknown preprocessor directive - pass - - else: - # Normal text - if enable: - chunk.extend(x) - - for tok in self.expand_macros(chunk): - yield tok - chunk = [] - - # ---------------------------------------------------------------------- - # include() - # - # Implementation of file-inclusion - # ---------------------------------------------------------------------- - - def include(self,tokens): - # Try to extract the filename and then process an include file - if not tokens: - return - if tokens: - if tokens[0].value != '<' and tokens[0].type != self.t_STRING: - tokens = self.expand_macros(tokens) - - if tokens[0].value == '<': - # Include <...> - i = 1 - while i < len(tokens): - if tokens[i].value == '>': - break - i += 1 - else: - print("Malformed #include <...>") - return - filename = "".join([x.value for x in tokens[1:i]]) - path = self.path + [""] + self.temp_path - elif tokens[0].type == self.t_STRING: - filename = tokens[0].value[1:-1] - path = self.temp_path + [""] + self.path - else: - print("Malformed #include statement") - return - for p in path: - iname = os.path.join(p,filename) - try: - data = open(iname,"r").read() - dname = os.path.dirname(iname) - if dname: - self.temp_path.insert(0,dname) - for tok in self.parsegen(data,filename): - yield tok - if dname: - del self.temp_path[0] - break - except IOError: - pass - else: - print("Couldn't find '%s'" % filename) - - # ---------------------------------------------------------------------- - # define() - # - # Define a new macro - # ---------------------------------------------------------------------- - - def define(self,tokens): - if isinstance(tokens,STRING_TYPES): - tokens = self.tokenize(tokens) - - linetok = tokens - try: - name = linetok[0] - if len(linetok) > 1: - mtype = linetok[1] - else: - mtype = None - if not mtype: - m = Macro(name.value,[]) - self.macros[name.value] = m - elif mtype.type in self.t_WS: - # A normal macro - m = Macro(name.value,self.tokenstrip(linetok[2:])) - self.macros[name.value] = m - elif mtype.value == '(': - # A macro with arguments - tokcount, args, positions = self.collect_args(linetok[1:]) - variadic = False - for a in args: - if variadic: - print("No more arguments may follow a variadic argument") - break - astr = "".join([str(_i.value) for _i in a]) - if astr == "...": - variadic = True - a[0].type = self.t_ID - a[0].value = '__VA_ARGS__' - variadic = True - del a[1:] - continue - elif astr[-3:] == "..." and a[0].type == self.t_ID: - variadic = True - del a[1:] - # If, for some reason, "." is part of the identifier, strip off the name for the purposes - # of macro expansion - if a[0].value[-3:] == '...': - a[0].value = a[0].value[:-3] - continue - if len(a) > 1 or a[0].type != self.t_ID: - print("Invalid macro argument") - break - else: - mvalue = self.tokenstrip(linetok[1+tokcount:]) - i = 0 - while i < len(mvalue): - if i+1 < len(mvalue): - if mvalue[i].type in self.t_WS and mvalue[i+1].value == '##': - del mvalue[i] - continue - elif mvalue[i].value == '##' and mvalue[i+1].type in self.t_WS: - del mvalue[i+1] - i += 1 - m = Macro(name.value,mvalue,[x[0].value for x in args],variadic) - self.macro_prescan(m) - self.macros[name.value] = m - else: - print("Bad macro definition") - except LookupError: - print("Bad macro definition") - - # ---------------------------------------------------------------------- - # undef() - # - # Undefine a macro - # ---------------------------------------------------------------------- - - def undef(self,tokens): - id = tokens[0].value - try: - del self.macros[id] - except LookupError: - pass - - # ---------------------------------------------------------------------- - # parse() - # - # Parse input text. - # ---------------------------------------------------------------------- - def parse(self,input,source=None,ignore={}): - self.ignore = ignore - self.parser = self.parsegen(input,source) - - # ---------------------------------------------------------------------- - # token() - # - # Method to return individual tokens - # ---------------------------------------------------------------------- - def token(self): - try: - while True: - tok = next(self.parser) - if tok.type not in self.ignore: return tok - except StopIteration: - self.parser = None - return None - -if __name__ == '__main__': - import ply.lex as lex - lexer = lex.lex() - - # Run a preprocessor - import sys - f = open(sys.argv[1]) - input = f.read() - - p = Preprocessor(lexer) - p.parse(input,sys.argv[1]) - while True: - tok = p.token() - if not tok: break - print(p.source, tok) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ctokens.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ctokens.py deleted file mode 100644 index f6f6952d..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ctokens.py +++ /dev/null @@ -1,133 +0,0 @@ -# ---------------------------------------------------------------------- -# ctokens.py -# -# Token specifications for symbols in ANSI C and C++. This file is -# meant to be used as a library in other tokenizers. -# ---------------------------------------------------------------------- - -# Reserved words - -tokens = [ - # Literals (identifier, integer constant, float constant, string constant, char const) - 'ID', 'TYPEID', 'INTEGER', 'FLOAT', 'STRING', 'CHARACTER', - - # Operators (+,-,*,/,%,|,&,~,^,<<,>>, ||, &&, !, <, <=, >, >=, ==, !=) - 'PLUS', 'MINUS', 'TIMES', 'DIVIDE', 'MODULO', - 'OR', 'AND', 'NOT', 'XOR', 'LSHIFT', 'RSHIFT', - 'LOR', 'LAND', 'LNOT', - 'LT', 'LE', 'GT', 'GE', 'EQ', 'NE', - - # Assignment (=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=) - 'EQUALS', 'TIMESEQUAL', 'DIVEQUAL', 'MODEQUAL', 'PLUSEQUAL', 'MINUSEQUAL', - 'LSHIFTEQUAL','RSHIFTEQUAL', 'ANDEQUAL', 'XOREQUAL', 'OREQUAL', - - # Increment/decrement (++,--) - 'INCREMENT', 'DECREMENT', - - # Structure dereference (->) - 'ARROW', - - # Ternary operator (?) - 'TERNARY', - - # Delimeters ( ) [ ] { } , . ; : - 'LPAREN', 'RPAREN', - 'LBRACKET', 'RBRACKET', - 'LBRACE', 'RBRACE', - 'COMMA', 'PERIOD', 'SEMI', 'COLON', - - # Ellipsis (...) - 'ELLIPSIS', -] - -# Operators -t_PLUS = r'\+' -t_MINUS = r'-' -t_TIMES = r'\*' -t_DIVIDE = r'/' -t_MODULO = r'%' -t_OR = r'\|' -t_AND = r'&' -t_NOT = r'~' -t_XOR = r'\^' -t_LSHIFT = r'<<' -t_RSHIFT = r'>>' -t_LOR = r'\|\|' -t_LAND = r'&&' -t_LNOT = r'!' -t_LT = r'<' -t_GT = r'>' -t_LE = r'<=' -t_GE = r'>=' -t_EQ = r'==' -t_NE = r'!=' - -# Assignment operators - -t_EQUALS = r'=' -t_TIMESEQUAL = r'\*=' -t_DIVEQUAL = r'/=' -t_MODEQUAL = r'%=' -t_PLUSEQUAL = r'\+=' -t_MINUSEQUAL = r'-=' -t_LSHIFTEQUAL = r'<<=' -t_RSHIFTEQUAL = r'>>=' -t_ANDEQUAL = r'&=' -t_OREQUAL = r'\|=' -t_XOREQUAL = r'\^=' - -# Increment/decrement -t_INCREMENT = r'\+\+' -t_DECREMENT = r'--' - -# -> -t_ARROW = r'->' - -# ? -t_TERNARY = r'\?' - -# Delimeters -t_LPAREN = r'\(' -t_RPAREN = r'\)' -t_LBRACKET = r'\[' -t_RBRACKET = r'\]' -t_LBRACE = r'\{' -t_RBRACE = r'\}' -t_COMMA = r',' -t_PERIOD = r'\.' -t_SEMI = r';' -t_COLON = r':' -t_ELLIPSIS = r'\.\.\.' - -# Identifiers -t_ID = r'[A-Za-z_][A-Za-z0-9_]*' - -# Integer literal -t_INTEGER = r'\d+([uU]|[lL]|[uU][lL]|[lL][uU])?' - -# Floating literal -t_FLOAT = r'((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?' - -# String literal -t_STRING = r'\"([^\\\n]|(\\.))*?\"' - -# Character constant 'c' or L'c' -t_CHARACTER = r'(L)?\'([^\\\n]|(\\.))*?\'' - -# Comment (C-Style) -def t_COMMENT(t): - r'/\*(.|\n)*?\*/' - t.lexer.lineno += t.value.count('\n') - return t - -# Comment (C++-Style) -def t_CPPCOMMENT(t): - r'//.*\n' - t.lexer.lineno += 1 - return t - - - - - - diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/lex.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/lex.py deleted file mode 100644 index 4bdd76ca..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/lex.py +++ /dev/null @@ -1,1099 +0,0 @@ -# ----------------------------------------------------------------------------- -# ply: lex.py -# -# Copyright (C) 2001-2017 -# David M. Beazley (Dabeaz LLC) -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# * Neither the name of the David Beazley or Dabeaz LLC may be used to -# endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ----------------------------------------------------------------------------- - -__version__ = '3.10' -__tabversion__ = '3.10' - -import re -import sys -import types -import copy -import os -import inspect - -# This tuple contains known string types -try: - # Python 2.6 - StringTypes = (types.StringType, types.UnicodeType) -except AttributeError: - # Python 3.0 - StringTypes = (str, bytes) - -# This regular expression is used to match valid token names -_is_identifier = re.compile(r'^[a-zA-Z0-9_]+$') - -# Exception thrown when invalid token encountered and no default error -# handler is defined. -class LexError(Exception): - def __init__(self, message, s): - self.args = (message,) - self.text = s - - -# Token class. This class is used to represent the tokens produced. -class LexToken(object): - def __str__(self): - return 'LexToken(%s,%r,%d,%d)' % (self.type, self.value, self.lineno, self.lexpos) - - def __repr__(self): - return str(self) - - -# This object is a stand-in for a logging object created by the -# logging module. - -class PlyLogger(object): - def __init__(self, f): - self.f = f - - def critical(self, msg, *args, **kwargs): - self.f.write((msg % args) + '\n') - - def warning(self, msg, *args, **kwargs): - self.f.write('WARNING: ' + (msg % args) + '\n') - - def error(self, msg, *args, **kwargs): - self.f.write('ERROR: ' + (msg % args) + '\n') - - info = critical - debug = critical - - -# Null logger is used when no output is generated. Does nothing. -class NullLogger(object): - def __getattribute__(self, name): - return self - - def __call__(self, *args, **kwargs): - return self - - -# ----------------------------------------------------------------------------- -# === Lexing Engine === -# -# The following Lexer class implements the lexer runtime. There are only -# a few public methods and attributes: -# -# input() - Store a new string in the lexer -# token() - Get the next token -# clone() - Clone the lexer -# -# lineno - Current line number -# lexpos - Current position in the input string -# ----------------------------------------------------------------------------- - -class Lexer: - def __init__(self): - self.lexre = None # Master regular expression. This is a list of - # tuples (re, findex) where re is a compiled - # regular expression and findex is a list - # mapping regex group numbers to rules - self.lexretext = None # Current regular expression strings - self.lexstatere = {} # Dictionary mapping lexer states to master regexs - self.lexstateretext = {} # Dictionary mapping lexer states to regex strings - self.lexstaterenames = {} # Dictionary mapping lexer states to symbol names - self.lexstate = 'INITIAL' # Current lexer state - self.lexstatestack = [] # Stack of lexer states - self.lexstateinfo = None # State information - self.lexstateignore = {} # Dictionary of ignored characters for each state - self.lexstateerrorf = {} # Dictionary of error functions for each state - self.lexstateeoff = {} # Dictionary of eof functions for each state - self.lexreflags = 0 # Optional re compile flags - self.lexdata = None # Actual input data (as a string) - self.lexpos = 0 # Current position in input text - self.lexlen = 0 # Length of the input text - self.lexerrorf = None # Error rule (if any) - self.lexeoff = None # EOF rule (if any) - self.lextokens = None # List of valid tokens - self.lexignore = '' # Ignored characters - self.lexliterals = '' # Literal characters that can be passed through - self.lexmodule = None # Module - self.lineno = 1 # Current line number - self.lexoptimize = False # Optimized mode - - def clone(self, object=None): - c = copy.copy(self) - - # If the object parameter has been supplied, it means we are attaching the - # lexer to a new object. In this case, we have to rebind all methods in - # the lexstatere and lexstateerrorf tables. - - if object: - newtab = {} - for key, ritem in self.lexstatere.items(): - newre = [] - for cre, findex in ritem: - newfindex = [] - for f in findex: - if not f or not f[0]: - newfindex.append(f) - continue - newfindex.append((getattr(object, f[0].__name__), f[1])) - newre.append((cre, newfindex)) - newtab[key] = newre - c.lexstatere = newtab - c.lexstateerrorf = {} - for key, ef in self.lexstateerrorf.items(): - c.lexstateerrorf[key] = getattr(object, ef.__name__) - c.lexmodule = object - return c - - # ------------------------------------------------------------ - # writetab() - Write lexer information to a table file - # ------------------------------------------------------------ - def writetab(self, lextab, outputdir=''): - if isinstance(lextab, types.ModuleType): - raise IOError("Won't overwrite existing lextab module") - basetabmodule = lextab.split('.')[-1] - filename = os.path.join(outputdir, basetabmodule) + '.py' - with open(filename, 'w') as tf: - tf.write('# %s.py. This file automatically created by PLY (version %s). Don\'t edit!\n' % (basetabmodule, __version__)) - tf.write('_tabversion = %s\n' % repr(__tabversion__)) - tf.write('_lextokens = set(%s)\n' % repr(tuple(self.lextokens))) - tf.write('_lexreflags = %s\n' % repr(self.lexreflags)) - tf.write('_lexliterals = %s\n' % repr(self.lexliterals)) - tf.write('_lexstateinfo = %s\n' % repr(self.lexstateinfo)) - - # Rewrite the lexstatere table, replacing function objects with function names - tabre = {} - for statename, lre in self.lexstatere.items(): - titem = [] - for (pat, func), retext, renames in zip(lre, self.lexstateretext[statename], self.lexstaterenames[statename]): - titem.append((retext, _funcs_to_names(func, renames))) - tabre[statename] = titem - - tf.write('_lexstatere = %s\n' % repr(tabre)) - tf.write('_lexstateignore = %s\n' % repr(self.lexstateignore)) - - taberr = {} - for statename, ef in self.lexstateerrorf.items(): - taberr[statename] = ef.__name__ if ef else None - tf.write('_lexstateerrorf = %s\n' % repr(taberr)) - - tabeof = {} - for statename, ef in self.lexstateeoff.items(): - tabeof[statename] = ef.__name__ if ef else None - tf.write('_lexstateeoff = %s\n' % repr(tabeof)) - - # ------------------------------------------------------------ - # readtab() - Read lexer information from a tab file - # ------------------------------------------------------------ - def readtab(self, tabfile, fdict): - if isinstance(tabfile, types.ModuleType): - lextab = tabfile - else: - exec('import %s' % tabfile) - lextab = sys.modules[tabfile] - - if getattr(lextab, '_tabversion', '0.0') != __tabversion__: - raise ImportError('Inconsistent PLY version') - - self.lextokens = lextab._lextokens - self.lexreflags = lextab._lexreflags - self.lexliterals = lextab._lexliterals - self.lextokens_all = self.lextokens | set(self.lexliterals) - self.lexstateinfo = lextab._lexstateinfo - self.lexstateignore = lextab._lexstateignore - self.lexstatere = {} - self.lexstateretext = {} - for statename, lre in lextab._lexstatere.items(): - titem = [] - txtitem = [] - for pat, func_name in lre: - titem.append((re.compile(pat, lextab._lexreflags), _names_to_funcs(func_name, fdict))) - - self.lexstatere[statename] = titem - self.lexstateretext[statename] = txtitem - - self.lexstateerrorf = {} - for statename, ef in lextab._lexstateerrorf.items(): - self.lexstateerrorf[statename] = fdict[ef] - - self.lexstateeoff = {} - for statename, ef in lextab._lexstateeoff.items(): - self.lexstateeoff[statename] = fdict[ef] - - self.begin('INITIAL') - - # ------------------------------------------------------------ - # input() - Push a new string into the lexer - # ------------------------------------------------------------ - def input(self, s): - # Pull off the first character to see if s looks like a string - c = s[:1] - if not isinstance(c, StringTypes): - raise ValueError('Expected a string') - self.lexdata = s - self.lexpos = 0 - self.lexlen = len(s) - - # ------------------------------------------------------------ - # begin() - Changes the lexing state - # ------------------------------------------------------------ - def begin(self, state): - if state not in self.lexstatere: - raise ValueError('Undefined state') - self.lexre = self.lexstatere[state] - self.lexretext = self.lexstateretext[state] - self.lexignore = self.lexstateignore.get(state, '') - self.lexerrorf = self.lexstateerrorf.get(state, None) - self.lexeoff = self.lexstateeoff.get(state, None) - self.lexstate = state - - # ------------------------------------------------------------ - # push_state() - Changes the lexing state and saves old on stack - # ------------------------------------------------------------ - def push_state(self, state): - self.lexstatestack.append(self.lexstate) - self.begin(state) - - # ------------------------------------------------------------ - # pop_state() - Restores the previous state - # ------------------------------------------------------------ - def pop_state(self): - self.begin(self.lexstatestack.pop()) - - # ------------------------------------------------------------ - # current_state() - Returns the current lexing state - # ------------------------------------------------------------ - def current_state(self): - return self.lexstate - - # ------------------------------------------------------------ - # skip() - Skip ahead n characters - # ------------------------------------------------------------ - def skip(self, n): - self.lexpos += n - - # ------------------------------------------------------------ - # opttoken() - Return the next token from the Lexer - # - # Note: This function has been carefully implemented to be as fast - # as possible. Don't make changes unless you really know what - # you are doing - # ------------------------------------------------------------ - def token(self): - # Make local copies of frequently referenced attributes - lexpos = self.lexpos - lexlen = self.lexlen - lexignore = self.lexignore - lexdata = self.lexdata - - while lexpos < lexlen: - # This code provides some short-circuit code for whitespace, tabs, and other ignored characters - if lexdata[lexpos] in lexignore: - lexpos += 1 - continue - - # Look for a regular expression match - for lexre, lexindexfunc in self.lexre: - m = lexre.match(lexdata, lexpos) - if not m: - continue - - # Create a token for return - tok = LexToken() - tok.value = m.group() - tok.lineno = self.lineno - tok.lexpos = lexpos - - i = m.lastindex - func, tok.type = lexindexfunc[i] - - if not func: - # If no token type was set, it's an ignored token - if tok.type: - self.lexpos = m.end() - return tok - else: - lexpos = m.end() - break - - lexpos = m.end() - - # If token is processed by a function, call it - - tok.lexer = self # Set additional attributes useful in token rules - self.lexmatch = m - self.lexpos = lexpos - - newtok = func(tok) - - # Every function must return a token, if nothing, we just move to next token - if not newtok: - lexpos = self.lexpos # This is here in case user has updated lexpos. - lexignore = self.lexignore # This is here in case there was a state change - break - - # Verify type of the token. If not in the token map, raise an error - if not self.lexoptimize: - if newtok.type not in self.lextokens_all: - raise LexError("%s:%d: Rule '%s' returned an unknown token type '%s'" % ( - func.__code__.co_filename, func.__code__.co_firstlineno, - func.__name__, newtok.type), lexdata[lexpos:]) - - return newtok - else: - # No match, see if in literals - if lexdata[lexpos] in self.lexliterals: - tok = LexToken() - tok.value = lexdata[lexpos] - tok.lineno = self.lineno - tok.type = tok.value - tok.lexpos = lexpos - self.lexpos = lexpos + 1 - return tok - - # No match. Call t_error() if defined. - if self.lexerrorf: - tok = LexToken() - tok.value = self.lexdata[lexpos:] - tok.lineno = self.lineno - tok.type = 'error' - tok.lexer = self - tok.lexpos = lexpos - self.lexpos = lexpos - newtok = self.lexerrorf(tok) - if lexpos == self.lexpos: - # Error method didn't change text position at all. This is an error. - raise LexError("Scanning error. Illegal character '%s'" % (lexdata[lexpos]), lexdata[lexpos:]) - lexpos = self.lexpos - if not newtok: - continue - return newtok - - self.lexpos = lexpos - raise LexError("Illegal character '%s' at index %d" % (lexdata[lexpos], lexpos), lexdata[lexpos:]) - - if self.lexeoff: - tok = LexToken() - tok.type = 'eof' - tok.value = '' - tok.lineno = self.lineno - tok.lexpos = lexpos - tok.lexer = self - self.lexpos = lexpos - newtok = self.lexeoff(tok) - return newtok - - self.lexpos = lexpos + 1 - if self.lexdata is None: - raise RuntimeError('No input string given with input()') - return None - - # Iterator interface - def __iter__(self): - return self - - def next(self): - t = self.token() - if t is None: - raise StopIteration - return t - - __next__ = next - -# ----------------------------------------------------------------------------- -# ==== Lex Builder === -# -# The functions and classes below are used to collect lexing information -# and build a Lexer object from it. -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# _get_regex(func) -# -# Returns the regular expression assigned to a function either as a doc string -# or as a .regex attribute attached by the @TOKEN decorator. -# ----------------------------------------------------------------------------- -def _get_regex(func): - return getattr(func, 'regex', func.__doc__) - -# ----------------------------------------------------------------------------- -# get_caller_module_dict() -# -# This function returns a dictionary containing all of the symbols defined within -# a caller further down the call stack. This is used to get the environment -# associated with the yacc() call if none was provided. -# ----------------------------------------------------------------------------- -def get_caller_module_dict(levels): - f = sys._getframe(levels) - ldict = f.f_globals.copy() - if f.f_globals != f.f_locals: - ldict.update(f.f_locals) - return ldict - -# ----------------------------------------------------------------------------- -# _funcs_to_names() -# -# Given a list of regular expression functions, this converts it to a list -# suitable for output to a table file -# ----------------------------------------------------------------------------- -def _funcs_to_names(funclist, namelist): - result = [] - for f, name in zip(funclist, namelist): - if f and f[0]: - result.append((name, f[1])) - else: - result.append(f) - return result - -# ----------------------------------------------------------------------------- -# _names_to_funcs() -# -# Given a list of regular expression function names, this converts it back to -# functions. -# ----------------------------------------------------------------------------- -def _names_to_funcs(namelist, fdict): - result = [] - for n in namelist: - if n and n[0]: - result.append((fdict[n[0]], n[1])) - else: - result.append(n) - return result - -# ----------------------------------------------------------------------------- -# _form_master_re() -# -# This function takes a list of all of the regex components and attempts to -# form the master regular expression. Given limitations in the Python re -# module, it may be necessary to break the master regex into separate expressions. -# ----------------------------------------------------------------------------- -def _form_master_re(relist, reflags, ldict, toknames): - if not relist: - return [] - regex = '|'.join(relist) - try: - lexre = re.compile(regex, reflags) - - # Build the index to function map for the matching engine - lexindexfunc = [None] * (max(lexre.groupindex.values()) + 1) - lexindexnames = lexindexfunc[:] - - for f, i in lexre.groupindex.items(): - handle = ldict.get(f, None) - if type(handle) in (types.FunctionType, types.MethodType): - lexindexfunc[i] = (handle, toknames[f]) - lexindexnames[i] = f - elif handle is not None: - lexindexnames[i] = f - if f.find('ignore_') > 0: - lexindexfunc[i] = (None, None) - else: - lexindexfunc[i] = (None, toknames[f]) - - return [(lexre, lexindexfunc)], [regex], [lexindexnames] - except Exception: - m = int(len(relist)/2) - if m == 0: - m = 1 - llist, lre, lnames = _form_master_re(relist[:m], reflags, ldict, toknames) - rlist, rre, rnames = _form_master_re(relist[m:], reflags, ldict, toknames) - return (llist+rlist), (lre+rre), (lnames+rnames) - -# ----------------------------------------------------------------------------- -# def _statetoken(s,names) -# -# Given a declaration name s of the form "t_" and a dictionary whose keys are -# state names, this function returns a tuple (states,tokenname) where states -# is a tuple of state names and tokenname is the name of the token. For example, -# calling this with s = "t_foo_bar_SPAM" might return (('foo','bar'),'SPAM') -# ----------------------------------------------------------------------------- -def _statetoken(s, names): - nonstate = 1 - parts = s.split('_') - for i, part in enumerate(parts[1:], 1): - if part not in names and part != 'ANY': - break - - if i > 1: - states = tuple(parts[1:i]) - else: - states = ('INITIAL',) - - if 'ANY' in states: - states = tuple(names) - - tokenname = '_'.join(parts[i:]) - return (states, tokenname) - - -# ----------------------------------------------------------------------------- -# LexerReflect() -# -# This class represents information needed to build a lexer as extracted from a -# user's input file. -# ----------------------------------------------------------------------------- -class LexerReflect(object): - def __init__(self, ldict, log=None, reflags=0): - self.ldict = ldict - self.error_func = None - self.tokens = [] - self.reflags = reflags - self.stateinfo = {'INITIAL': 'inclusive'} - self.modules = set() - self.error = False - self.log = PlyLogger(sys.stderr) if log is None else log - - # Get all of the basic information - def get_all(self): - self.get_tokens() - self.get_literals() - self.get_states() - self.get_rules() - - # Validate all of the information - def validate_all(self): - self.validate_tokens() - self.validate_literals() - self.validate_rules() - return self.error - - # Get the tokens map - def get_tokens(self): - tokens = self.ldict.get('tokens', None) - if not tokens: - self.log.error('No token list is defined') - self.error = True - return - - if not isinstance(tokens, (list, tuple)): - self.log.error('tokens must be a list or tuple') - self.error = True - return - - if not tokens: - self.log.error('tokens is empty') - self.error = True - return - - self.tokens = tokens - - # Validate the tokens - def validate_tokens(self): - terminals = {} - for n in self.tokens: - if not _is_identifier.match(n): - self.log.error("Bad token name '%s'", n) - self.error = True - if n in terminals: - self.log.warning("Token '%s' multiply defined", n) - terminals[n] = 1 - - # Get the literals specifier - def get_literals(self): - self.literals = self.ldict.get('literals', '') - if not self.literals: - self.literals = '' - - # Validate literals - def validate_literals(self): - try: - for c in self.literals: - if not isinstance(c, StringTypes) or len(c) > 1: - self.log.error('Invalid literal %s. Must be a single character', repr(c)) - self.error = True - - except TypeError: - self.log.error('Invalid literals specification. literals must be a sequence of characters') - self.error = True - - def get_states(self): - self.states = self.ldict.get('states', None) - # Build statemap - if self.states: - if not isinstance(self.states, (tuple, list)): - self.log.error('states must be defined as a tuple or list') - self.error = True - else: - for s in self.states: - if not isinstance(s, tuple) or len(s) != 2: - self.log.error("Invalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')", repr(s)) - self.error = True - continue - name, statetype = s - if not isinstance(name, StringTypes): - self.log.error('State name %s must be a string', repr(name)) - self.error = True - continue - if not (statetype == 'inclusive' or statetype == 'exclusive'): - self.log.error("State type for state %s must be 'inclusive' or 'exclusive'", name) - self.error = True - continue - if name in self.stateinfo: - self.log.error("State '%s' already defined", name) - self.error = True - continue - self.stateinfo[name] = statetype - - # Get all of the symbols with a t_ prefix and sort them into various - # categories (functions, strings, error functions, and ignore characters) - - def get_rules(self): - tsymbols = [f for f in self.ldict if f[:2] == 't_'] - - # Now build up a list of functions and a list of strings - self.toknames = {} # Mapping of symbols to token names - self.funcsym = {} # Symbols defined as functions - self.strsym = {} # Symbols defined as strings - self.ignore = {} # Ignore strings by state - self.errorf = {} # Error functions by state - self.eoff = {} # EOF functions by state - - for s in self.stateinfo: - self.funcsym[s] = [] - self.strsym[s] = [] - - if len(tsymbols) == 0: - self.log.error('No rules of the form t_rulename are defined') - self.error = True - return - - for f in tsymbols: - t = self.ldict[f] - states, tokname = _statetoken(f, self.stateinfo) - self.toknames[f] = tokname - - if hasattr(t, '__call__'): - if tokname == 'error': - for s in states: - self.errorf[s] = t - elif tokname == 'eof': - for s in states: - self.eoff[s] = t - elif tokname == 'ignore': - line = t.__code__.co_firstlineno - file = t.__code__.co_filename - self.log.error("%s:%d: Rule '%s' must be defined as a string", file, line, t.__name__) - self.error = True - else: - for s in states: - self.funcsym[s].append((f, t)) - elif isinstance(t, StringTypes): - if tokname == 'ignore': - for s in states: - self.ignore[s] = t - if '\\' in t: - self.log.warning("%s contains a literal backslash '\\'", f) - - elif tokname == 'error': - self.log.error("Rule '%s' must be defined as a function", f) - self.error = True - else: - for s in states: - self.strsym[s].append((f, t)) - else: - self.log.error('%s not defined as a function or string', f) - self.error = True - - # Sort the functions by line number - for f in self.funcsym.values(): - f.sort(key=lambda x: x[1].__code__.co_firstlineno) - - # Sort the strings by regular expression length - for s in self.strsym.values(): - s.sort(key=lambda x: len(x[1]), reverse=True) - - # Validate all of the t_rules collected - def validate_rules(self): - for state in self.stateinfo: - # Validate all rules defined by functions - - for fname, f in self.funcsym[state]: - line = f.__code__.co_firstlineno - file = f.__code__.co_filename - module = inspect.getmodule(f) - self.modules.add(module) - - tokname = self.toknames[fname] - if isinstance(f, types.MethodType): - reqargs = 2 - else: - reqargs = 1 - nargs = f.__code__.co_argcount - if nargs > reqargs: - self.log.error("%s:%d: Rule '%s' has too many arguments", file, line, f.__name__) - self.error = True - continue - - if nargs < reqargs: - self.log.error("%s:%d: Rule '%s' requires an argument", file, line, f.__name__) - self.error = True - continue - - if not _get_regex(f): - self.log.error("%s:%d: No regular expression defined for rule '%s'", file, line, f.__name__) - self.error = True - continue - - try: - c = re.compile('(?P<%s>%s)' % (fname, _get_regex(f)), self.reflags) - if c.match(''): - self.log.error("%s:%d: Regular expression for rule '%s' matches empty string", file, line, f.__name__) - self.error = True - except re.error as e: - self.log.error("%s:%d: Invalid regular expression for rule '%s'. %s", file, line, f.__name__, e) - if '#' in _get_regex(f): - self.log.error("%s:%d. Make sure '#' in rule '%s' is escaped with '\\#'", file, line, f.__name__) - self.error = True - - # Validate all rules defined by strings - for name, r in self.strsym[state]: - tokname = self.toknames[name] - if tokname == 'error': - self.log.error("Rule '%s' must be defined as a function", name) - self.error = True - continue - - if tokname not in self.tokens and tokname.find('ignore_') < 0: - self.log.error("Rule '%s' defined for an unspecified token %s", name, tokname) - self.error = True - continue - - try: - c = re.compile('(?P<%s>%s)' % (name, r), self.reflags) - if (c.match('')): - self.log.error("Regular expression for rule '%s' matches empty string", name) - self.error = True - except re.error as e: - self.log.error("Invalid regular expression for rule '%s'. %s", name, e) - if '#' in r: - self.log.error("Make sure '#' in rule '%s' is escaped with '\\#'", name) - self.error = True - - if not self.funcsym[state] and not self.strsym[state]: - self.log.error("No rules defined for state '%s'", state) - self.error = True - - # Validate the error function - efunc = self.errorf.get(state, None) - if efunc: - f = efunc - line = f.__code__.co_firstlineno - file = f.__code__.co_filename - module = inspect.getmodule(f) - self.modules.add(module) - - if isinstance(f, types.MethodType): - reqargs = 2 - else: - reqargs = 1 - nargs = f.__code__.co_argcount - if nargs > reqargs: - self.log.error("%s:%d: Rule '%s' has too many arguments", file, line, f.__name__) - self.error = True - - if nargs < reqargs: - self.log.error("%s:%d: Rule '%s' requires an argument", file, line, f.__name__) - self.error = True - - for module in self.modules: - self.validate_module(module) - - # ----------------------------------------------------------------------------- - # validate_module() - # - # This checks to see if there are duplicated t_rulename() functions or strings - # in the parser input file. This is done using a simple regular expression - # match on each line in the source code of the given module. - # ----------------------------------------------------------------------------- - - def validate_module(self, module): - try: - lines, linen = inspect.getsourcelines(module) - except IOError: - return - - fre = re.compile(r'\s*def\s+(t_[a-zA-Z_0-9]*)\(') - sre = re.compile(r'\s*(t_[a-zA-Z_0-9]*)\s*=') - - counthash = {} - linen += 1 - for line in lines: - m = fre.match(line) - if not m: - m = sre.match(line) - if m: - name = m.group(1) - prev = counthash.get(name) - if not prev: - counthash[name] = linen - else: - filename = inspect.getsourcefile(module) - self.log.error('%s:%d: Rule %s redefined. Previously defined on line %d', filename, linen, name, prev) - self.error = True - linen += 1 - -# ----------------------------------------------------------------------------- -# lex(module) -# -# Build all of the regular expression rules from definitions in the supplied module -# ----------------------------------------------------------------------------- -def lex(module=None, object=None, debug=False, optimize=False, lextab='lextab', - reflags=int(re.VERBOSE), nowarn=False, outputdir=None, debuglog=None, errorlog=None): - - if lextab is None: - lextab = 'lextab' - - global lexer - - ldict = None - stateinfo = {'INITIAL': 'inclusive'} - lexobj = Lexer() - lexobj.lexoptimize = optimize - global token, input - - if errorlog is None: - errorlog = PlyLogger(sys.stderr) - - if debug: - if debuglog is None: - debuglog = PlyLogger(sys.stderr) - - # Get the module dictionary used for the lexer - if object: - module = object - - # Get the module dictionary used for the parser - if module: - _items = [(k, getattr(module, k)) for k in dir(module)] - ldict = dict(_items) - # If no __file__ attribute is available, try to obtain it from the __module__ instead - if '__file__' not in ldict: - ldict['__file__'] = sys.modules[ldict['__module__']].__file__ - else: - ldict = get_caller_module_dict(2) - - # Determine if the module is package of a package or not. - # If so, fix the tabmodule setting so that tables load correctly - pkg = ldict.get('__package__') - if pkg and isinstance(lextab, str): - if '.' not in lextab: - lextab = pkg + '.' + lextab - - # Collect parser information from the dictionary - linfo = LexerReflect(ldict, log=errorlog, reflags=reflags) - linfo.get_all() - if not optimize: - if linfo.validate_all(): - raise SyntaxError("Can't build lexer") - - if optimize and lextab: - try: - lexobj.readtab(lextab, ldict) - token = lexobj.token - input = lexobj.input - lexer = lexobj - return lexobj - - except ImportError: - pass - - # Dump some basic debugging information - if debug: - debuglog.info('lex: tokens = %r', linfo.tokens) - debuglog.info('lex: literals = %r', linfo.literals) - debuglog.info('lex: states = %r', linfo.stateinfo) - - # Build a dictionary of valid token names - lexobj.lextokens = set() - for n in linfo.tokens: - lexobj.lextokens.add(n) - - # Get literals specification - if isinstance(linfo.literals, (list, tuple)): - lexobj.lexliterals = type(linfo.literals[0])().join(linfo.literals) - else: - lexobj.lexliterals = linfo.literals - - lexobj.lextokens_all = lexobj.lextokens | set(lexobj.lexliterals) - - # Get the stateinfo dictionary - stateinfo = linfo.stateinfo - - regexs = {} - # Build the master regular expressions - for state in stateinfo: - regex_list = [] - - # Add rules defined by functions first - for fname, f in linfo.funcsym[state]: - line = f.__code__.co_firstlineno - file = f.__code__.co_filename - regex_list.append('(?P<%s>%s)' % (fname, _get_regex(f))) - if debug: - debuglog.info("lex: Adding rule %s -> '%s' (state '%s')", fname, _get_regex(f), state) - - # Now add all of the simple rules - for name, r in linfo.strsym[state]: - regex_list.append('(?P<%s>%s)' % (name, r)) - if debug: - debuglog.info("lex: Adding rule %s -> '%s' (state '%s')", name, r, state) - - regexs[state] = regex_list - - # Build the master regular expressions - - if debug: - debuglog.info('lex: ==== MASTER REGEXS FOLLOW ====') - - for state in regexs: - lexre, re_text, re_names = _form_master_re(regexs[state], reflags, ldict, linfo.toknames) - lexobj.lexstatere[state] = lexre - lexobj.lexstateretext[state] = re_text - lexobj.lexstaterenames[state] = re_names - if debug: - for i, text in enumerate(re_text): - debuglog.info("lex: state '%s' : regex[%d] = '%s'", state, i, text) - - # For inclusive states, we need to add the regular expressions from the INITIAL state - for state, stype in stateinfo.items(): - if state != 'INITIAL' and stype == 'inclusive': - lexobj.lexstatere[state].extend(lexobj.lexstatere['INITIAL']) - lexobj.lexstateretext[state].extend(lexobj.lexstateretext['INITIAL']) - lexobj.lexstaterenames[state].extend(lexobj.lexstaterenames['INITIAL']) - - lexobj.lexstateinfo = stateinfo - lexobj.lexre = lexobj.lexstatere['INITIAL'] - lexobj.lexretext = lexobj.lexstateretext['INITIAL'] - lexobj.lexreflags = reflags - - # Set up ignore variables - lexobj.lexstateignore = linfo.ignore - lexobj.lexignore = lexobj.lexstateignore.get('INITIAL', '') - - # Set up error functions - lexobj.lexstateerrorf = linfo.errorf - lexobj.lexerrorf = linfo.errorf.get('INITIAL', None) - if not lexobj.lexerrorf: - errorlog.warning('No t_error rule is defined') - - # Set up eof functions - lexobj.lexstateeoff = linfo.eoff - lexobj.lexeoff = linfo.eoff.get('INITIAL', None) - - # Check state information for ignore and error rules - for s, stype in stateinfo.items(): - if stype == 'exclusive': - if s not in linfo.errorf: - errorlog.warning("No error rule is defined for exclusive state '%s'", s) - if s not in linfo.ignore and lexobj.lexignore: - errorlog.warning("No ignore rule is defined for exclusive state '%s'", s) - elif stype == 'inclusive': - if s not in linfo.errorf: - linfo.errorf[s] = linfo.errorf.get('INITIAL', None) - if s not in linfo.ignore: - linfo.ignore[s] = linfo.ignore.get('INITIAL', '') - - # Create global versions of the token() and input() functions - token = lexobj.token - input = lexobj.input - lexer = lexobj - - # If in optimize mode, we write the lextab - if lextab and optimize: - if outputdir is None: - # If no output directory is set, the location of the output files - # is determined according to the following rules: - # - If lextab specifies a package, files go into that package directory - # - Otherwise, files go in the same directory as the specifying module - if isinstance(lextab, types.ModuleType): - srcfile = lextab.__file__ - else: - if '.' not in lextab: - srcfile = ldict['__file__'] - else: - parts = lextab.split('.') - pkgname = '.'.join(parts[:-1]) - exec('import %s' % pkgname) - srcfile = getattr(sys.modules[pkgname], '__file__', '') - outputdir = os.path.dirname(srcfile) - try: - lexobj.writetab(lextab, outputdir) - except IOError as e: - errorlog.warning("Couldn't write lextab module %r. %s" % (lextab, e)) - - return lexobj - -# ----------------------------------------------------------------------------- -# runmain() -# -# This runs the lexer as a main program -# ----------------------------------------------------------------------------- - -def runmain(lexer=None, data=None): - if not data: - try: - filename = sys.argv[1] - f = open(filename) - data = f.read() - f.close() - except IndexError: - sys.stdout.write('Reading from standard input (type EOF to end):\n') - data = sys.stdin.read() - - if lexer: - _input = lexer.input - else: - _input = input - _input(data) - if lexer: - _token = lexer.token - else: - _token = token - - while True: - tok = _token() - if not tok: - break - sys.stdout.write('(%s,%r,%d,%d)\n' % (tok.type, tok.value, tok.lineno, tok.lexpos)) - -# ----------------------------------------------------------------------------- -# @TOKEN(regex) -# -# This decorator function can be used to set the regex expression on a function -# when its docstring might need to be set in an alternative way -# ----------------------------------------------------------------------------- - -def TOKEN(r): - def set_regex(f): - if hasattr(r, '__call__'): - f.regex = _get_regex(r) - else: - f.regex = r - return f - return set_regex - -# Alternative spelling of the TOKEN decorator -Token = TOKEN diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/yacc.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/yacc.py deleted file mode 100644 index 20b4f286..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/yacc.py +++ /dev/null @@ -1,3494 +0,0 @@ -# ----------------------------------------------------------------------------- -# ply: yacc.py -# -# Copyright (C) 2001-2017 -# David M. Beazley (Dabeaz LLC) -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# * Neither the name of the David Beazley or Dabeaz LLC may be used to -# endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ----------------------------------------------------------------------------- -# -# This implements an LR parser that is constructed from grammar rules defined -# as Python functions. The grammer is specified by supplying the BNF inside -# Python documentation strings. The inspiration for this technique was borrowed -# from John Aycock's Spark parsing system. PLY might be viewed as cross between -# Spark and the GNU bison utility. -# -# The current implementation is only somewhat object-oriented. The -# LR parser itself is defined in terms of an object (which allows multiple -# parsers to co-exist). However, most of the variables used during table -# construction are defined in terms of global variables. Users shouldn't -# notice unless they are trying to define multiple parsers at the same -# time using threads (in which case they should have their head examined). -# -# This implementation supports both SLR and LALR(1) parsing. LALR(1) -# support was originally implemented by Elias Ioup (ezioup@alumni.uchicago.edu), -# using the algorithm found in Aho, Sethi, and Ullman "Compilers: Principles, -# Techniques, and Tools" (The Dragon Book). LALR(1) has since been replaced -# by the more efficient DeRemer and Pennello algorithm. -# -# :::::::: WARNING ::::::: -# -# Construction of LR parsing tables is fairly complicated and expensive. -# To make this module run fast, a *LOT* of work has been put into -# optimization---often at the expensive of readability and what might -# consider to be good Python "coding style." Modify the code at your -# own risk! -# ---------------------------------------------------------------------------- - -import re -import types -import sys -import os.path -import inspect -import base64 -import warnings - -__version__ = '3.10' -__tabversion__ = '3.10' - -#----------------------------------------------------------------------------- -# === User configurable parameters === -# -# Change these to modify the default behavior of yacc (if you wish) -#----------------------------------------------------------------------------- - -yaccdebug = True # Debugging mode. If set, yacc generates a - # a 'parser.out' file in the current directory - -debug_file = 'parser.out' # Default name of the debugging file -tab_module = 'parsetab' # Default name of the table module -default_lr = 'LALR' # Default LR table generation method - -error_count = 3 # Number of symbols that must be shifted to leave recovery mode - -yaccdevel = False # Set to True if developing yacc. This turns off optimized - # implementations of certain functions. - -resultlimit = 40 # Size limit of results when running in debug mode. - -pickle_protocol = 0 # Protocol to use when writing pickle files - -# String type-checking compatibility -if sys.version_info[0] < 3: - string_types = basestring -else: - string_types = str - -MAXINT = sys.maxsize - -# This object is a stand-in for a logging object created by the -# logging module. PLY will use this by default to create things -# such as the parser.out file. If a user wants more detailed -# information, they can create their own logging object and pass -# it into PLY. - -class PlyLogger(object): - def __init__(self, f): - self.f = f - - def debug(self, msg, *args, **kwargs): - self.f.write((msg % args) + '\n') - - info = debug - - def warning(self, msg, *args, **kwargs): - self.f.write('WARNING: ' + (msg % args) + '\n') - - def error(self, msg, *args, **kwargs): - self.f.write('ERROR: ' + (msg % args) + '\n') - - critical = debug - -# Null logger is used when no output is generated. Does nothing. -class NullLogger(object): - def __getattribute__(self, name): - return self - - def __call__(self, *args, **kwargs): - return self - -# Exception raised for yacc-related errors -class YaccError(Exception): - pass - -# Format the result message that the parser produces when running in debug mode. -def format_result(r): - repr_str = repr(r) - if '\n' in repr_str: - repr_str = repr(repr_str) - if len(repr_str) > resultlimit: - repr_str = repr_str[:resultlimit] + ' ...' - result = '<%s @ 0x%x> (%s)' % (type(r).__name__, id(r), repr_str) - return result - -# Format stack entries when the parser is running in debug mode -def format_stack_entry(r): - repr_str = repr(r) - if '\n' in repr_str: - repr_str = repr(repr_str) - if len(repr_str) < 16: - return repr_str - else: - return '<%s @ 0x%x>' % (type(r).__name__, id(r)) - -# Panic mode error recovery support. This feature is being reworked--much of the -# code here is to offer a deprecation/backwards compatible transition - -_errok = None -_token = None -_restart = None -_warnmsg = '''PLY: Don't use global functions errok(), token(), and restart() in p_error(). -Instead, invoke the methods on the associated parser instance: - - def p_error(p): - ... - # Use parser.errok(), parser.token(), parser.restart() - ... - - parser = yacc.yacc() -''' - -def errok(): - warnings.warn(_warnmsg) - return _errok() - -def restart(): - warnings.warn(_warnmsg) - return _restart() - -def token(): - warnings.warn(_warnmsg) - return _token() - -# Utility function to call the p_error() function with some deprecation hacks -def call_errorfunc(errorfunc, token, parser): - global _errok, _token, _restart - _errok = parser.errok - _token = parser.token - _restart = parser.restart - r = errorfunc(token) - try: - del _errok, _token, _restart - except NameError: - pass - return r - -#----------------------------------------------------------------------------- -# === LR Parsing Engine === -# -# The following classes are used for the LR parser itself. These are not -# used during table construction and are independent of the actual LR -# table generation algorithm -#----------------------------------------------------------------------------- - -# This class is used to hold non-terminal grammar symbols during parsing. -# It normally has the following attributes set: -# .type = Grammar symbol type -# .value = Symbol value -# .lineno = Starting line number -# .endlineno = Ending line number (optional, set automatically) -# .lexpos = Starting lex position -# .endlexpos = Ending lex position (optional, set automatically) - -class YaccSymbol: - def __str__(self): - return self.type - - def __repr__(self): - return str(self) - -# This class is a wrapper around the objects actually passed to each -# grammar rule. Index lookup and assignment actually assign the -# .value attribute of the underlying YaccSymbol object. -# The lineno() method returns the line number of a given -# item (or 0 if not defined). The linespan() method returns -# a tuple of (startline,endline) representing the range of lines -# for a symbol. The lexspan() method returns a tuple (lexpos,endlexpos) -# representing the range of positional information for a symbol. - -class YaccProduction: - def __init__(self, s, stack=None): - self.slice = s - self.stack = stack - self.lexer = None - self.parser = None - - def __getitem__(self, n): - if isinstance(n, slice): - return [s.value for s in self.slice[n]] - elif n >= 0: - return self.slice[n].value - else: - return self.stack[n].value - - def __setitem__(self, n, v): - self.slice[n].value = v - - def __getslice__(self, i, j): - return [s.value for s in self.slice[i:j]] - - def __len__(self): - return len(self.slice) - - def lineno(self, n): - return getattr(self.slice[n], 'lineno', 0) - - def set_lineno(self, n, lineno): - self.slice[n].lineno = lineno - - def linespan(self, n): - startline = getattr(self.slice[n], 'lineno', 0) - endline = getattr(self.slice[n], 'endlineno', startline) - return startline, endline - - def lexpos(self, n): - return getattr(self.slice[n], 'lexpos', 0) - - def lexspan(self, n): - startpos = getattr(self.slice[n], 'lexpos', 0) - endpos = getattr(self.slice[n], 'endlexpos', startpos) - return startpos, endpos - - def error(self): - raise SyntaxError - -# ----------------------------------------------------------------------------- -# == LRParser == -# -# The LR Parsing engine. -# ----------------------------------------------------------------------------- - -class LRParser: - def __init__(self, lrtab, errorf): - self.productions = lrtab.lr_productions - self.action = lrtab.lr_action - self.goto = lrtab.lr_goto - self.errorfunc = errorf - self.set_defaulted_states() - self.errorok = True - - def errok(self): - self.errorok = True - - def restart(self): - del self.statestack[:] - del self.symstack[:] - sym = YaccSymbol() - sym.type = '$end' - self.symstack.append(sym) - self.statestack.append(0) - - # Defaulted state support. - # This method identifies parser states where there is only one possible reduction action. - # For such states, the parser can make a choose to make a rule reduction without consuming - # the next look-ahead token. This delayed invocation of the tokenizer can be useful in - # certain kinds of advanced parsing situations where the lexer and parser interact with - # each other or change states (i.e., manipulation of scope, lexer states, etc.). - # - # See: https://www.gnu.org/software/bison/manual/html_node/Default-Reductions.html#Default-Reductions - def set_defaulted_states(self): - self.defaulted_states = {} - for state, actions in self.action.items(): - rules = list(actions.values()) - if len(rules) == 1 and rules[0] < 0: - self.defaulted_states[state] = rules[0] - - def disable_defaulted_states(self): - self.defaulted_states = {} - - def parse(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): - if debug or yaccdevel: - if isinstance(debug, int): - debug = PlyLogger(sys.stderr) - return self.parsedebug(input, lexer, debug, tracking, tokenfunc) - elif tracking: - return self.parseopt(input, lexer, debug, tracking, tokenfunc) - else: - return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc) - - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # parsedebug(). - # - # This is the debugging enabled version of parse(). All changes made to the - # parsing engine should be made here. Optimized versions of this function - # are automatically created by the ply/ygen.py script. This script cuts out - # sections enclosed in markers such as this: - # - # #--! DEBUG - # statements - # #--! DEBUG - # - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - def parsedebug(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): - #--! parsedebug-start - lookahead = None # Current lookahead symbol - lookaheadstack = [] # Stack of lookahead symbols - actions = self.action # Local reference to action table (to avoid lookup on self.) - goto = self.goto # Local reference to goto table (to avoid lookup on self.) - prod = self.productions # Local reference to production list (to avoid lookup on self.) - defaulted_states = self.defaulted_states # Local reference to defaulted states - pslice = YaccProduction(None) # Production object passed to grammar rules - errorcount = 0 # Used during error recovery - - #--! DEBUG - debug.info('PLY: PARSE DEBUG START') - #--! DEBUG - - # If no lexer was given, we will try to use the lex module - if not lexer: - from . import lex - lexer = lex.lexer - - # Set up the lexer and parser objects on pslice - pslice.lexer = lexer - pslice.parser = self - - # If input was supplied, pass to lexer - if input is not None: - lexer.input(input) - - if tokenfunc is None: - # Tokenize function - get_token = lexer.token - else: - get_token = tokenfunc - - # Set the parser() token method (sometimes used in error recovery) - self.token = get_token - - # Set up the state and symbol stacks - - statestack = [] # Stack of parsing states - self.statestack = statestack - symstack = [] # Stack of grammar symbols - self.symstack = symstack - - pslice.stack = symstack # Put in the production - errtoken = None # Err token - - # The start state is assumed to be (0,$end) - - statestack.append(0) - sym = YaccSymbol() - sym.type = '$end' - symstack.append(sym) - state = 0 - while True: - # Get the next symbol on the input. If a lookahead symbol - # is already set, we just use that. Otherwise, we'll pull - # the next token off of the lookaheadstack or from the lexer - - #--! DEBUG - debug.debug('') - debug.debug('State : %s', state) - #--! DEBUG - - if state not in defaulted_states: - if not lookahead: - if not lookaheadstack: - lookahead = get_token() # Get the next token - else: - lookahead = lookaheadstack.pop() - if not lookahead: - lookahead = YaccSymbol() - lookahead.type = '$end' - - # Check the action table - ltype = lookahead.type - t = actions[state].get(ltype) - else: - t = defaulted_states[state] - #--! DEBUG - debug.debug('Defaulted state %s: Reduce using %d', state, -t) - #--! DEBUG - - #--! DEBUG - debug.debug('Stack : %s', - ('%s . %s' % (' '.join([xx.type for xx in symstack][1:]), str(lookahead))).lstrip()) - #--! DEBUG - - if t is not None: - if t > 0: - # shift a symbol on the stack - statestack.append(t) - state = t - - #--! DEBUG - debug.debug('Action : Shift and goto state %s', t) - #--! DEBUG - - symstack.append(lookahead) - lookahead = None - - # Decrease error count on successful shift - if errorcount: - errorcount -= 1 - continue - - if t < 0: - # reduce a symbol on the stack, emit a production - p = prod[-t] - pname = p.name - plen = p.len - - # Get production function - sym = YaccSymbol() - sym.type = pname # Production name - sym.value = None - - #--! DEBUG - if plen: - debug.info('Action : Reduce rule [%s] with %s and goto state %d', p.str, - '['+','.join([format_stack_entry(_v.value) for _v in symstack[-plen:]])+']', - goto[statestack[-1-plen]][pname]) - else: - debug.info('Action : Reduce rule [%s] with %s and goto state %d', p.str, [], - goto[statestack[-1]][pname]) - - #--! DEBUG - - if plen: - targ = symstack[-plen-1:] - targ[0] = sym - - #--! TRACKING - if tracking: - t1 = targ[1] - sym.lineno = t1.lineno - sym.lexpos = t1.lexpos - t1 = targ[-1] - sym.endlineno = getattr(t1, 'endlineno', t1.lineno) - sym.endlexpos = getattr(t1, 'endlexpos', t1.lexpos) - #--! TRACKING - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # below as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - del symstack[-plen:] - self.state = state - p.callable(pslice) - del statestack[-plen:] - #--! DEBUG - debug.info('Result : %s', format_result(pslice[0])) - #--! DEBUG - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - symstack.extend(targ[1:-1]) # Put the production slice back on the stack - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - else: - - #--! TRACKING - if tracking: - sym.lineno = lexer.lineno - sym.lexpos = lexer.lexpos - #--! TRACKING - - targ = [sym] - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # above as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - self.state = state - p.callable(pslice) - #--! DEBUG - debug.info('Result : %s', format_result(pslice[0])) - #--! DEBUG - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - if t == 0: - n = symstack[-1] - result = getattr(n, 'value', None) - #--! DEBUG - debug.info('Done : Returning %s', format_result(result)) - debug.info('PLY: PARSE DEBUG END') - #--! DEBUG - return result - - if t is None: - - #--! DEBUG - debug.error('Error : %s', - ('%s . %s' % (' '.join([xx.type for xx in symstack][1:]), str(lookahead))).lstrip()) - #--! DEBUG - - # We have some kind of parsing error here. To handle - # this, we are going to push the current token onto - # the tokenstack and replace it with an 'error' token. - # If there are any synchronization rules, they may - # catch it. - # - # In addition to pushing the error token, we call call - # the user defined p_error() function if this is the - # first syntax error. This function is only called if - # errorcount == 0. - if errorcount == 0 or self.errorok: - errorcount = error_count - self.errorok = False - errtoken = lookahead - if errtoken.type == '$end': - errtoken = None # End of file! - if self.errorfunc: - if errtoken and not hasattr(errtoken, 'lexer'): - errtoken.lexer = lexer - self.state = state - tok = call_errorfunc(self.errorfunc, errtoken, self) - if self.errorok: - # User must have done some kind of panic - # mode recovery on their own. The - # returned token is the next lookahead - lookahead = tok - errtoken = None - continue - else: - if errtoken: - if hasattr(errtoken, 'lineno'): - lineno = lookahead.lineno - else: - lineno = 0 - if lineno: - sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) - else: - sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) - else: - sys.stderr.write('yacc: Parse error in input. EOF\n') - return - - else: - errorcount = error_count - - # case 1: the statestack only has 1 entry on it. If we're in this state, the - # entire parse has been rolled back and we're completely hosed. The token is - # discarded and we just keep going. - - if len(statestack) <= 1 and lookahead.type != '$end': - lookahead = None - errtoken = None - state = 0 - # Nuke the pushback stack - del lookaheadstack[:] - continue - - # case 2: the statestack has a couple of entries on it, but we're - # at the end of the file. nuke the top entry and generate an error token - - # Start nuking entries on the stack - if lookahead.type == '$end': - # Whoa. We're really hosed here. Bail out - return - - if lookahead.type != 'error': - sym = symstack[-1] - if sym.type == 'error': - # Hmmm. Error is on top of stack, we'll just nuke input - # symbol and continue - #--! TRACKING - if tracking: - sym.endlineno = getattr(lookahead, 'lineno', sym.lineno) - sym.endlexpos = getattr(lookahead, 'lexpos', sym.lexpos) - #--! TRACKING - lookahead = None - continue - - # Create the error symbol for the first time and make it the new lookahead symbol - t = YaccSymbol() - t.type = 'error' - - if hasattr(lookahead, 'lineno'): - t.lineno = t.endlineno = lookahead.lineno - if hasattr(lookahead, 'lexpos'): - t.lexpos = t.endlexpos = lookahead.lexpos - t.value = lookahead - lookaheadstack.append(lookahead) - lookahead = t - else: - sym = symstack.pop() - #--! TRACKING - if tracking: - lookahead.lineno = sym.lineno - lookahead.lexpos = sym.lexpos - #--! TRACKING - statestack.pop() - state = statestack[-1] - - continue - - # Call an error function here - raise RuntimeError('yacc: internal parser error!!!\n') - - #--! parsedebug-end - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # parseopt(). - # - # Optimized version of parse() method. DO NOT EDIT THIS CODE DIRECTLY! - # This code is automatically generated by the ply/ygen.py script. Make - # changes to the parsedebug() method instead. - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - def parseopt(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): - #--! parseopt-start - lookahead = None # Current lookahead symbol - lookaheadstack = [] # Stack of lookahead symbols - actions = self.action # Local reference to action table (to avoid lookup on self.) - goto = self.goto # Local reference to goto table (to avoid lookup on self.) - prod = self.productions # Local reference to production list (to avoid lookup on self.) - defaulted_states = self.defaulted_states # Local reference to defaulted states - pslice = YaccProduction(None) # Production object passed to grammar rules - errorcount = 0 # Used during error recovery - - - # If no lexer was given, we will try to use the lex module - if not lexer: - from . import lex - lexer = lex.lexer - - # Set up the lexer and parser objects on pslice - pslice.lexer = lexer - pslice.parser = self - - # If input was supplied, pass to lexer - if input is not None: - lexer.input(input) - - if tokenfunc is None: - # Tokenize function - get_token = lexer.token - else: - get_token = tokenfunc - - # Set the parser() token method (sometimes used in error recovery) - self.token = get_token - - # Set up the state and symbol stacks - - statestack = [] # Stack of parsing states - self.statestack = statestack - symstack = [] # Stack of grammar symbols - self.symstack = symstack - - pslice.stack = symstack # Put in the production - errtoken = None # Err token - - # The start state is assumed to be (0,$end) - - statestack.append(0) - sym = YaccSymbol() - sym.type = '$end' - symstack.append(sym) - state = 0 - while True: - # Get the next symbol on the input. If a lookahead symbol - # is already set, we just use that. Otherwise, we'll pull - # the next token off of the lookaheadstack or from the lexer - - - if state not in defaulted_states: - if not lookahead: - if not lookaheadstack: - lookahead = get_token() # Get the next token - else: - lookahead = lookaheadstack.pop() - if not lookahead: - lookahead = YaccSymbol() - lookahead.type = '$end' - - # Check the action table - ltype = lookahead.type - t = actions[state].get(ltype) - else: - t = defaulted_states[state] - - - if t is not None: - if t > 0: - # shift a symbol on the stack - statestack.append(t) - state = t - - - symstack.append(lookahead) - lookahead = None - - # Decrease error count on successful shift - if errorcount: - errorcount -= 1 - continue - - if t < 0: - # reduce a symbol on the stack, emit a production - p = prod[-t] - pname = p.name - plen = p.len - - # Get production function - sym = YaccSymbol() - sym.type = pname # Production name - sym.value = None - - - if plen: - targ = symstack[-plen-1:] - targ[0] = sym - - #--! TRACKING - if tracking: - t1 = targ[1] - sym.lineno = t1.lineno - sym.lexpos = t1.lexpos - t1 = targ[-1] - sym.endlineno = getattr(t1, 'endlineno', t1.lineno) - sym.endlexpos = getattr(t1, 'endlexpos', t1.lexpos) - #--! TRACKING - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # below as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - del symstack[-plen:] - self.state = state - p.callable(pslice) - del statestack[-plen:] - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - symstack.extend(targ[1:-1]) # Put the production slice back on the stack - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - else: - - #--! TRACKING - if tracking: - sym.lineno = lexer.lineno - sym.lexpos = lexer.lexpos - #--! TRACKING - - targ = [sym] - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # above as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - self.state = state - p.callable(pslice) - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - if t == 0: - n = symstack[-1] - result = getattr(n, 'value', None) - return result - - if t is None: - - - # We have some kind of parsing error here. To handle - # this, we are going to push the current token onto - # the tokenstack and replace it with an 'error' token. - # If there are any synchronization rules, they may - # catch it. - # - # In addition to pushing the error token, we call call - # the user defined p_error() function if this is the - # first syntax error. This function is only called if - # errorcount == 0. - if errorcount == 0 or self.errorok: - errorcount = error_count - self.errorok = False - errtoken = lookahead - if errtoken.type == '$end': - errtoken = None # End of file! - if self.errorfunc: - if errtoken and not hasattr(errtoken, 'lexer'): - errtoken.lexer = lexer - self.state = state - tok = call_errorfunc(self.errorfunc, errtoken, self) - if self.errorok: - # User must have done some kind of panic - # mode recovery on their own. The - # returned token is the next lookahead - lookahead = tok - errtoken = None - continue - else: - if errtoken: - if hasattr(errtoken, 'lineno'): - lineno = lookahead.lineno - else: - lineno = 0 - if lineno: - sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) - else: - sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) - else: - sys.stderr.write('yacc: Parse error in input. EOF\n') - return - - else: - errorcount = error_count - - # case 1: the statestack only has 1 entry on it. If we're in this state, the - # entire parse has been rolled back and we're completely hosed. The token is - # discarded and we just keep going. - - if len(statestack) <= 1 and lookahead.type != '$end': - lookahead = None - errtoken = None - state = 0 - # Nuke the pushback stack - del lookaheadstack[:] - continue - - # case 2: the statestack has a couple of entries on it, but we're - # at the end of the file. nuke the top entry and generate an error token - - # Start nuking entries on the stack - if lookahead.type == '$end': - # Whoa. We're really hosed here. Bail out - return - - if lookahead.type != 'error': - sym = symstack[-1] - if sym.type == 'error': - # Hmmm. Error is on top of stack, we'll just nuke input - # symbol and continue - #--! TRACKING - if tracking: - sym.endlineno = getattr(lookahead, 'lineno', sym.lineno) - sym.endlexpos = getattr(lookahead, 'lexpos', sym.lexpos) - #--! TRACKING - lookahead = None - continue - - # Create the error symbol for the first time and make it the new lookahead symbol - t = YaccSymbol() - t.type = 'error' - - if hasattr(lookahead, 'lineno'): - t.lineno = t.endlineno = lookahead.lineno - if hasattr(lookahead, 'lexpos'): - t.lexpos = t.endlexpos = lookahead.lexpos - t.value = lookahead - lookaheadstack.append(lookahead) - lookahead = t - else: - sym = symstack.pop() - #--! TRACKING - if tracking: - lookahead.lineno = sym.lineno - lookahead.lexpos = sym.lexpos - #--! TRACKING - statestack.pop() - state = statestack[-1] - - continue - - # Call an error function here - raise RuntimeError('yacc: internal parser error!!!\n') - - #--! parseopt-end - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # parseopt_notrack(). - # - # Optimized version of parseopt() with line number tracking removed. - # DO NOT EDIT THIS CODE DIRECTLY. This code is automatically generated - # by the ply/ygen.py script. Make changes to the parsedebug() method instead. - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - def parseopt_notrack(self, input=None, lexer=None, debug=False, tracking=False, tokenfunc=None): - #--! parseopt-notrack-start - lookahead = None # Current lookahead symbol - lookaheadstack = [] # Stack of lookahead symbols - actions = self.action # Local reference to action table (to avoid lookup on self.) - goto = self.goto # Local reference to goto table (to avoid lookup on self.) - prod = self.productions # Local reference to production list (to avoid lookup on self.) - defaulted_states = self.defaulted_states # Local reference to defaulted states - pslice = YaccProduction(None) # Production object passed to grammar rules - errorcount = 0 # Used during error recovery - - - # If no lexer was given, we will try to use the lex module - if not lexer: - from . import lex - lexer = lex.lexer - - # Set up the lexer and parser objects on pslice - pslice.lexer = lexer - pslice.parser = self - - # If input was supplied, pass to lexer - if input is not None: - lexer.input(input) - - if tokenfunc is None: - # Tokenize function - get_token = lexer.token - else: - get_token = tokenfunc - - # Set the parser() token method (sometimes used in error recovery) - self.token = get_token - - # Set up the state and symbol stacks - - statestack = [] # Stack of parsing states - self.statestack = statestack - symstack = [] # Stack of grammar symbols - self.symstack = symstack - - pslice.stack = symstack # Put in the production - errtoken = None # Err token - - # The start state is assumed to be (0,$end) - - statestack.append(0) - sym = YaccSymbol() - sym.type = '$end' - symstack.append(sym) - state = 0 - while True: - # Get the next symbol on the input. If a lookahead symbol - # is already set, we just use that. Otherwise, we'll pull - # the next token off of the lookaheadstack or from the lexer - - - if state not in defaulted_states: - if not lookahead: - if not lookaheadstack: - lookahead = get_token() # Get the next token - else: - lookahead = lookaheadstack.pop() - if not lookahead: - lookahead = YaccSymbol() - lookahead.type = '$end' - - # Check the action table - ltype = lookahead.type - t = actions[state].get(ltype) - else: - t = defaulted_states[state] - - - if t is not None: - if t > 0: - # shift a symbol on the stack - statestack.append(t) - state = t - - - symstack.append(lookahead) - lookahead = None - - # Decrease error count on successful shift - if errorcount: - errorcount -= 1 - continue - - if t < 0: - # reduce a symbol on the stack, emit a production - p = prod[-t] - pname = p.name - plen = p.len - - # Get production function - sym = YaccSymbol() - sym.type = pname # Production name - sym.value = None - - - if plen: - targ = symstack[-plen-1:] - targ[0] = sym - - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # below as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - del symstack[-plen:] - self.state = state - p.callable(pslice) - del statestack[-plen:] - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - symstack.extend(targ[1:-1]) # Put the production slice back on the stack - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - else: - - - targ = [sym] - - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - # The code enclosed in this section is duplicated - # above as a performance optimization. Make sure - # changes get made in both locations. - - pslice.slice = targ - - try: - # Call the grammar rule with our special slice object - self.state = state - p.callable(pslice) - symstack.append(sym) - state = goto[statestack[-1]][pname] - statestack.append(state) - except SyntaxError: - # If an error was set. Enter error recovery state - lookaheadstack.append(lookahead) # Save the current lookahead token - statestack.pop() # Pop back one state (before the reduce) - state = statestack[-1] - sym.type = 'error' - sym.value = 'error' - lookahead = sym - errorcount = error_count - self.errorok = False - - continue - # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - if t == 0: - n = symstack[-1] - result = getattr(n, 'value', None) - return result - - if t is None: - - - # We have some kind of parsing error here. To handle - # this, we are going to push the current token onto - # the tokenstack and replace it with an 'error' token. - # If there are any synchronization rules, they may - # catch it. - # - # In addition to pushing the error token, we call call - # the user defined p_error() function if this is the - # first syntax error. This function is only called if - # errorcount == 0. - if errorcount == 0 or self.errorok: - errorcount = error_count - self.errorok = False - errtoken = lookahead - if errtoken.type == '$end': - errtoken = None # End of file! - if self.errorfunc: - if errtoken and not hasattr(errtoken, 'lexer'): - errtoken.lexer = lexer - self.state = state - tok = call_errorfunc(self.errorfunc, errtoken, self) - if self.errorok: - # User must have done some kind of panic - # mode recovery on their own. The - # returned token is the next lookahead - lookahead = tok - errtoken = None - continue - else: - if errtoken: - if hasattr(errtoken, 'lineno'): - lineno = lookahead.lineno - else: - lineno = 0 - if lineno: - sys.stderr.write('yacc: Syntax error at line %d, token=%s\n' % (lineno, errtoken.type)) - else: - sys.stderr.write('yacc: Syntax error, token=%s' % errtoken.type) - else: - sys.stderr.write('yacc: Parse error in input. EOF\n') - return - - else: - errorcount = error_count - - # case 1: the statestack only has 1 entry on it. If we're in this state, the - # entire parse has been rolled back and we're completely hosed. The token is - # discarded and we just keep going. - - if len(statestack) <= 1 and lookahead.type != '$end': - lookahead = None - errtoken = None - state = 0 - # Nuke the pushback stack - del lookaheadstack[:] - continue - - # case 2: the statestack has a couple of entries on it, but we're - # at the end of the file. nuke the top entry and generate an error token - - # Start nuking entries on the stack - if lookahead.type == '$end': - # Whoa. We're really hosed here. Bail out - return - - if lookahead.type != 'error': - sym = symstack[-1] - if sym.type == 'error': - # Hmmm. Error is on top of stack, we'll just nuke input - # symbol and continue - lookahead = None - continue - - # Create the error symbol for the first time and make it the new lookahead symbol - t = YaccSymbol() - t.type = 'error' - - if hasattr(lookahead, 'lineno'): - t.lineno = t.endlineno = lookahead.lineno - if hasattr(lookahead, 'lexpos'): - t.lexpos = t.endlexpos = lookahead.lexpos - t.value = lookahead - lookaheadstack.append(lookahead) - lookahead = t - else: - sym = symstack.pop() - statestack.pop() - state = statestack[-1] - - continue - - # Call an error function here - raise RuntimeError('yacc: internal parser error!!!\n') - - #--! parseopt-notrack-end - -# ----------------------------------------------------------------------------- -# === Grammar Representation === -# -# The following functions, classes, and variables are used to represent and -# manipulate the rules that make up a grammar. -# ----------------------------------------------------------------------------- - -# regex matching identifiers -_is_identifier = re.compile(r'^[a-zA-Z0-9_-]+$') - -# ----------------------------------------------------------------------------- -# class Production: -# -# This class stores the raw information about a single production or grammar rule. -# A grammar rule refers to a specification such as this: -# -# expr : expr PLUS term -# -# Here are the basic attributes defined on all productions -# -# name - Name of the production. For example 'expr' -# prod - A list of symbols on the right side ['expr','PLUS','term'] -# prec - Production precedence level -# number - Production number. -# func - Function that executes on reduce -# file - File where production function is defined -# lineno - Line number where production function is defined -# -# The following attributes are defined or optional. -# -# len - Length of the production (number of symbols on right hand side) -# usyms - Set of unique symbols found in the production -# ----------------------------------------------------------------------------- - -class Production(object): - reduced = 0 - def __init__(self, number, name, prod, precedence=('right', 0), func=None, file='', line=0): - self.name = name - self.prod = tuple(prod) - self.number = number - self.func = func - self.callable = None - self.file = file - self.line = line - self.prec = precedence - - # Internal settings used during table construction - - self.len = len(self.prod) # Length of the production - - # Create a list of unique production symbols used in the production - self.usyms = [] - for s in self.prod: - if s not in self.usyms: - self.usyms.append(s) - - # List of all LR items for the production - self.lr_items = [] - self.lr_next = None - - # Create a string representation - if self.prod: - self.str = '%s -> %s' % (self.name, ' '.join(self.prod)) - else: - self.str = '%s -> ' % self.name - - def __str__(self): - return self.str - - def __repr__(self): - return 'Production(' + str(self) + ')' - - def __len__(self): - return len(self.prod) - - def __nonzero__(self): - return 1 - - def __getitem__(self, index): - return self.prod[index] - - # Return the nth lr_item from the production (or None if at the end) - def lr_item(self, n): - if n > len(self.prod): - return None - p = LRItem(self, n) - # Precompute the list of productions immediately following. - try: - p.lr_after = Prodnames[p.prod[n+1]] - except (IndexError, KeyError): - p.lr_after = [] - try: - p.lr_before = p.prod[n-1] - except IndexError: - p.lr_before = None - return p - - # Bind the production function name to a callable - def bind(self, pdict): - if self.func: - self.callable = pdict[self.func] - -# This class serves as a minimal standin for Production objects when -# reading table data from files. It only contains information -# actually used by the LR parsing engine, plus some additional -# debugging information. -class MiniProduction(object): - def __init__(self, str, name, len, func, file, line): - self.name = name - self.len = len - self.func = func - self.callable = None - self.file = file - self.line = line - self.str = str - - def __str__(self): - return self.str - - def __repr__(self): - return 'MiniProduction(%s)' % self.str - - # Bind the production function name to a callable - def bind(self, pdict): - if self.func: - self.callable = pdict[self.func] - - -# ----------------------------------------------------------------------------- -# class LRItem -# -# This class represents a specific stage of parsing a production rule. For -# example: -# -# expr : expr . PLUS term -# -# In the above, the "." represents the current location of the parse. Here -# basic attributes: -# -# name - Name of the production. For example 'expr' -# prod - A list of symbols on the right side ['expr','.', 'PLUS','term'] -# number - Production number. -# -# lr_next Next LR item. Example, if we are ' expr -> expr . PLUS term' -# then lr_next refers to 'expr -> expr PLUS . term' -# lr_index - LR item index (location of the ".") in the prod list. -# lookaheads - LALR lookahead symbols for this item -# len - Length of the production (number of symbols on right hand side) -# lr_after - List of all productions that immediately follow -# lr_before - Grammar symbol immediately before -# ----------------------------------------------------------------------------- - -class LRItem(object): - def __init__(self, p, n): - self.name = p.name - self.prod = list(p.prod) - self.number = p.number - self.lr_index = n - self.lookaheads = {} - self.prod.insert(n, '.') - self.prod = tuple(self.prod) - self.len = len(self.prod) - self.usyms = p.usyms - - def __str__(self): - if self.prod: - s = '%s -> %s' % (self.name, ' '.join(self.prod)) - else: - s = '%s -> ' % self.name - return s - - def __repr__(self): - return 'LRItem(' + str(self) + ')' - -# ----------------------------------------------------------------------------- -# rightmost_terminal() -# -# Return the rightmost terminal from a list of symbols. Used in add_production() -# ----------------------------------------------------------------------------- -def rightmost_terminal(symbols, terminals): - i = len(symbols) - 1 - while i >= 0: - if symbols[i] in terminals: - return symbols[i] - i -= 1 - return None - -# ----------------------------------------------------------------------------- -# === GRAMMAR CLASS === -# -# The following class represents the contents of the specified grammar along -# with various computed properties such as first sets, follow sets, LR items, etc. -# This data is used for critical parts of the table generation process later. -# ----------------------------------------------------------------------------- - -class GrammarError(YaccError): - pass - -class Grammar(object): - def __init__(self, terminals): - self.Productions = [None] # A list of all of the productions. The first - # entry is always reserved for the purpose of - # building an augmented grammar - - self.Prodnames = {} # A dictionary mapping the names of nonterminals to a list of all - # productions of that nonterminal. - - self.Prodmap = {} # A dictionary that is only used to detect duplicate - # productions. - - self.Terminals = {} # A dictionary mapping the names of terminal symbols to a - # list of the rules where they are used. - - for term in terminals: - self.Terminals[term] = [] - - self.Terminals['error'] = [] - - self.Nonterminals = {} # A dictionary mapping names of nonterminals to a list - # of rule numbers where they are used. - - self.First = {} # A dictionary of precomputed FIRST(x) symbols - - self.Follow = {} # A dictionary of precomputed FOLLOW(x) symbols - - self.Precedence = {} # Precedence rules for each terminal. Contains tuples of the - # form ('right',level) or ('nonassoc', level) or ('left',level) - - self.UsedPrecedence = set() # Precedence rules that were actually used by the grammer. - # This is only used to provide error checking and to generate - # a warning about unused precedence rules. - - self.Start = None # Starting symbol for the grammar - - - def __len__(self): - return len(self.Productions) - - def __getitem__(self, index): - return self.Productions[index] - - # ----------------------------------------------------------------------------- - # set_precedence() - # - # Sets the precedence for a given terminal. assoc is the associativity such as - # 'left','right', or 'nonassoc'. level is a numeric level. - # - # ----------------------------------------------------------------------------- - - def set_precedence(self, term, assoc, level): - assert self.Productions == [None], 'Must call set_precedence() before add_production()' - if term in self.Precedence: - raise GrammarError('Precedence already specified for terminal %r' % term) - if assoc not in ['left', 'right', 'nonassoc']: - raise GrammarError("Associativity must be one of 'left','right', or 'nonassoc'") - self.Precedence[term] = (assoc, level) - - # ----------------------------------------------------------------------------- - # add_production() - # - # Given an action function, this function assembles a production rule and - # computes its precedence level. - # - # The production rule is supplied as a list of symbols. For example, - # a rule such as 'expr : expr PLUS term' has a production name of 'expr' and - # symbols ['expr','PLUS','term']. - # - # Precedence is determined by the precedence of the right-most non-terminal - # or the precedence of a terminal specified by %prec. - # - # A variety of error checks are performed to make sure production symbols - # are valid and that %prec is used correctly. - # ----------------------------------------------------------------------------- - - def add_production(self, prodname, syms, func=None, file='', line=0): - - if prodname in self.Terminals: - raise GrammarError('%s:%d: Illegal rule name %r. Already defined as a token' % (file, line, prodname)) - if prodname == 'error': - raise GrammarError('%s:%d: Illegal rule name %r. error is a reserved word' % (file, line, prodname)) - if not _is_identifier.match(prodname): - raise GrammarError('%s:%d: Illegal rule name %r' % (file, line, prodname)) - - # Look for literal tokens - for n, s in enumerate(syms): - if s[0] in "'\"": - try: - c = eval(s) - if (len(c) > 1): - raise GrammarError('%s:%d: Literal token %s in rule %r may only be a single character' % - (file, line, s, prodname)) - if c not in self.Terminals: - self.Terminals[c] = [] - syms[n] = c - continue - except SyntaxError: - pass - if not _is_identifier.match(s) and s != '%prec': - raise GrammarError('%s:%d: Illegal name %r in rule %r' % (file, line, s, prodname)) - - # Determine the precedence level - if '%prec' in syms: - if syms[-1] == '%prec': - raise GrammarError('%s:%d: Syntax error. Nothing follows %%prec' % (file, line)) - if syms[-2] != '%prec': - raise GrammarError('%s:%d: Syntax error. %%prec can only appear at the end of a grammar rule' % - (file, line)) - precname = syms[-1] - prodprec = self.Precedence.get(precname) - if not prodprec: - raise GrammarError('%s:%d: Nothing known about the precedence of %r' % (file, line, precname)) - else: - self.UsedPrecedence.add(precname) - del syms[-2:] # Drop %prec from the rule - else: - # If no %prec, precedence is determined by the rightmost terminal symbol - precname = rightmost_terminal(syms, self.Terminals) - prodprec = self.Precedence.get(precname, ('right', 0)) - - # See if the rule is already in the rulemap - map = '%s -> %s' % (prodname, syms) - if map in self.Prodmap: - m = self.Prodmap[map] - raise GrammarError('%s:%d: Duplicate rule %s. ' % (file, line, m) + - 'Previous definition at %s:%d' % (m.file, m.line)) - - # From this point on, everything is valid. Create a new Production instance - pnumber = len(self.Productions) - if prodname not in self.Nonterminals: - self.Nonterminals[prodname] = [] - - # Add the production number to Terminals and Nonterminals - for t in syms: - if t in self.Terminals: - self.Terminals[t].append(pnumber) - else: - if t not in self.Nonterminals: - self.Nonterminals[t] = [] - self.Nonterminals[t].append(pnumber) - - # Create a production and add it to the list of productions - p = Production(pnumber, prodname, syms, prodprec, func, file, line) - self.Productions.append(p) - self.Prodmap[map] = p - - # Add to the global productions list - try: - self.Prodnames[prodname].append(p) - except KeyError: - self.Prodnames[prodname] = [p] - - # ----------------------------------------------------------------------------- - # set_start() - # - # Sets the starting symbol and creates the augmented grammar. Production - # rule 0 is S' -> start where start is the start symbol. - # ----------------------------------------------------------------------------- - - def set_start(self, start=None): - if not start: - start = self.Productions[1].name - if start not in self.Nonterminals: - raise GrammarError('start symbol %s undefined' % start) - self.Productions[0] = Production(0, "S'", [start]) - self.Nonterminals[start].append(0) - self.Start = start - - # ----------------------------------------------------------------------------- - # find_unreachable() - # - # Find all of the nonterminal symbols that can't be reached from the starting - # symbol. Returns a list of nonterminals that can't be reached. - # ----------------------------------------------------------------------------- - - def find_unreachable(self): - - # Mark all symbols that are reachable from a symbol s - def mark_reachable_from(s): - if s in reachable: - return - reachable.add(s) - for p in self.Prodnames.get(s, []): - for r in p.prod: - mark_reachable_from(r) - - reachable = set() - mark_reachable_from(self.Productions[0].prod[0]) - return [s for s in self.Nonterminals if s not in reachable] - - # ----------------------------------------------------------------------------- - # infinite_cycles() - # - # This function looks at the various parsing rules and tries to detect - # infinite recursion cycles (grammar rules where there is no possible way - # to derive a string of only terminals). - # ----------------------------------------------------------------------------- - - def infinite_cycles(self): - terminates = {} - - # Terminals: - for t in self.Terminals: - terminates[t] = True - - terminates['$end'] = True - - # Nonterminals: - - # Initialize to false: - for n in self.Nonterminals: - terminates[n] = False - - # Then propagate termination until no change: - while True: - some_change = False - for (n, pl) in self.Prodnames.items(): - # Nonterminal n terminates iff any of its productions terminates. - for p in pl: - # Production p terminates iff all of its rhs symbols terminate. - for s in p.prod: - if not terminates[s]: - # The symbol s does not terminate, - # so production p does not terminate. - p_terminates = False - break - else: - # didn't break from the loop, - # so every symbol s terminates - # so production p terminates. - p_terminates = True - - if p_terminates: - # symbol n terminates! - if not terminates[n]: - terminates[n] = True - some_change = True - # Don't need to consider any more productions for this n. - break - - if not some_change: - break - - infinite = [] - for (s, term) in terminates.items(): - if not term: - if s not in self.Prodnames and s not in self.Terminals and s != 'error': - # s is used-but-not-defined, and we've already warned of that, - # so it would be overkill to say that it's also non-terminating. - pass - else: - infinite.append(s) - - return infinite - - # ----------------------------------------------------------------------------- - # undefined_symbols() - # - # Find all symbols that were used the grammar, but not defined as tokens or - # grammar rules. Returns a list of tuples (sym, prod) where sym in the symbol - # and prod is the production where the symbol was used. - # ----------------------------------------------------------------------------- - def undefined_symbols(self): - result = [] - for p in self.Productions: - if not p: - continue - - for s in p.prod: - if s not in self.Prodnames and s not in self.Terminals and s != 'error': - result.append((s, p)) - return result - - # ----------------------------------------------------------------------------- - # unused_terminals() - # - # Find all terminals that were defined, but not used by the grammar. Returns - # a list of all symbols. - # ----------------------------------------------------------------------------- - def unused_terminals(self): - unused_tok = [] - for s, v in self.Terminals.items(): - if s != 'error' and not v: - unused_tok.append(s) - - return unused_tok - - # ------------------------------------------------------------------------------ - # unused_rules() - # - # Find all grammar rules that were defined, but not used (maybe not reachable) - # Returns a list of productions. - # ------------------------------------------------------------------------------ - - def unused_rules(self): - unused_prod = [] - for s, v in self.Nonterminals.items(): - if not v: - p = self.Prodnames[s][0] - unused_prod.append(p) - return unused_prod - - # ----------------------------------------------------------------------------- - # unused_precedence() - # - # Returns a list of tuples (term,precedence) corresponding to precedence - # rules that were never used by the grammar. term is the name of the terminal - # on which precedence was applied and precedence is a string such as 'left' or - # 'right' corresponding to the type of precedence. - # ----------------------------------------------------------------------------- - - def unused_precedence(self): - unused = [] - for termname in self.Precedence: - if not (termname in self.Terminals or termname in self.UsedPrecedence): - unused.append((termname, self.Precedence[termname][0])) - - return unused - - # ------------------------------------------------------------------------- - # _first() - # - # Compute the value of FIRST1(beta) where beta is a tuple of symbols. - # - # During execution of compute_first1, the result may be incomplete. - # Afterward (e.g., when called from compute_follow()), it will be complete. - # ------------------------------------------------------------------------- - def _first(self, beta): - - # We are computing First(x1,x2,x3,...,xn) - result = [] - for x in beta: - x_produces_empty = False - - # Add all the non- symbols of First[x] to the result. - for f in self.First[x]: - if f == '': - x_produces_empty = True - else: - if f not in result: - result.append(f) - - if x_produces_empty: - # We have to consider the next x in beta, - # i.e. stay in the loop. - pass - else: - # We don't have to consider any further symbols in beta. - break - else: - # There was no 'break' from the loop, - # so x_produces_empty was true for all x in beta, - # so beta produces empty as well. - result.append('') - - return result - - # ------------------------------------------------------------------------- - # compute_first() - # - # Compute the value of FIRST1(X) for all symbols - # ------------------------------------------------------------------------- - def compute_first(self): - if self.First: - return self.First - - # Terminals: - for t in self.Terminals: - self.First[t] = [t] - - self.First['$end'] = ['$end'] - - # Nonterminals: - - # Initialize to the empty set: - for n in self.Nonterminals: - self.First[n] = [] - - # Then propagate symbols until no change: - while True: - some_change = False - for n in self.Nonterminals: - for p in self.Prodnames[n]: - for f in self._first(p.prod): - if f not in self.First[n]: - self.First[n].append(f) - some_change = True - if not some_change: - break - - return self.First - - # --------------------------------------------------------------------- - # compute_follow() - # - # Computes all of the follow sets for every non-terminal symbol. The - # follow set is the set of all symbols that might follow a given - # non-terminal. See the Dragon book, 2nd Ed. p. 189. - # --------------------------------------------------------------------- - def compute_follow(self, start=None): - # If already computed, return the result - if self.Follow: - return self.Follow - - # If first sets not computed yet, do that first. - if not self.First: - self.compute_first() - - # Add '$end' to the follow list of the start symbol - for k in self.Nonterminals: - self.Follow[k] = [] - - if not start: - start = self.Productions[1].name - - self.Follow[start] = ['$end'] - - while True: - didadd = False - for p in self.Productions[1:]: - # Here is the production set - for i, B in enumerate(p.prod): - if B in self.Nonterminals: - # Okay. We got a non-terminal in a production - fst = self._first(p.prod[i+1:]) - hasempty = False - for f in fst: - if f != '' and f not in self.Follow[B]: - self.Follow[B].append(f) - didadd = True - if f == '': - hasempty = True - if hasempty or i == (len(p.prod)-1): - # Add elements of follow(a) to follow(b) - for f in self.Follow[p.name]: - if f not in self.Follow[B]: - self.Follow[B].append(f) - didadd = True - if not didadd: - break - return self.Follow - - - # ----------------------------------------------------------------------------- - # build_lritems() - # - # This function walks the list of productions and builds a complete set of the - # LR items. The LR items are stored in two ways: First, they are uniquely - # numbered and placed in the list _lritems. Second, a linked list of LR items - # is built for each production. For example: - # - # E -> E PLUS E - # - # Creates the list - # - # [E -> . E PLUS E, E -> E . PLUS E, E -> E PLUS . E, E -> E PLUS E . ] - # ----------------------------------------------------------------------------- - - def build_lritems(self): - for p in self.Productions: - lastlri = p - i = 0 - lr_items = [] - while True: - if i > len(p): - lri = None - else: - lri = LRItem(p, i) - # Precompute the list of productions immediately following - try: - lri.lr_after = self.Prodnames[lri.prod[i+1]] - except (IndexError, KeyError): - lri.lr_after = [] - try: - lri.lr_before = lri.prod[i-1] - except IndexError: - lri.lr_before = None - - lastlri.lr_next = lri - if not lri: - break - lr_items.append(lri) - lastlri = lri - i += 1 - p.lr_items = lr_items - -# ----------------------------------------------------------------------------- -# == Class LRTable == -# -# This basic class represents a basic table of LR parsing information. -# Methods for generating the tables are not defined here. They are defined -# in the derived class LRGeneratedTable. -# ----------------------------------------------------------------------------- - -class VersionError(YaccError): - pass - -class LRTable(object): - def __init__(self): - self.lr_action = None - self.lr_goto = None - self.lr_productions = None - self.lr_method = None - - def read_table(self, module): - if isinstance(module, types.ModuleType): - parsetab = module - else: - exec('import %s' % module) - parsetab = sys.modules[module] - - if parsetab._tabversion != __tabversion__: - raise VersionError('yacc table file version is out of date') - - self.lr_action = parsetab._lr_action - self.lr_goto = parsetab._lr_goto - - self.lr_productions = [] - for p in parsetab._lr_productions: - self.lr_productions.append(MiniProduction(*p)) - - self.lr_method = parsetab._lr_method - return parsetab._lr_signature - - def read_pickle(self, filename): - try: - import cPickle as pickle - except ImportError: - import pickle - - if not os.path.exists(filename): - raise ImportError - - in_f = open(filename, 'rb') - - tabversion = pickle.load(in_f) - if tabversion != __tabversion__: - raise VersionError('yacc table file version is out of date') - self.lr_method = pickle.load(in_f) - signature = pickle.load(in_f) - self.lr_action = pickle.load(in_f) - self.lr_goto = pickle.load(in_f) - productions = pickle.load(in_f) - - self.lr_productions = [] - for p in productions: - self.lr_productions.append(MiniProduction(*p)) - - in_f.close() - return signature - - # Bind all production function names to callable objects in pdict - def bind_callables(self, pdict): - for p in self.lr_productions: - p.bind(pdict) - - -# ----------------------------------------------------------------------------- -# === LR Generator === -# -# The following classes and functions are used to generate LR parsing tables on -# a grammar. -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# digraph() -# traverse() -# -# The following two functions are used to compute set valued functions -# of the form: -# -# F(x) = F'(x) U U{F(y) | x R y} -# -# This is used to compute the values of Read() sets as well as FOLLOW sets -# in LALR(1) generation. -# -# Inputs: X - An input set -# R - A relation -# FP - Set-valued function -# ------------------------------------------------------------------------------ - -def digraph(X, R, FP): - N = {} - for x in X: - N[x] = 0 - stack = [] - F = {} - for x in X: - if N[x] == 0: - traverse(x, N, stack, F, X, R, FP) - return F - -def traverse(x, N, stack, F, X, R, FP): - stack.append(x) - d = len(stack) - N[x] = d - F[x] = FP(x) # F(X) <- F'(x) - - rel = R(x) # Get y's related to x - for y in rel: - if N[y] == 0: - traverse(y, N, stack, F, X, R, FP) - N[x] = min(N[x], N[y]) - for a in F.get(y, []): - if a not in F[x]: - F[x].append(a) - if N[x] == d: - N[stack[-1]] = MAXINT - F[stack[-1]] = F[x] - element = stack.pop() - while element != x: - N[stack[-1]] = MAXINT - F[stack[-1]] = F[x] - element = stack.pop() - -class LALRError(YaccError): - pass - -# ----------------------------------------------------------------------------- -# == LRGeneratedTable == -# -# This class implements the LR table generation algorithm. There are no -# public methods except for write() -# ----------------------------------------------------------------------------- - -class LRGeneratedTable(LRTable): - def __init__(self, grammar, method='LALR', log=None): - if method not in ['SLR', 'LALR']: - raise LALRError('Unsupported method %s' % method) - - self.grammar = grammar - self.lr_method = method - - # Set up the logger - if not log: - log = NullLogger() - self.log = log - - # Internal attributes - self.lr_action = {} # Action table - self.lr_goto = {} # Goto table - self.lr_productions = grammar.Productions # Copy of grammar Production array - self.lr_goto_cache = {} # Cache of computed gotos - self.lr0_cidhash = {} # Cache of closures - - self._add_count = 0 # Internal counter used to detect cycles - - # Diagonistic information filled in by the table generator - self.sr_conflict = 0 - self.rr_conflict = 0 - self.conflicts = [] # List of conflicts - - self.sr_conflicts = [] - self.rr_conflicts = [] - - # Build the tables - self.grammar.build_lritems() - self.grammar.compute_first() - self.grammar.compute_follow() - self.lr_parse_table() - - # Compute the LR(0) closure operation on I, where I is a set of LR(0) items. - - def lr0_closure(self, I): - self._add_count += 1 - - # Add everything in I to J - J = I[:] - didadd = True - while didadd: - didadd = False - for j in J: - for x in j.lr_after: - if getattr(x, 'lr0_added', 0) == self._add_count: - continue - # Add B --> .G to J - J.append(x.lr_next) - x.lr0_added = self._add_count - didadd = True - - return J - - # Compute the LR(0) goto function goto(I,X) where I is a set - # of LR(0) items and X is a grammar symbol. This function is written - # in a way that guarantees uniqueness of the generated goto sets - # (i.e. the same goto set will never be returned as two different Python - # objects). With uniqueness, we can later do fast set comparisons using - # id(obj) instead of element-wise comparison. - - def lr0_goto(self, I, x): - # First we look for a previously cached entry - g = self.lr_goto_cache.get((id(I), x)) - if g: - return g - - # Now we generate the goto set in a way that guarantees uniqueness - # of the result - - s = self.lr_goto_cache.get(x) - if not s: - s = {} - self.lr_goto_cache[x] = s - - gs = [] - for p in I: - n = p.lr_next - if n and n.lr_before == x: - s1 = s.get(id(n)) - if not s1: - s1 = {} - s[id(n)] = s1 - gs.append(n) - s = s1 - g = s.get('$end') - if not g: - if gs: - g = self.lr0_closure(gs) - s['$end'] = g - else: - s['$end'] = gs - self.lr_goto_cache[(id(I), x)] = g - return g - - # Compute the LR(0) sets of item function - def lr0_items(self): - C = [self.lr0_closure([self.grammar.Productions[0].lr_next])] - i = 0 - for I in C: - self.lr0_cidhash[id(I)] = i - i += 1 - - # Loop over the items in C and each grammar symbols - i = 0 - while i < len(C): - I = C[i] - i += 1 - - # Collect all of the symbols that could possibly be in the goto(I,X) sets - asyms = {} - for ii in I: - for s in ii.usyms: - asyms[s] = None - - for x in asyms: - g = self.lr0_goto(I, x) - if not g or id(g) in self.lr0_cidhash: - continue - self.lr0_cidhash[id(g)] = len(C) - C.append(g) - - return C - - # ----------------------------------------------------------------------------- - # ==== LALR(1) Parsing ==== - # - # LALR(1) parsing is almost exactly the same as SLR except that instead of - # relying upon Follow() sets when performing reductions, a more selective - # lookahead set that incorporates the state of the LR(0) machine is utilized. - # Thus, we mainly just have to focus on calculating the lookahead sets. - # - # The method used here is due to DeRemer and Pennelo (1982). - # - # DeRemer, F. L., and T. J. Pennelo: "Efficient Computation of LALR(1) - # Lookahead Sets", ACM Transactions on Programming Languages and Systems, - # Vol. 4, No. 4, Oct. 1982, pp. 615-649 - # - # Further details can also be found in: - # - # J. Tremblay and P. Sorenson, "The Theory and Practice of Compiler Writing", - # McGraw-Hill Book Company, (1985). - # - # ----------------------------------------------------------------------------- - - # ----------------------------------------------------------------------------- - # compute_nullable_nonterminals() - # - # Creates a dictionary containing all of the non-terminals that might produce - # an empty production. - # ----------------------------------------------------------------------------- - - def compute_nullable_nonterminals(self): - nullable = set() - num_nullable = 0 - while True: - for p in self.grammar.Productions[1:]: - if p.len == 0: - nullable.add(p.name) - continue - for t in p.prod: - if t not in nullable: - break - else: - nullable.add(p.name) - if len(nullable) == num_nullable: - break - num_nullable = len(nullable) - return nullable - - # ----------------------------------------------------------------------------- - # find_nonterminal_trans(C) - # - # Given a set of LR(0) items, this functions finds all of the non-terminal - # transitions. These are transitions in which a dot appears immediately before - # a non-terminal. Returns a list of tuples of the form (state,N) where state - # is the state number and N is the nonterminal symbol. - # - # The input C is the set of LR(0) items. - # ----------------------------------------------------------------------------- - - def find_nonterminal_transitions(self, C): - trans = [] - for stateno, state in enumerate(C): - for p in state: - if p.lr_index < p.len - 1: - t = (stateno, p.prod[p.lr_index+1]) - if t[1] in self.grammar.Nonterminals: - if t not in trans: - trans.append(t) - return trans - - # ----------------------------------------------------------------------------- - # dr_relation() - # - # Computes the DR(p,A) relationships for non-terminal transitions. The input - # is a tuple (state,N) where state is a number and N is a nonterminal symbol. - # - # Returns a list of terminals. - # ----------------------------------------------------------------------------- - - def dr_relation(self, C, trans, nullable): - dr_set = {} - state, N = trans - terms = [] - - g = self.lr0_goto(C[state], N) - for p in g: - if p.lr_index < p.len - 1: - a = p.prod[p.lr_index+1] - if a in self.grammar.Terminals: - if a not in terms: - terms.append(a) - - # This extra bit is to handle the start state - if state == 0 and N == self.grammar.Productions[0].prod[0]: - terms.append('$end') - - return terms - - # ----------------------------------------------------------------------------- - # reads_relation() - # - # Computes the READS() relation (p,A) READS (t,C). - # ----------------------------------------------------------------------------- - - def reads_relation(self, C, trans, empty): - # Look for empty transitions - rel = [] - state, N = trans - - g = self.lr0_goto(C[state], N) - j = self.lr0_cidhash.get(id(g), -1) - for p in g: - if p.lr_index < p.len - 1: - a = p.prod[p.lr_index + 1] - if a in empty: - rel.append((j, a)) - - return rel - - # ----------------------------------------------------------------------------- - # compute_lookback_includes() - # - # Determines the lookback and includes relations - # - # LOOKBACK: - # - # This relation is determined by running the LR(0) state machine forward. - # For example, starting with a production "N : . A B C", we run it forward - # to obtain "N : A B C ." We then build a relationship between this final - # state and the starting state. These relationships are stored in a dictionary - # lookdict. - # - # INCLUDES: - # - # Computes the INCLUDE() relation (p,A) INCLUDES (p',B). - # - # This relation is used to determine non-terminal transitions that occur - # inside of other non-terminal transition states. (p,A) INCLUDES (p', B) - # if the following holds: - # - # B -> LAT, where T -> epsilon and p' -L-> p - # - # L is essentially a prefix (which may be empty), T is a suffix that must be - # able to derive an empty string. State p' must lead to state p with the string L. - # - # ----------------------------------------------------------------------------- - - def compute_lookback_includes(self, C, trans, nullable): - lookdict = {} # Dictionary of lookback relations - includedict = {} # Dictionary of include relations - - # Make a dictionary of non-terminal transitions - dtrans = {} - for t in trans: - dtrans[t] = 1 - - # Loop over all transitions and compute lookbacks and includes - for state, N in trans: - lookb = [] - includes = [] - for p in C[state]: - if p.name != N: - continue - - # Okay, we have a name match. We now follow the production all the way - # through the state machine until we get the . on the right hand side - - lr_index = p.lr_index - j = state - while lr_index < p.len - 1: - lr_index = lr_index + 1 - t = p.prod[lr_index] - - # Check to see if this symbol and state are a non-terminal transition - if (j, t) in dtrans: - # Yes. Okay, there is some chance that this is an includes relation - # the only way to know for certain is whether the rest of the - # production derives empty - - li = lr_index + 1 - while li < p.len: - if p.prod[li] in self.grammar.Terminals: - break # No forget it - if p.prod[li] not in nullable: - break - li = li + 1 - else: - # Appears to be a relation between (j,t) and (state,N) - includes.append((j, t)) - - g = self.lr0_goto(C[j], t) # Go to next set - j = self.lr0_cidhash.get(id(g), -1) # Go to next state - - # When we get here, j is the final state, now we have to locate the production - for r in C[j]: - if r.name != p.name: - continue - if r.len != p.len: - continue - i = 0 - # This look is comparing a production ". A B C" with "A B C ." - while i < r.lr_index: - if r.prod[i] != p.prod[i+1]: - break - i = i + 1 - else: - lookb.append((j, r)) - for i in includes: - if i not in includedict: - includedict[i] = [] - includedict[i].append((state, N)) - lookdict[(state, N)] = lookb - - return lookdict, includedict - - # ----------------------------------------------------------------------------- - # compute_read_sets() - # - # Given a set of LR(0) items, this function computes the read sets. - # - # Inputs: C = Set of LR(0) items - # ntrans = Set of nonterminal transitions - # nullable = Set of empty transitions - # - # Returns a set containing the read sets - # ----------------------------------------------------------------------------- - - def compute_read_sets(self, C, ntrans, nullable): - FP = lambda x: self.dr_relation(C, x, nullable) - R = lambda x: self.reads_relation(C, x, nullable) - F = digraph(ntrans, R, FP) - return F - - # ----------------------------------------------------------------------------- - # compute_follow_sets() - # - # Given a set of LR(0) items, a set of non-terminal transitions, a readset, - # and an include set, this function computes the follow sets - # - # Follow(p,A) = Read(p,A) U U {Follow(p',B) | (p,A) INCLUDES (p',B)} - # - # Inputs: - # ntrans = Set of nonterminal transitions - # readsets = Readset (previously computed) - # inclsets = Include sets (previously computed) - # - # Returns a set containing the follow sets - # ----------------------------------------------------------------------------- - - def compute_follow_sets(self, ntrans, readsets, inclsets): - FP = lambda x: readsets[x] - R = lambda x: inclsets.get(x, []) - F = digraph(ntrans, R, FP) - return F - - # ----------------------------------------------------------------------------- - # add_lookaheads() - # - # Attaches the lookahead symbols to grammar rules. - # - # Inputs: lookbacks - Set of lookback relations - # followset - Computed follow set - # - # This function directly attaches the lookaheads to productions contained - # in the lookbacks set - # ----------------------------------------------------------------------------- - - def add_lookaheads(self, lookbacks, followset): - for trans, lb in lookbacks.items(): - # Loop over productions in lookback - for state, p in lb: - if state not in p.lookaheads: - p.lookaheads[state] = [] - f = followset.get(trans, []) - for a in f: - if a not in p.lookaheads[state]: - p.lookaheads[state].append(a) - - # ----------------------------------------------------------------------------- - # add_lalr_lookaheads() - # - # This function does all of the work of adding lookahead information for use - # with LALR parsing - # ----------------------------------------------------------------------------- - - def add_lalr_lookaheads(self, C): - # Determine all of the nullable nonterminals - nullable = self.compute_nullable_nonterminals() - - # Find all non-terminal transitions - trans = self.find_nonterminal_transitions(C) - - # Compute read sets - readsets = self.compute_read_sets(C, trans, nullable) - - # Compute lookback/includes relations - lookd, included = self.compute_lookback_includes(C, trans, nullable) - - # Compute LALR FOLLOW sets - followsets = self.compute_follow_sets(trans, readsets, included) - - # Add all of the lookaheads - self.add_lookaheads(lookd, followsets) - - # ----------------------------------------------------------------------------- - # lr_parse_table() - # - # This function constructs the parse tables for SLR or LALR - # ----------------------------------------------------------------------------- - def lr_parse_table(self): - Productions = self.grammar.Productions - Precedence = self.grammar.Precedence - goto = self.lr_goto # Goto array - action = self.lr_action # Action array - log = self.log # Logger for output - - actionp = {} # Action production array (temporary) - - log.info('Parsing method: %s', self.lr_method) - - # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items - # This determines the number of states - - C = self.lr0_items() - - if self.lr_method == 'LALR': - self.add_lalr_lookaheads(C) - - # Build the parser table, state by state - st = 0 - for I in C: - # Loop over each production in I - actlist = [] # List of actions - st_action = {} - st_actionp = {} - st_goto = {} - log.info('') - log.info('state %d', st) - log.info('') - for p in I: - log.info(' (%d) %s', p.number, p) - log.info('') - - for p in I: - if p.len == p.lr_index + 1: - if p.name == "S'": - # Start symbol. Accept! - st_action['$end'] = 0 - st_actionp['$end'] = p - else: - # We are at the end of a production. Reduce! - if self.lr_method == 'LALR': - laheads = p.lookaheads[st] - else: - laheads = self.grammar.Follow[p.name] - for a in laheads: - actlist.append((a, p, 'reduce using rule %d (%s)' % (p.number, p))) - r = st_action.get(a) - if r is not None: - # Whoa. Have a shift/reduce or reduce/reduce conflict - if r > 0: - # Need to decide on shift or reduce here - # By default we favor shifting. Need to add - # some precedence rules here. - - # Shift precedence comes from the token - sprec, slevel = Precedence.get(a, ('right', 0)) - - # Reduce precedence comes from rule being reduced (p) - rprec, rlevel = Productions[p.number].prec - - if (slevel < rlevel) or ((slevel == rlevel) and (rprec == 'left')): - # We really need to reduce here. - st_action[a] = -p.number - st_actionp[a] = p - if not slevel and not rlevel: - log.info(' ! shift/reduce conflict for %s resolved as reduce', a) - self.sr_conflicts.append((st, a, 'reduce')) - Productions[p.number].reduced += 1 - elif (slevel == rlevel) and (rprec == 'nonassoc'): - st_action[a] = None - else: - # Hmmm. Guess we'll keep the shift - if not rlevel: - log.info(' ! shift/reduce conflict for %s resolved as shift', a) - self.sr_conflicts.append((st, a, 'shift')) - elif r < 0: - # Reduce/reduce conflict. In this case, we favor the rule - # that was defined first in the grammar file - oldp = Productions[-r] - pp = Productions[p.number] - if oldp.line > pp.line: - st_action[a] = -p.number - st_actionp[a] = p - chosenp, rejectp = pp, oldp - Productions[p.number].reduced += 1 - Productions[oldp.number].reduced -= 1 - else: - chosenp, rejectp = oldp, pp - self.rr_conflicts.append((st, chosenp, rejectp)) - log.info(' ! reduce/reduce conflict for %s resolved using rule %d (%s)', - a, st_actionp[a].number, st_actionp[a]) - else: - raise LALRError('Unknown conflict in state %d' % st) - else: - st_action[a] = -p.number - st_actionp[a] = p - Productions[p.number].reduced += 1 - else: - i = p.lr_index - a = p.prod[i+1] # Get symbol right after the "." - if a in self.grammar.Terminals: - g = self.lr0_goto(I, a) - j = self.lr0_cidhash.get(id(g), -1) - if j >= 0: - # We are in a shift state - actlist.append((a, p, 'shift and go to state %d' % j)) - r = st_action.get(a) - if r is not None: - # Whoa have a shift/reduce or shift/shift conflict - if r > 0: - if r != j: - raise LALRError('Shift/shift conflict in state %d' % st) - elif r < 0: - # Do a precedence check. - # - if precedence of reduce rule is higher, we reduce. - # - if precedence of reduce is same and left assoc, we reduce. - # - otherwise we shift - - # Shift precedence comes from the token - sprec, slevel = Precedence.get(a, ('right', 0)) - - # Reduce precedence comes from the rule that could have been reduced - rprec, rlevel = Productions[st_actionp[a].number].prec - - if (slevel > rlevel) or ((slevel == rlevel) and (rprec == 'right')): - # We decide to shift here... highest precedence to shift - Productions[st_actionp[a].number].reduced -= 1 - st_action[a] = j - st_actionp[a] = p - if not rlevel: - log.info(' ! shift/reduce conflict for %s resolved as shift', a) - self.sr_conflicts.append((st, a, 'shift')) - elif (slevel == rlevel) and (rprec == 'nonassoc'): - st_action[a] = None - else: - # Hmmm. Guess we'll keep the reduce - if not slevel and not rlevel: - log.info(' ! shift/reduce conflict for %s resolved as reduce', a) - self.sr_conflicts.append((st, a, 'reduce')) - - else: - raise LALRError('Unknown conflict in state %d' % st) - else: - st_action[a] = j - st_actionp[a] = p - - # Print the actions associated with each terminal - _actprint = {} - for a, p, m in actlist: - if a in st_action: - if p is st_actionp[a]: - log.info(' %-15s %s', a, m) - _actprint[(a, m)] = 1 - log.info('') - # Print the actions that were not used. (debugging) - not_used = 0 - for a, p, m in actlist: - if a in st_action: - if p is not st_actionp[a]: - if not (a, m) in _actprint: - log.debug(' ! %-15s [ %s ]', a, m) - not_used = 1 - _actprint[(a, m)] = 1 - if not_used: - log.debug('') - - # Construct the goto table for this state - - nkeys = {} - for ii in I: - for s in ii.usyms: - if s in self.grammar.Nonterminals: - nkeys[s] = None - for n in nkeys: - g = self.lr0_goto(I, n) - j = self.lr0_cidhash.get(id(g), -1) - if j >= 0: - st_goto[n] = j - log.info(' %-30s shift and go to state %d', n, j) - - action[st] = st_action - actionp[st] = st_actionp - goto[st] = st_goto - st += 1 - - # ----------------------------------------------------------------------------- - # write() - # - # This function writes the LR parsing tables to a file - # ----------------------------------------------------------------------------- - - def write_table(self, tabmodule, outputdir='', signature=''): - if isinstance(tabmodule, types.ModuleType): - raise IOError("Won't overwrite existing tabmodule") - - basemodulename = tabmodule.split('.')[-1] - filename = os.path.join(outputdir, basemodulename) + '.py' - try: - f = open(filename, 'w') - - f.write(''' -# %s -# This file is automatically generated. Do not edit. -_tabversion = %r - -_lr_method = %r - -_lr_signature = %r - ''' % (os.path.basename(filename), __tabversion__, self.lr_method, signature)) - - # Change smaller to 0 to go back to original tables - smaller = 1 - - # Factor out names to try and make smaller - if smaller: - items = {} - - for s, nd in self.lr_action.items(): - for name, v in nd.items(): - i = items.get(name) - if not i: - i = ([], []) - items[name] = i - i[0].append(s) - i[1].append(v) - - f.write('\n_lr_action_items = {') - for k, v in items.items(): - f.write('%r:([' % k) - for i in v[0]: - f.write('%r,' % i) - f.write('],[') - for i in v[1]: - f.write('%r,' % i) - - f.write(']),') - f.write('}\n') - - f.write(''' -_lr_action = {} -for _k, _v in _lr_action_items.items(): - for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_action: _lr_action[_x] = {} - _lr_action[_x][_k] = _y -del _lr_action_items -''') - - else: - f.write('\n_lr_action = { ') - for k, v in self.lr_action.items(): - f.write('(%r,%r):%r,' % (k[0], k[1], v)) - f.write('}\n') - - if smaller: - # Factor out names to try and make smaller - items = {} - - for s, nd in self.lr_goto.items(): - for name, v in nd.items(): - i = items.get(name) - if not i: - i = ([], []) - items[name] = i - i[0].append(s) - i[1].append(v) - - f.write('\n_lr_goto_items = {') - for k, v in items.items(): - f.write('%r:([' % k) - for i in v[0]: - f.write('%r,' % i) - f.write('],[') - for i in v[1]: - f.write('%r,' % i) - - f.write(']),') - f.write('}\n') - - f.write(''' -_lr_goto = {} -for _k, _v in _lr_goto_items.items(): - for _x, _y in zip(_v[0], _v[1]): - if not _x in _lr_goto: _lr_goto[_x] = {} - _lr_goto[_x][_k] = _y -del _lr_goto_items -''') - else: - f.write('\n_lr_goto = { ') - for k, v in self.lr_goto.items(): - f.write('(%r,%r):%r,' % (k[0], k[1], v)) - f.write('}\n') - - # Write production table - f.write('_lr_productions = [\n') - for p in self.lr_productions: - if p.func: - f.write(' (%r,%r,%d,%r,%r,%d),\n' % (p.str, p.name, p.len, - p.func, os.path.basename(p.file), p.line)) - else: - f.write(' (%r,%r,%d,None,None,None),\n' % (str(p), p.name, p.len)) - f.write(']\n') - f.close() - - except IOError as e: - raise - - - # ----------------------------------------------------------------------------- - # pickle_table() - # - # This function pickles the LR parsing tables to a supplied file object - # ----------------------------------------------------------------------------- - - def pickle_table(self, filename, signature=''): - try: - import cPickle as pickle - except ImportError: - import pickle - with open(filename, 'wb') as outf: - pickle.dump(__tabversion__, outf, pickle_protocol) - pickle.dump(self.lr_method, outf, pickle_protocol) - pickle.dump(signature, outf, pickle_protocol) - pickle.dump(self.lr_action, outf, pickle_protocol) - pickle.dump(self.lr_goto, outf, pickle_protocol) - - outp = [] - for p in self.lr_productions: - if p.func: - outp.append((p.str, p.name, p.len, p.func, os.path.basename(p.file), p.line)) - else: - outp.append((str(p), p.name, p.len, None, None, None)) - pickle.dump(outp, outf, pickle_protocol) - -# ----------------------------------------------------------------------------- -# === INTROSPECTION === -# -# The following functions and classes are used to implement the PLY -# introspection features followed by the yacc() function itself. -# ----------------------------------------------------------------------------- - -# ----------------------------------------------------------------------------- -# get_caller_module_dict() -# -# This function returns a dictionary containing all of the symbols defined within -# a caller further down the call stack. This is used to get the environment -# associated with the yacc() call if none was provided. -# ----------------------------------------------------------------------------- - -def get_caller_module_dict(levels): - f = sys._getframe(levels) - ldict = f.f_globals.copy() - if f.f_globals != f.f_locals: - ldict.update(f.f_locals) - return ldict - -# ----------------------------------------------------------------------------- -# parse_grammar() -# -# This takes a raw grammar rule string and parses it into production data -# ----------------------------------------------------------------------------- -def parse_grammar(doc, file, line): - grammar = [] - # Split the doc string into lines - pstrings = doc.splitlines() - lastp = None - dline = line - for ps in pstrings: - dline += 1 - p = ps.split() - if not p: - continue - try: - if p[0] == '|': - # This is a continuation of a previous rule - if not lastp: - raise SyntaxError("%s:%d: Misplaced '|'" % (file, dline)) - prodname = lastp - syms = p[1:] - else: - prodname = p[0] - lastp = prodname - syms = p[2:] - assign = p[1] - if assign != ':' and assign != '::=': - raise SyntaxError("%s:%d: Syntax error. Expected ':'" % (file, dline)) - - grammar.append((file, dline, prodname, syms)) - except SyntaxError: - raise - except Exception: - raise SyntaxError('%s:%d: Syntax error in rule %r' % (file, dline, ps.strip())) - - return grammar - -# ----------------------------------------------------------------------------- -# ParserReflect() -# -# This class represents information extracted for building a parser including -# start symbol, error function, tokens, precedence list, action functions, -# etc. -# ----------------------------------------------------------------------------- -class ParserReflect(object): - def __init__(self, pdict, log=None): - self.pdict = pdict - self.start = None - self.error_func = None - self.tokens = None - self.modules = set() - self.grammar = [] - self.error = False - - if log is None: - self.log = PlyLogger(sys.stderr) - else: - self.log = log - - # Get all of the basic information - def get_all(self): - self.get_start() - self.get_error_func() - self.get_tokens() - self.get_precedence() - self.get_pfunctions() - - # Validate all of the information - def validate_all(self): - self.validate_start() - self.validate_error_func() - self.validate_tokens() - self.validate_precedence() - self.validate_pfunctions() - self.validate_modules() - return self.error - - # Compute a signature over the grammar - def signature(self): - parts = [] - try: - if self.start: - parts.append(self.start) - if self.prec: - parts.append(''.join([''.join(p) for p in self.prec])) - if self.tokens: - parts.append(' '.join(self.tokens)) - for f in self.pfuncs: - if f[3]: - parts.append(f[3]) - except (TypeError, ValueError): - pass - return ''.join(parts) - - # ----------------------------------------------------------------------------- - # validate_modules() - # - # This method checks to see if there are duplicated p_rulename() functions - # in the parser module file. Without this function, it is really easy for - # users to make mistakes by cutting and pasting code fragments (and it's a real - # bugger to try and figure out why the resulting parser doesn't work). Therefore, - # we just do a little regular expression pattern matching of def statements - # to try and detect duplicates. - # ----------------------------------------------------------------------------- - - def validate_modules(self): - # Match def p_funcname( - fre = re.compile(r'\s*def\s+(p_[a-zA-Z_0-9]*)\(') - - for module in self.modules: - try: - lines, linen = inspect.getsourcelines(module) - except IOError: - continue - - counthash = {} - for linen, line in enumerate(lines): - linen += 1 - m = fre.match(line) - if m: - name = m.group(1) - prev = counthash.get(name) - if not prev: - counthash[name] = linen - else: - filename = inspect.getsourcefile(module) - self.log.warning('%s:%d: Function %s redefined. Previously defined on line %d', - filename, linen, name, prev) - - # Get the start symbol - def get_start(self): - self.start = self.pdict.get('start') - - # Validate the start symbol - def validate_start(self): - if self.start is not None: - if not isinstance(self.start, string_types): - self.log.error("'start' must be a string") - - # Look for error handler - def get_error_func(self): - self.error_func = self.pdict.get('p_error') - - # Validate the error function - def validate_error_func(self): - if self.error_func: - if isinstance(self.error_func, types.FunctionType): - ismethod = 0 - elif isinstance(self.error_func, types.MethodType): - ismethod = 1 - else: - self.log.error("'p_error' defined, but is not a function or method") - self.error = True - return - - eline = self.error_func.__code__.co_firstlineno - efile = self.error_func.__code__.co_filename - module = inspect.getmodule(self.error_func) - self.modules.add(module) - - argcount = self.error_func.__code__.co_argcount - ismethod - if argcount != 1: - self.log.error('%s:%d: p_error() requires 1 argument', efile, eline) - self.error = True - - # Get the tokens map - def get_tokens(self): - tokens = self.pdict.get('tokens') - if not tokens: - self.log.error('No token list is defined') - self.error = True - return - - if not isinstance(tokens, (list, tuple)): - self.log.error('tokens must be a list or tuple') - self.error = True - return - - if not tokens: - self.log.error('tokens is empty') - self.error = True - return - - self.tokens = tokens - - # Validate the tokens - def validate_tokens(self): - # Validate the tokens. - if 'error' in self.tokens: - self.log.error("Illegal token name 'error'. Is a reserved word") - self.error = True - return - - terminals = set() - for n in self.tokens: - if n in terminals: - self.log.warning('Token %r multiply defined', n) - terminals.add(n) - - # Get the precedence map (if any) - def get_precedence(self): - self.prec = self.pdict.get('precedence') - - # Validate and parse the precedence map - def validate_precedence(self): - preclist = [] - if self.prec: - if not isinstance(self.prec, (list, tuple)): - self.log.error('precedence must be a list or tuple') - self.error = True - return - for level, p in enumerate(self.prec): - if not isinstance(p, (list, tuple)): - self.log.error('Bad precedence table') - self.error = True - return - - if len(p) < 2: - self.log.error('Malformed precedence entry %s. Must be (assoc, term, ..., term)', p) - self.error = True - return - assoc = p[0] - if not isinstance(assoc, string_types): - self.log.error('precedence associativity must be a string') - self.error = True - return - for term in p[1:]: - if not isinstance(term, string_types): - self.log.error('precedence items must be strings') - self.error = True - return - preclist.append((term, assoc, level+1)) - self.preclist = preclist - - # Get all p_functions from the grammar - def get_pfunctions(self): - p_functions = [] - for name, item in self.pdict.items(): - if not name.startswith('p_') or name == 'p_error': - continue - if isinstance(item, (types.FunctionType, types.MethodType)): - line = getattr(item, 'co_firstlineno', item.__code__.co_firstlineno) - module = inspect.getmodule(item) - p_functions.append((line, module, name, item.__doc__)) - - # Sort all of the actions by line number; make sure to stringify - # modules to make them sortable, since `line` may not uniquely sort all - # p functions - p_functions.sort(key=lambda p_function: ( - p_function[0], - str(p_function[1]), - p_function[2], - p_function[3])) - self.pfuncs = p_functions - - # Validate all of the p_functions - def validate_pfunctions(self): - grammar = [] - # Check for non-empty symbols - if len(self.pfuncs) == 0: - self.log.error('no rules of the form p_rulename are defined') - self.error = True - return - - for line, module, name, doc in self.pfuncs: - file = inspect.getsourcefile(module) - func = self.pdict[name] - if isinstance(func, types.MethodType): - reqargs = 2 - else: - reqargs = 1 - if func.__code__.co_argcount > reqargs: - self.log.error('%s:%d: Rule %r has too many arguments', file, line, func.__name__) - self.error = True - elif func.__code__.co_argcount < reqargs: - self.log.error('%s:%d: Rule %r requires an argument', file, line, func.__name__) - self.error = True - elif not func.__doc__: - self.log.warning('%s:%d: No documentation string specified in function %r (ignored)', - file, line, func.__name__) - else: - try: - parsed_g = parse_grammar(doc, file, line) - for g in parsed_g: - grammar.append((name, g)) - except SyntaxError as e: - self.log.error(str(e)) - self.error = True - - # Looks like a valid grammar rule - # Mark the file in which defined. - self.modules.add(module) - - # Secondary validation step that looks for p_ definitions that are not functions - # or functions that look like they might be grammar rules. - - for n, v in self.pdict.items(): - if n.startswith('p_') and isinstance(v, (types.FunctionType, types.MethodType)): - continue - if n.startswith('t_'): - continue - if n.startswith('p_') and n != 'p_error': - self.log.warning('%r not defined as a function', n) - if ((isinstance(v, types.FunctionType) and v.__code__.co_argcount == 1) or - (isinstance(v, types.MethodType) and v.__func__.__code__.co_argcount == 2)): - if v.__doc__: - try: - doc = v.__doc__.split(' ') - if doc[1] == ':': - self.log.warning('%s:%d: Possible grammar rule %r defined without p_ prefix', - v.__code__.co_filename, v.__code__.co_firstlineno, n) - except IndexError: - pass - - self.grammar = grammar - -# ----------------------------------------------------------------------------- -# yacc(module) -# -# Build a parser -# ----------------------------------------------------------------------------- - -def yacc(method='LALR', debug=yaccdebug, module=None, tabmodule=tab_module, start=None, - check_recursion=True, optimize=False, write_tables=True, debugfile=debug_file, - outputdir=None, debuglog=None, errorlog=None, picklefile=None): - - if tabmodule is None: - tabmodule = tab_module - - # Reference to the parsing method of the last built parser - global parse - - # If pickling is enabled, table files are not created - if picklefile: - write_tables = 0 - - if errorlog is None: - errorlog = PlyLogger(sys.stderr) - - # Get the module dictionary used for the parser - if module: - _items = [(k, getattr(module, k)) for k in dir(module)] - pdict = dict(_items) - # If no __file__ attribute is available, try to obtain it from the __module__ instead - if '__file__' not in pdict: - pdict['__file__'] = sys.modules[pdict['__module__']].__file__ - else: - pdict = get_caller_module_dict(2) - - if outputdir is None: - # If no output directory is set, the location of the output files - # is determined according to the following rules: - # - If tabmodule specifies a package, files go into that package directory - # - Otherwise, files go in the same directory as the specifying module - if isinstance(tabmodule, types.ModuleType): - srcfile = tabmodule.__file__ - else: - if '.' not in tabmodule: - srcfile = pdict['__file__'] - else: - parts = tabmodule.split('.') - pkgname = '.'.join(parts[:-1]) - exec('import %s' % pkgname) - srcfile = getattr(sys.modules[pkgname], '__file__', '') - outputdir = os.path.dirname(srcfile) - - # Determine if the module is package of a package or not. - # If so, fix the tabmodule setting so that tables load correctly - pkg = pdict.get('__package__') - if pkg and isinstance(tabmodule, str): - if '.' not in tabmodule: - tabmodule = pkg + '.' + tabmodule - - - - # Set start symbol if it's specified directly using an argument - if start is not None: - pdict['start'] = start - - # Collect parser information from the dictionary - pinfo = ParserReflect(pdict, log=errorlog) - pinfo.get_all() - - if pinfo.error: - raise YaccError('Unable to build parser') - - # Check signature against table files (if any) - signature = pinfo.signature() - - # Read the tables - try: - lr = LRTable() - if picklefile: - read_signature = lr.read_pickle(picklefile) - else: - read_signature = lr.read_table(tabmodule) - if optimize or (read_signature == signature): - try: - lr.bind_callables(pinfo.pdict) - parser = LRParser(lr, pinfo.error_func) - parse = parser.parse - return parser - except Exception as e: - errorlog.warning('There was a problem loading the table file: %r', e) - except VersionError as e: - errorlog.warning(str(e)) - except ImportError: - pass - - if debuglog is None: - if debug: - try: - debuglog = PlyLogger(open(os.path.join(outputdir, debugfile), 'w')) - except IOError as e: - errorlog.warning("Couldn't open %r. %s" % (debugfile, e)) - debuglog = NullLogger() - else: - debuglog = NullLogger() - - debuglog.info('Created by PLY version %s (http://www.dabeaz.com/ply)', __version__) - - errors = False - - # Validate the parser information - if pinfo.validate_all(): - raise YaccError('Unable to build parser') - - if not pinfo.error_func: - errorlog.warning('no p_error() function is defined') - - # Create a grammar object - grammar = Grammar(pinfo.tokens) - - # Set precedence level for terminals - for term, assoc, level in pinfo.preclist: - try: - grammar.set_precedence(term, assoc, level) - except GrammarError as e: - errorlog.warning('%s', e) - - # Add productions to the grammar - for funcname, gram in pinfo.grammar: - file, line, prodname, syms = gram - try: - grammar.add_production(prodname, syms, funcname, file, line) - except GrammarError as e: - errorlog.error('%s', e) - errors = True - - # Set the grammar start symbols - try: - if start is None: - grammar.set_start(pinfo.start) - else: - grammar.set_start(start) - except GrammarError as e: - errorlog.error(str(e)) - errors = True - - if errors: - raise YaccError('Unable to build parser') - - # Verify the grammar structure - undefined_symbols = grammar.undefined_symbols() - for sym, prod in undefined_symbols: - errorlog.error('%s:%d: Symbol %r used, but not defined as a token or a rule', prod.file, prod.line, sym) - errors = True - - unused_terminals = grammar.unused_terminals() - if unused_terminals: - debuglog.info('') - debuglog.info('Unused terminals:') - debuglog.info('') - for term in unused_terminals: - errorlog.warning('Token %r defined, but not used', term) - debuglog.info(' %s', term) - - # Print out all productions to the debug log - if debug: - debuglog.info('') - debuglog.info('Grammar') - debuglog.info('') - for n, p in enumerate(grammar.Productions): - debuglog.info('Rule %-5d %s', n, p) - - # Find unused non-terminals - unused_rules = grammar.unused_rules() - for prod in unused_rules: - errorlog.warning('%s:%d: Rule %r defined, but not used', prod.file, prod.line, prod.name) - - if len(unused_terminals) == 1: - errorlog.warning('There is 1 unused token') - if len(unused_terminals) > 1: - errorlog.warning('There are %d unused tokens', len(unused_terminals)) - - if len(unused_rules) == 1: - errorlog.warning('There is 1 unused rule') - if len(unused_rules) > 1: - errorlog.warning('There are %d unused rules', len(unused_rules)) - - if debug: - debuglog.info('') - debuglog.info('Terminals, with rules where they appear') - debuglog.info('') - terms = list(grammar.Terminals) - terms.sort() - for term in terms: - debuglog.info('%-20s : %s', term, ' '.join([str(s) for s in grammar.Terminals[term]])) - - debuglog.info('') - debuglog.info('Nonterminals, with rules where they appear') - debuglog.info('') - nonterms = list(grammar.Nonterminals) - nonterms.sort() - for nonterm in nonterms: - debuglog.info('%-20s : %s', nonterm, ' '.join([str(s) for s in grammar.Nonterminals[nonterm]])) - debuglog.info('') - - if check_recursion: - unreachable = grammar.find_unreachable() - for u in unreachable: - errorlog.warning('Symbol %r is unreachable', u) - - infinite = grammar.infinite_cycles() - for inf in infinite: - errorlog.error('Infinite recursion detected for symbol %r', inf) - errors = True - - unused_prec = grammar.unused_precedence() - for term, assoc in unused_prec: - errorlog.error('Precedence rule %r defined for unknown symbol %r', assoc, term) - errors = True - - if errors: - raise YaccError('Unable to build parser') - - # Run the LRGeneratedTable on the grammar - if debug: - errorlog.debug('Generating %s tables', method) - - lr = LRGeneratedTable(grammar, method, debuglog) - - if debug: - num_sr = len(lr.sr_conflicts) - - # Report shift/reduce and reduce/reduce conflicts - if num_sr == 1: - errorlog.warning('1 shift/reduce conflict') - elif num_sr > 1: - errorlog.warning('%d shift/reduce conflicts', num_sr) - - num_rr = len(lr.rr_conflicts) - if num_rr == 1: - errorlog.warning('1 reduce/reduce conflict') - elif num_rr > 1: - errorlog.warning('%d reduce/reduce conflicts', num_rr) - - # Write out conflicts to the output file - if debug and (lr.sr_conflicts or lr.rr_conflicts): - debuglog.warning('') - debuglog.warning('Conflicts:') - debuglog.warning('') - - for state, tok, resolution in lr.sr_conflicts: - debuglog.warning('shift/reduce conflict for %s in state %d resolved as %s', tok, state, resolution) - - already_reported = set() - for state, rule, rejected in lr.rr_conflicts: - if (state, id(rule), id(rejected)) in already_reported: - continue - debuglog.warning('reduce/reduce conflict in state %d resolved using rule (%s)', state, rule) - debuglog.warning('rejected rule (%s) in state %d', rejected, state) - errorlog.warning('reduce/reduce conflict in state %d resolved using rule (%s)', state, rule) - errorlog.warning('rejected rule (%s) in state %d', rejected, state) - already_reported.add((state, id(rule), id(rejected))) - - warned_never = [] - for state, rule, rejected in lr.rr_conflicts: - if not rejected.reduced and (rejected not in warned_never): - debuglog.warning('Rule (%s) is never reduced', rejected) - errorlog.warning('Rule (%s) is never reduced', rejected) - warned_never.append(rejected) - - # Write the table file if requested - if write_tables: - try: - lr.write_table(tabmodule, outputdir, signature) - except IOError as e: - errorlog.warning("Couldn't create %r. %s" % (tabmodule, e)) - - # Write a pickled version of the tables - if picklefile: - try: - lr.pickle_table(picklefile, signature) - except IOError as e: - errorlog.warning("Couldn't create %r. %s" % (picklefile, e)) - - # Build the parser - lr.bind_callables(pinfo.pdict) - parser = LRParser(lr, pinfo.error_func) - - parse = parser.parse - return parser diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ygen.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ygen.py deleted file mode 100644 index acf5ca1a..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/ply/ygen.py +++ /dev/null @@ -1,74 +0,0 @@ -# ply: ygen.py -# -# This is a support program that auto-generates different versions of the YACC parsing -# function with different features removed for the purposes of performance. -# -# Users should edit the method LParser.parsedebug() in yacc.py. The source code -# for that method is then used to create the other methods. See the comments in -# yacc.py for further details. - -import os.path -import shutil - -def get_source_range(lines, tag): - srclines = enumerate(lines) - start_tag = '#--! %s-start' % tag - end_tag = '#--! %s-end' % tag - - for start_index, line in srclines: - if line.strip().startswith(start_tag): - break - - for end_index, line in srclines: - if line.strip().endswith(end_tag): - break - - return (start_index + 1, end_index) - -def filter_section(lines, tag): - filtered_lines = [] - include = True - tag_text = '#--! %s' % tag - for line in lines: - if line.strip().startswith(tag_text): - include = not include - elif include: - filtered_lines.append(line) - return filtered_lines - -def main(): - dirname = os.path.dirname(__file__) - shutil.copy2(os.path.join(dirname, 'yacc.py'), os.path.join(dirname, 'yacc.py.bak')) - with open(os.path.join(dirname, 'yacc.py'), 'r') as f: - lines = f.readlines() - - parse_start, parse_end = get_source_range(lines, 'parsedebug') - parseopt_start, parseopt_end = get_source_range(lines, 'parseopt') - parseopt_notrack_start, parseopt_notrack_end = get_source_range(lines, 'parseopt-notrack') - - # Get the original source - orig_lines = lines[parse_start:parse_end] - - # Filter the DEBUG sections out - parseopt_lines = filter_section(orig_lines, 'DEBUG') - - # Filter the TRACKING sections out - parseopt_notrack_lines = filter_section(parseopt_lines, 'TRACKING') - - # Replace the parser source sections with updated versions - lines[parseopt_notrack_start:parseopt_notrack_end] = parseopt_notrack_lines - lines[parseopt_start:parseopt_end] = parseopt_lines - - lines = [line.rstrip()+'\n' for line in lines] - with open(os.path.join(dirname, 'yacc.py'), 'w') as f: - f.writelines(lines) - - print('Updated yacc.py') - -if __name__ == '__main__': - main() - - - - - diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/plyparser.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/plyparser.py deleted file mode 100644 index 6222c0ea..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/plyparser.py +++ /dev/null @@ -1,133 +0,0 @@ -#----------------------------------------------------------------- -# plyparser.py -# -# PLYParser class and other utilites for simplifying programming -# parsers with PLY -# -# Eli Bendersky [https://eli.thegreenplace.net/] -# License: BSD -#----------------------------------------------------------------- - -import warnings - -class Coord(object): - """ Coordinates of a syntactic element. Consists of: - - File name - - Line number - - (optional) column number, for the Lexer - """ - __slots__ = ('file', 'line', 'column', '__weakref__') - def __init__(self, file, line, column=None): - self.file = file - self.line = line - self.column = column - - def __str__(self): - str = "%s:%s" % (self.file, self.line) - if self.column: str += ":%s" % self.column - return str - - -class ParseError(Exception): pass - - -class PLYParser(object): - def _create_opt_rule(self, rulename): - """ Given a rule name, creates an optional ply.yacc rule - for it. The name of the optional rule is - _opt - """ - optname = rulename + '_opt' - - def optrule(self, p): - p[0] = p[1] - - optrule.__doc__ = '%s : empty\n| %s' % (optname, rulename) - optrule.__name__ = 'p_%s' % optname - setattr(self.__class__, optrule.__name__, optrule) - - def _coord(self, lineno, column=None): - return Coord( - file=self.clex.filename, - line=lineno, - column=column) - - def _token_coord(self, p, token_idx): - """ Returns the coordinates for the YaccProduction objet 'p' indexed - with 'token_idx'. The coordinate includes the 'lineno' and - 'column'. Both follow the lex semantic, starting from 1. - """ - last_cr = p.lexer.lexer.lexdata.rfind('\n', 0, p.lexpos(token_idx)) - if last_cr < 0: - last_cr = -1 - column = (p.lexpos(token_idx) - (last_cr)) - return self._coord(p.lineno(token_idx), column) - - def _parse_error(self, msg, coord): - raise ParseError("%s: %s" % (coord, msg)) - - -def parameterized(*params): - """ Decorator to create parameterized rules. - - Parameterized rule methods must be named starting with 'p_' and contain - 'xxx', and their docstrings may contain 'xxx' and 'yyy'. These will be - replaced by the given parameter tuples. For example, ``p_xxx_rule()`` with - docstring 'xxx_rule : yyy' when decorated with - ``@parameterized(('id', 'ID'))`` produces ``p_id_rule()`` with the docstring - 'id_rule : ID'. Using multiple tuples produces multiple rules. - """ - def decorate(rule_func): - rule_func._params = params - return rule_func - return decorate - - -def template(cls): - """ Class decorator to generate rules from parameterized rule templates. - - See `parameterized` for more information on parameterized rules. - """ - issued_nodoc_warning = False - for attr_name in dir(cls): - if attr_name.startswith('p_'): - method = getattr(cls, attr_name) - if hasattr(method, '_params'): - # Remove the template method - delattr(cls, attr_name) - # Create parameterized rules from this method; only run this if - # the method has a docstring. This is to address an issue when - # pycparser's users are installed in -OO mode which strips - # docstrings away. - # See: https://github.com/eliben/pycparser/pull/198/ and - # https://github.com/eliben/pycparser/issues/197 - # for discussion. - if method.__doc__ is not None: - _create_param_rules(cls, method) - elif not issued_nodoc_warning: - warnings.warn( - 'parsing methods must have __doc__ for pycparser to work properly', - RuntimeWarning, - stacklevel=2) - issued_nodoc_warning = True - return cls - - -def _create_param_rules(cls, func): - """ Create ply.yacc rules based on a parameterized rule function - - Generates new methods (one per each pair of parameters) based on the - template rule function `func`, and attaches them to `cls`. The rule - function's parameters must be accessible via its `_params` attribute. - """ - for xxx, yyy in func._params: - # Use the template method's body for each new method - def param_rule(self, p): - func(self, p) - - # Substitute in the params for the grammar rule and function name - param_rule.__doc__ = func.__doc__.replace('xxx', xxx).replace('yyy', yyy) - param_rule.__name__ = func.__name__.replace('xxx', xxx) - - # Attach the new method to the class - setattr(cls, param_rule.__name__, param_rule) diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser/yacctab.py b/IKEA_scraper/.venv/Lib/site-packages/pycparser/yacctab.py deleted file mode 100644 index 7fbdef97..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pycparser/yacctab.py +++ /dev/null @@ -1,338 +0,0 @@ - -# yacctab.py -# This file is automatically generated. Do not edit. -_tabversion = '3.10' - -_lr_method = 'LALR' - -_lr_signature = 'translation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMOD_BOOL _COMPLEX AUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM EXTERN FLOAT FOR GOTO IF INLINE INT LONG REGISTER OFFSETOF RESTRICT RETURN SHORT SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION UNSIGNED VOID VOLATILE WHILE __INT128 ID TYPEID INT_CONST_DEC INT_CONST_OCT INT_CONST_HEX INT_CONST_BIN FLOAT_CONST HEX_FLOAT_CONST CHAR_CONST WCHAR_CONST STRING_LITERAL WSTRING_LITERAL PLUS MINUS TIMES DIVIDE MOD OR AND NOT XOR LSHIFT RSHIFT LOR LAND LNOT LT LE GT GE EQ NE EQUALS TIMESEQUAL DIVEQUAL MODEQUAL PLUSEQUAL MINUSEQUAL LSHIFTEQUAL RSHIFTEQUAL ANDEQUAL XOREQUAL OREQUAL PLUSPLUS MINUSMINUS ARROW CONDOP LPAREN RPAREN LBRACKET RBRACKET LBRACE RBRACE COMMA PERIOD SEMI COLON ELLIPSIS PPHASH PPPRAGMA PPPRAGMASTRabstract_declarator_opt : empty\n| abstract_declaratorassignment_expression_opt : empty\n| assignment_expressionblock_item_list_opt : empty\n| block_item_listdeclaration_list_opt : empty\n| declaration_listdeclaration_specifiers_no_type_opt : empty\n| declaration_specifiers_no_typedesignation_opt : empty\n| designationexpression_opt : empty\n| expressionid_init_declarator_list_opt : empty\n| id_init_declarator_listidentifier_list_opt : empty\n| identifier_listinit_declarator_list_opt : empty\n| init_declarator_listinitializer_list_opt : empty\n| initializer_listparameter_type_list_opt : empty\n| parameter_type_liststruct_declarator_list_opt : empty\n| struct_declarator_listtype_qualifier_list_opt : empty\n| type_qualifier_list direct_id_declarator : ID\n direct_id_declarator : LPAREN id_declarator RPAREN\n direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_id_declarator : direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_id_declarator : direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_id_declarator : direct_id_declarator LPAREN parameter_type_list RPAREN\n | direct_id_declarator LPAREN identifier_list_opt RPAREN\n direct_typeid_declarator : TYPEID\n direct_typeid_declarator : LPAREN typeid_declarator RPAREN\n direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_typeid_declarator : direct_typeid_declarator LPAREN parameter_type_list RPAREN\n | direct_typeid_declarator LPAREN identifier_list_opt RPAREN\n direct_typeid_noparen_declarator : TYPEID\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET\n | direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET\n direct_typeid_noparen_declarator : direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN\n | direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN\n id_declarator : direct_id_declarator\n id_declarator : pointer direct_id_declarator\n typeid_declarator : direct_typeid_declarator\n typeid_declarator : pointer direct_typeid_declarator\n typeid_noparen_declarator : direct_typeid_noparen_declarator\n typeid_noparen_declarator : pointer direct_typeid_noparen_declarator\n translation_unit_or_empty : translation_unit\n | empty\n translation_unit : external_declaration\n translation_unit : translation_unit external_declaration\n external_declaration : function_definition\n external_declaration : declaration\n external_declaration : pp_directive\n | pppragma_directive\n external_declaration : SEMI\n pp_directive : PPHASH\n pppragma_directive : PPPRAGMA\n | PPPRAGMA PPPRAGMASTR\n function_definition : id_declarator declaration_list_opt compound_statement\n function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement\n statement : labeled_statement\n | expression_statement\n | compound_statement\n | selection_statement\n | iteration_statement\n | jump_statement\n | pppragma_directive\n pragmacomp_or_statement : pppragma_directive statement\n | statement\n decl_body : declaration_specifiers init_declarator_list_opt\n | declaration_specifiers_no_type id_init_declarator_list_opt\n declaration : decl_body SEMI\n declaration_list : declaration\n | declaration_list declaration\n declaration_specifiers_no_type : type_qualifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : storage_class_specifier declaration_specifiers_no_type_opt\n declaration_specifiers_no_type : function_specifier declaration_specifiers_no_type_opt\n declaration_specifiers : declaration_specifiers type_qualifier\n declaration_specifiers : declaration_specifiers storage_class_specifier\n declaration_specifiers : declaration_specifiers function_specifier\n declaration_specifiers : declaration_specifiers type_specifier_no_typeid\n declaration_specifiers : type_specifier\n declaration_specifiers : declaration_specifiers_no_type type_specifier\n storage_class_specifier : AUTO\n | REGISTER\n | STATIC\n | EXTERN\n | TYPEDEF\n function_specifier : INLINE\n type_specifier_no_typeid : VOID\n | _BOOL\n | CHAR\n | SHORT\n | INT\n | LONG\n | FLOAT\n | DOUBLE\n | _COMPLEX\n | SIGNED\n | UNSIGNED\n | __INT128\n type_specifier : typedef_name\n | enum_specifier\n | struct_or_union_specifier\n | type_specifier_no_typeid\n type_qualifier : CONST\n | RESTRICT\n | VOLATILE\n init_declarator_list : init_declarator\n | init_declarator_list COMMA init_declarator\n init_declarator : declarator\n | declarator EQUALS initializer\n id_init_declarator_list : id_init_declarator\n | id_init_declarator_list COMMA init_declarator\n id_init_declarator : id_declarator\n | id_declarator EQUALS initializer\n specifier_qualifier_list : specifier_qualifier_list type_specifier_no_typeid\n specifier_qualifier_list : specifier_qualifier_list type_qualifier\n specifier_qualifier_list : type_specifier\n specifier_qualifier_list : type_qualifier_list type_specifier\n struct_or_union_specifier : struct_or_union ID\n | struct_or_union TYPEID\n struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close\n | struct_or_union brace_open brace_close\n struct_or_union_specifier : struct_or_union ID brace_open struct_declaration_list brace_close\n | struct_or_union ID brace_open brace_close\n | struct_or_union TYPEID brace_open struct_declaration_list brace_close\n | struct_or_union TYPEID brace_open brace_close\n struct_or_union : STRUCT\n | UNION\n struct_declaration_list : struct_declaration\n | struct_declaration_list struct_declaration\n struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI\n struct_declaration : SEMI\n struct_declaration : pppragma_directive\n struct_declarator_list : struct_declarator\n | struct_declarator_list COMMA struct_declarator\n struct_declarator : declarator\n struct_declarator : declarator COLON constant_expression\n | COLON constant_expression\n enum_specifier : ENUM ID\n | ENUM TYPEID\n enum_specifier : ENUM brace_open enumerator_list brace_close\n enum_specifier : ENUM ID brace_open enumerator_list brace_close\n | ENUM TYPEID brace_open enumerator_list brace_close\n enumerator_list : enumerator\n | enumerator_list COMMA\n | enumerator_list COMMA enumerator\n enumerator : ID\n | ID EQUALS constant_expression\n declarator : id_declarator\n | typeid_declarator\n pointer : TIMES type_qualifier_list_opt\n | TIMES type_qualifier_list_opt pointer\n type_qualifier_list : type_qualifier\n | type_qualifier_list type_qualifier\n parameter_type_list : parameter_list\n | parameter_list COMMA ELLIPSIS\n parameter_list : parameter_declaration\n | parameter_list COMMA parameter_declaration\n parameter_declaration : declaration_specifiers id_declarator\n | declaration_specifiers typeid_noparen_declarator\n parameter_declaration : declaration_specifiers abstract_declarator_opt\n identifier_list : identifier\n | identifier_list COMMA identifier\n initializer : assignment_expression\n initializer : brace_open initializer_list_opt brace_close\n | brace_open initializer_list COMMA brace_close\n initializer_list : designation_opt initializer\n | initializer_list COMMA designation_opt initializer\n designation : designator_list EQUALS\n designator_list : designator\n | designator_list designator\n designator : LBRACKET constant_expression RBRACKET\n | PERIOD identifier\n type_name : specifier_qualifier_list abstract_declarator_opt\n abstract_declarator : pointer\n abstract_declarator : pointer direct_abstract_declarator\n abstract_declarator : direct_abstract_declarator\n direct_abstract_declarator : LPAREN abstract_declarator RPAREN direct_abstract_declarator : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET\n direct_abstract_declarator : LBRACKET assignment_expression_opt RBRACKET\n direct_abstract_declarator : direct_abstract_declarator LBRACKET TIMES RBRACKET\n direct_abstract_declarator : LBRACKET TIMES RBRACKET\n direct_abstract_declarator : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN\n direct_abstract_declarator : LPAREN parameter_type_list_opt RPAREN\n block_item : declaration\n | statement\n block_item_list : block_item\n | block_item_list block_item\n compound_statement : brace_open block_item_list_opt brace_close labeled_statement : ID COLON pragmacomp_or_statement labeled_statement : CASE constant_expression COLON pragmacomp_or_statement labeled_statement : DEFAULT COLON pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement jump_statement : GOTO ID SEMI jump_statement : BREAK SEMI jump_statement : CONTINUE SEMI jump_statement : RETURN expression SEMI\n | RETURN SEMI\n expression_statement : expression_opt SEMI expression : assignment_expression\n | expression COMMA assignment_expression\n typedef_name : TYPEID assignment_expression : conditional_expression\n | unary_expression assignment_operator assignment_expression\n assignment_operator : EQUALS\n | XOREQUAL\n | TIMESEQUAL\n | DIVEQUAL\n | MODEQUAL\n | PLUSEQUAL\n | MINUSEQUAL\n | LSHIFTEQUAL\n | RSHIFTEQUAL\n | ANDEQUAL\n | OREQUAL\n constant_expression : conditional_expression conditional_expression : binary_expression\n | binary_expression CONDOP expression COLON conditional_expression\n binary_expression : cast_expression\n | binary_expression TIMES binary_expression\n | binary_expression DIVIDE binary_expression\n | binary_expression MOD binary_expression\n | binary_expression PLUS binary_expression\n | binary_expression MINUS binary_expression\n | binary_expression RSHIFT binary_expression\n | binary_expression LSHIFT binary_expression\n | binary_expression LT binary_expression\n | binary_expression LE binary_expression\n | binary_expression GE binary_expression\n | binary_expression GT binary_expression\n | binary_expression EQ binary_expression\n | binary_expression NE binary_expression\n | binary_expression AND binary_expression\n | binary_expression OR binary_expression\n | binary_expression XOR binary_expression\n | binary_expression LAND binary_expression\n | binary_expression LOR binary_expression\n cast_expression : unary_expression cast_expression : LPAREN type_name RPAREN cast_expression unary_expression : postfix_expression unary_expression : PLUSPLUS unary_expression\n | MINUSMINUS unary_expression\n | unary_operator cast_expression\n unary_expression : SIZEOF unary_expression\n | SIZEOF LPAREN type_name RPAREN\n unary_operator : AND\n | TIMES\n | PLUS\n | MINUS\n | NOT\n | LNOT\n postfix_expression : primary_expression postfix_expression : postfix_expression LBRACKET expression RBRACKET postfix_expression : postfix_expression LPAREN argument_expression_list RPAREN\n | postfix_expression LPAREN RPAREN\n postfix_expression : postfix_expression PERIOD ID\n | postfix_expression PERIOD TYPEID\n | postfix_expression ARROW ID\n | postfix_expression ARROW TYPEID\n postfix_expression : postfix_expression PLUSPLUS\n | postfix_expression MINUSMINUS\n postfix_expression : LPAREN type_name RPAREN brace_open initializer_list brace_close\n | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close\n primary_expression : identifier primary_expression : constant primary_expression : unified_string_literal\n | unified_wstring_literal\n primary_expression : LPAREN expression RPAREN primary_expression : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN\n offsetof_member_designator : identifier\n | offsetof_member_designator PERIOD identifier\n | offsetof_member_designator LBRACKET expression RBRACKET\n argument_expression_list : assignment_expression\n | argument_expression_list COMMA assignment_expression\n identifier : ID constant : INT_CONST_DEC\n | INT_CONST_OCT\n | INT_CONST_HEX\n | INT_CONST_BIN\n constant : FLOAT_CONST\n | HEX_FLOAT_CONST\n constant : CHAR_CONST\n | WCHAR_CONST\n unified_string_literal : STRING_LITERAL\n | unified_string_literal STRING_LITERAL\n unified_wstring_literal : WSTRING_LITERAL\n | unified_wstring_literal WSTRING_LITERAL\n brace_open : LBRACE\n brace_close : RBRACE\n empty : ' - -_lr_action_items = {'VOID':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[6,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,6,-96,-111,-106,-65,-95,-112,6,-221,-109,-113,6,-63,-118,6,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,6,-53,6,-84,6,6,-61,-133,-307,-132,6,-153,-152,-166,-90,-92,6,-89,-91,-94,-83,-86,-88,-69,-30,6,6,-70,6,-85,6,6,6,-135,-130,-145,-146,-142,-308,6,6,-167,6,6,-36,-35,6,6,-73,-76,-72,-74,6,-78,-199,-198,-77,-200,-75,6,-139,6,-137,-134,-143,-131,-128,-129,-154,-71,6,-31,6,6,6,-34,6,6,6,-218,-217,6,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,6,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'LBRACKET':([2,3,5,6,7,8,9,10,11,15,16,19,20,21,24,25,29,30,31,32,35,37,39,41,44,45,48,50,51,54,61,69,70,71,73,74,76,77,78,79,80,83,85,88,91,92,96,105,113,115,126,127,131,139,140,143,150,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,187,188,189,192,193,196,199,229,232,234,235,237,238,244,249,251,260,276,279,280,282,286,293,296,319,324,325,356,357,362,363,370,371,374,379,383,384,385,386,389,394,397,398,418,419,420,421,427,428,447,448,452,454,456,459,460,466,472,473,474,475,476,484,485,486,491,492,495,496,507,510,511,512,513,518,520,525,],[-104,-117,-115,-101,-99,59,-97,-116,-98,-102,-93,-96,-111,-106,-95,-112,-221,-109,-309,-113,-118,-29,-107,-103,-114,-108,-110,-105,-119,-100,59,-133,-307,-132,-153,-152,-28,-164,-166,-27,-90,-92,144,-37,-89,-91,-94,-30,198,-294,-135,-130,-308,-167,-165,144,-298,-286,-301,-305,-302,-299,-284,-285,284,-297,-271,-303,-295,-283,-300,-296,-36,-35,198,198,326,-45,330,-294,-139,-137,-134,-131,-128,-129,-154,-38,376,-306,-304,-280,-279,-31,-34,198,198,326,330,-138,-136,-156,-155,-44,-43,-183,376,-278,-277,-276,-275,-274,-287,198,198,-33,-32,-197,-191,-193,-195,-39,-42,-186,376,-184,-272,-273,376,-51,-50,-192,-194,-196,-41,-40,-185,509,-289,-46,-49,-288,376,-281,-48,-47,-290,-282,-291,]),'WCHAR_CONST':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,156,-28,-309,156,-308,-167,-309,156,156,-270,156,-268,156,-267,156,-266,156,156,-265,-269,156,156,156,-73,-76,-72,156,-74,156,156,-78,-199,-198,-77,-200,156,-75,-266,156,156,156,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,156,-233,-234,-226,-232,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,-309,-266,156,-218,-217,156,-215,156,156,156,-201,156,-214,156,-80,-202,156,156,156,-266,156,156,-12,156,156,-11,156,156,-28,-309,-266,-213,-216,156,-205,156,-79,-203,-309,-182,156,156,-309,156,-266,156,156,156,156,-204,156,156,156,156,-11,156,-209,-208,-206,-80,156,-309,156,156,156,-210,-207,156,-212,-211,]),'FLOAT_CONST':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,157,-28,-309,157,-308,-167,-309,157,157,-270,157,-268,157,-267,157,-266,157,157,-265,-269,157,157,157,-73,-76,-72,157,-74,157,157,-78,-199,-198,-77,-200,157,-75,-266,157,157,157,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,157,-233,-234,-226,-232,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,-309,-266,157,-218,-217,157,-215,157,157,157,-201,157,-214,157,-80,-202,157,157,157,-266,157,157,-12,157,157,-11,157,157,-28,-309,-266,-213,-216,157,-205,157,-79,-203,-309,-182,157,157,-309,157,-266,157,157,157,157,-204,157,157,157,157,-11,157,-209,-208,-206,-80,157,-309,157,157,157,-210,-207,157,-212,-211,]),'MINUS':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,115,121,131,139,144,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,284,285,288,289,290,291,292,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,383,384,385,386,389,394,395,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,422,423,424,430,432,433,435,437,439,442,443,454,457,458,459,460,461,463,465,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,160,-28,-309,-294,160,-308,-167,-309,160,160,-298,-270,-257,-286,-301,-305,-302,-299,-284,160,-268,-285,-259,-238,160,-267,160,-297,-266,-271,160,160,-303,-265,-295,-283,301,-300,-296,-269,160,160,160,-73,-76,-72,160,-74,160,160,-78,-199,-198,-77,-200,160,-75,-266,-294,160,160,160,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,160,-233,-234,-226,-232,-306,160,-263,-304,-280,-279,160,160,160,-257,-262,160,-260,-261,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,-309,-266,160,-218,-217,160,-215,160,160,160,-201,160,-214,160,-80,-202,160,160,160,-266,160,160,-12,160,160,-11,-278,-277,-276,-275,-274,-287,160,301,301,301,-243,301,301,301,-242,301,301,-240,-239,301,301,301,301,301,-241,160,-28,-309,-266,-213,-216,160,-205,160,-79,-203,-309,-182,-264,-272,-273,160,160,-258,-309,160,-266,160,160,160,160,-204,160,160,160,160,-11,160,-209,-208,-206,-80,-288,160,-309,-281,160,160,-282,160,-210,-207,160,-212,-211,]),'RPAREN':([2,3,5,6,7,8,9,10,11,15,16,19,20,21,24,25,29,30,31,32,35,37,39,41,44,45,48,50,51,54,58,60,61,69,71,73,74,76,77,78,79,80,83,85,88,91,92,96,105,109,110,111,112,113,114,115,116,118,126,127,131,139,140,141,143,145,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,183,187,188,189,190,191,192,193,194,195,196,197,199,211,227,232,234,235,237,238,244,249,251,256,257,276,278,279,280,282,285,286,289,290,292,293,294,295,296,297,319,320,321,322,323,324,325,327,331,332,333,334,347,356,357,362,363,370,371,381,382,383,384,385,386,388,389,390,392,393,394,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,419,420,421,425,426,427,428,431,436,438,440,444,447,448,458,459,460,465,472,473,474,475,476,484,485,490,491,492,494,495,496,500,503,507,511,512,513,514,515,518,520,521,525,],[-104,-117,-115,-101,-99,-52,-97,-116,-98,-102,-93,-96,-111,-106,-95,-112,-221,-109,-309,-113,-118,-29,-107,-103,-114,-108,-110,-105,-119,-100,105,-309,-53,-133,-132,-153,-152,-28,-164,-166,-27,-90,-92,-54,-37,-89,-91,-94,-30,187,-17,188,-170,-309,-18,-294,-168,-175,-135,-130,-308,-167,-165,251,-55,-309,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,-236,-300,-296,-222,-36,-35,-309,-174,-2,-188,-56,-172,-1,-45,-173,-190,-14,-219,-139,-137,-134,-131,-128,-129,-154,-38,370,371,-306,-263,-304,-280,-279,389,-31,-257,-262,-260,-34,394,395,-309,-261,-188,-23,-24,420,421,-57,-189,-309,-309,-176,-169,-171,-13,-138,-136,-156,-155,-44,-43,-223,458,-278,-277,-276,-275,-292,-274,460,463,464,-287,-187,-188,-309,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-33,-32,-197,-191,472,473,-193,-195,476,-220,479,481,483,-39,-42,-264,-272,-273,-258,-51,-50,-192,-194,-196,-41,-40,-293,507,-289,-237,-46,-49,-309,516,-288,-281,-48,-47,-309,522,-290,-282,526,-291,]),'LONG':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[21,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,21,-96,-111,-106,-65,-95,-112,21,-221,-109,-113,21,-63,-118,21,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,21,-53,21,-84,21,21,-61,-133,-307,-132,21,-153,-152,-166,-90,-92,21,-89,-91,-94,-83,-86,-88,-69,-30,21,21,-70,21,-85,21,21,21,-135,-130,-145,-146,-142,-308,21,21,-167,21,21,-36,-35,21,21,-73,-76,-72,-74,21,-78,-199,-198,-77,-200,-75,21,-139,21,-137,-134,-143,-131,-128,-129,-154,-71,21,-31,21,21,21,-34,21,21,21,-218,-217,21,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,21,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'PLUS':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,115,121,131,139,144,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,284,285,288,289,290,291,292,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,383,384,385,386,389,394,395,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,422,423,424,430,432,433,435,437,439,442,443,454,457,458,459,460,461,463,465,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,167,-28,-309,-294,167,-308,-167,-309,167,167,-298,-270,-257,-286,-301,-305,-302,-299,-284,167,-268,-285,-259,-238,167,-267,167,-297,-266,-271,167,167,-303,-265,-295,-283,305,-300,-296,-269,167,167,167,-73,-76,-72,167,-74,167,167,-78,-199,-198,-77,-200,167,-75,-266,-294,167,167,167,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,167,-233,-234,-226,-232,-306,167,-263,-304,-280,-279,167,167,167,-257,-262,167,-260,-261,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,-309,-266,167,-218,-217,167,-215,167,167,167,-201,167,-214,167,-80,-202,167,167,167,-266,167,167,-12,167,167,-11,-278,-277,-276,-275,-274,-287,167,305,305,305,-243,305,305,305,-242,305,305,-240,-239,305,305,305,305,305,-241,167,-28,-309,-266,-213,-216,167,-205,167,-79,-203,-309,-182,-264,-272,-273,167,167,-258,-309,167,-266,167,167,167,167,-204,167,167,167,167,-11,167,-209,-208,-206,-80,-288,167,-309,-281,167,167,-282,167,-210,-207,167,-212,-211,]),'ELLIPSIS':([201,],[333,]),'GT':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,306,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,306,-245,-243,-247,306,-246,-242,-249,306,-240,-239,-248,306,306,306,306,-241,-264,-272,-273,-258,-288,-281,-282,]),'GOTO':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,204,-308,-73,-76,-72,-74,204,-78,-199,-198,-77,-200,204,-75,-218,-217,-215,204,-201,-214,204,-80,-202,204,-213,-216,-205,204,-79,-203,204,-204,204,204,-209,-208,-206,-80,204,204,-210,-207,204,-212,-211,]),'ENUM':([0,1,3,7,8,9,11,12,14,17,18,19,23,24,26,34,35,36,37,40,42,47,49,51,53,54,55,56,57,60,61,64,65,67,68,70,72,78,87,101,102,103,104,105,117,120,121,122,123,124,125,128,129,130,131,132,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,233,236,258,277,286,287,288,291,293,327,331,336,337,339,340,346,349,351,352,353,360,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[28,-309,-117,-99,-52,-97,-98,-64,-60,-66,28,-96,-65,-95,28,-63,-118,28,-29,-62,-67,-309,-309,-119,-68,-100,-87,-10,-9,28,-53,-84,28,28,-61,-307,28,-166,28,-83,-86,-88,-69,-30,28,-70,28,-85,28,28,28,-145,-146,-142,-308,28,-167,28,28,-36,-35,28,28,-73,-76,-72,-74,28,-78,-199,-198,-77,-200,-75,28,28,-143,-71,28,-31,28,28,28,-34,28,28,-218,-217,28,-215,-201,-214,-78,-80,-202,-144,28,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'PERIOD':([70,115,131,150,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,260,276,279,280,282,374,379,383,384,385,386,389,394,452,454,456,459,460,466,486,491,492,507,510,511,518,520,525,],[-307,-294,-308,-298,-286,-301,-305,-302,-299,-284,-285,283,-297,-271,-303,-295,-283,-300,-296,-294,375,-306,-304,-280,-279,-183,375,-278,-277,-276,-275,-274,-287,-186,375,-184,-272,-273,375,-185,508,-289,-288,375,-281,-290,-282,-291,]),'GE':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,310,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,310,-245,-243,-247,310,-246,-242,-249,310,-240,-239,-248,310,310,310,310,-241,-264,-272,-273,-258,-288,-281,-282,]),'INT_CONST_DEC':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,177,-28,-309,177,-308,-167,-309,177,177,-270,177,-268,177,-267,177,-266,177,177,-265,-269,177,177,177,-73,-76,-72,177,-74,177,177,-78,-199,-198,-77,-200,177,-75,-266,177,177,177,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,177,-233,-234,-226,-232,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,-309,-266,177,-218,-217,177,-215,177,177,177,-201,177,-214,177,-80,-202,177,177,177,-266,177,177,-12,177,177,-11,177,177,-28,-309,-266,-213,-216,177,-205,177,-79,-203,-309,-182,177,177,-309,177,-266,177,177,177,177,-204,177,177,177,177,-11,177,-209,-208,-206,-80,177,-309,177,177,177,-210,-207,177,-212,-211,]),'ARROW':([115,131,150,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,279,280,282,383,384,385,386,389,394,459,460,507,511,520,],[-294,-308,-298,-286,-301,-305,-302,-299,-284,-285,281,-297,-271,-303,-295,-283,-300,-296,-294,-306,-304,-280,-279,-278,-277,-276,-275,-274,-287,-272,-273,-288,-281,-282,]),'CHAR':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[41,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,41,-96,-111,-106,-65,-95,-112,41,-221,-109,-113,41,-63,-118,41,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,41,-53,41,-84,41,41,-61,-133,-307,-132,41,-153,-152,-166,-90,-92,41,-89,-91,-94,-83,-86,-88,-69,-30,41,41,-70,41,-85,41,41,41,-135,-130,-145,-146,-142,-308,41,41,-167,41,41,-36,-35,41,41,-73,-76,-72,-74,41,-78,-199,-198,-77,-200,-75,41,-139,41,-137,-134,-143,-131,-128,-129,-154,-71,41,-31,41,41,41,-34,41,41,41,-218,-217,41,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,41,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'HEX_FLOAT_CONST':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,180,-28,-309,180,-308,-167,-309,180,180,-270,180,-268,180,-267,180,-266,180,180,-265,-269,180,180,180,-73,-76,-72,180,-74,180,180,-78,-199,-198,-77,-200,180,-75,-266,180,180,180,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,180,-233,-234,-226,-232,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,-309,-266,180,-218,-217,180,-215,180,180,180,-201,180,-214,180,-80,-202,180,180,180,-266,180,180,-12,180,180,-11,180,180,-28,-309,-266,-213,-216,180,-205,180,-79,-203,-309,-182,180,180,-309,180,-266,180,180,180,180,-204,180,180,180,180,-11,180,-209,-208,-206,-80,180,-309,180,180,180,-210,-207,180,-212,-211,]),'DOUBLE':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[45,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,45,-96,-111,-106,-65,-95,-112,45,-221,-109,-113,45,-63,-118,45,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,45,-53,45,-84,45,45,-61,-133,-307,-132,45,-153,-152,-166,-90,-92,45,-89,-91,-94,-83,-86,-88,-69,-30,45,45,-70,45,-85,45,45,45,-135,-130,-145,-146,-142,-308,45,45,-167,45,45,-36,-35,45,45,-73,-76,-72,-74,45,-78,-199,-198,-77,-200,-75,45,-139,45,-137,-134,-143,-131,-128,-129,-154,-71,45,-31,45,45,45,-34,45,45,45,-218,-217,45,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,45,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'MINUSEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,265,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'INT_CONST_OCT':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,181,-28,-309,181,-308,-167,-309,181,181,-270,181,-268,181,-267,181,-266,181,181,-265,-269,181,181,181,-73,-76,-72,181,-74,181,181,-78,-199,-198,-77,-200,181,-75,-266,181,181,181,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,181,-233,-234,-226,-232,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,-309,-266,181,-218,-217,181,-215,181,181,181,-201,181,-214,181,-80,-202,181,181,181,-266,181,181,-12,181,181,-11,181,181,-28,-309,-266,-213,-216,181,-205,181,-79,-203,-309,-182,181,181,-309,181,-266,181,181,181,181,-204,181,181,181,181,-11,181,-209,-208,-206,-80,181,-309,181,181,181,-210,-207,181,-212,-211,]),'TIMESEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,274,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'OR':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,315,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,315,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,315,-250,-252,-253,-241,-264,-272,-273,-258,-288,-281,-282,]),'SHORT':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[2,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,2,-96,-111,-106,-65,-95,-112,2,-221,-109,-113,2,-63,-118,2,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,2,-53,2,-84,2,2,-61,-133,-307,-132,2,-153,-152,-166,-90,-92,2,-89,-91,-94,-83,-86,-88,-69,-30,2,2,-70,2,-85,2,2,2,-135,-130,-145,-146,-142,-308,2,2,-167,2,2,-36,-35,2,2,-73,-76,-72,-74,2,-78,-199,-198,-77,-200,-75,2,-139,2,-137,-134,-143,-131,-128,-129,-154,-71,2,-31,2,2,2,-34,2,2,2,-218,-217,2,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,2,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'RETURN':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,207,-308,-73,-76,-72,-74,207,-78,-199,-198,-77,-200,207,-75,-218,-217,-215,207,-201,-214,207,-80,-202,207,-213,-216,-205,207,-79,-203,207,-204,207,207,-209,-208,-206,-80,207,207,-210,-207,207,-212,-211,]),'RSHIFTEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,275,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'RESTRICT':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,31,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,59,60,61,63,64,67,68,69,70,71,72,73,74,76,78,80,83,87,91,92,96,101,104,105,107,108,113,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,144,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,254,255,258,277,286,287,288,291,293,296,326,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,423,424,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[35,35,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,35,-96,-111,-106,-65,-95,-112,35,-221,-109,35,-113,35,-63,-118,-29,-107,-62,-103,-67,-114,-108,35,-110,35,-105,-119,-68,-100,35,35,-53,35,-84,35,-61,-133,-307,-132,35,-153,-152,35,-166,-90,-92,35,-89,-91,-94,-83,-69,-30,35,35,35,-70,35,-85,35,35,35,-135,-130,-145,-146,-142,-308,35,35,-167,35,35,35,-36,-35,35,35,-73,-76,-72,-74,35,-78,-199,-198,-77,-200,-75,35,-139,35,-137,-134,-143,-131,-128,-129,-154,35,35,-71,35,-31,35,35,35,-34,35,35,35,35,-218,-217,35,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,35,-33,-32,35,35,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'STATIC':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,59,60,61,63,64,67,68,69,70,71,73,74,78,80,83,87,91,92,96,101,104,105,107,113,120,121,122,126,131,139,144,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,254,258,286,293,326,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,423,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[9,9,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,9,-96,-111,-106,-65,-95,-112,9,-221,-109,-113,9,-63,-118,-29,-107,-62,-103,-67,-114,-108,9,-110,9,-105,-119,-68,-100,108,9,-53,9,-84,9,-61,-133,-307,-132,-153,-152,-166,-90,-92,9,-89,-91,-94,-83,-69,-30,185,9,-70,9,-85,-135,-308,-167,255,9,-36,-35,9,9,-73,-76,-72,-74,9,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,368,-71,-31,-34,424,9,9,-218,-217,9,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,9,-33,-32,470,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'SIZEOF':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,159,-28,-309,159,-308,-167,-309,159,159,-270,159,-268,159,-267,159,-266,159,159,-265,-269,159,159,159,-73,-76,-72,159,-74,159,159,-78,-199,-198,-77,-200,159,-75,-266,159,159,159,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,159,-233,-234,-226,-232,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,-309,-266,159,-218,-217,159,-215,159,159,159,-201,159,-214,159,-80,-202,159,159,159,-266,159,159,-12,159,159,-11,159,159,-28,-309,-266,-213,-216,159,-205,159,-79,-203,-309,-182,159,159,-309,159,-266,159,159,159,159,-204,159,159,159,159,-11,159,-209,-208,-206,-80,159,-309,159,159,159,-210,-207,159,-212,-211,]),'UNSIGNED':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[20,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,20,-96,-111,-106,-65,-95,-112,20,-221,-109,-113,20,-63,-118,20,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,20,-53,20,-84,20,20,-61,-133,-307,-132,20,-153,-152,-166,-90,-92,20,-89,-91,-94,-83,-86,-88,-69,-30,20,20,-70,20,-85,20,20,20,-135,-130,-145,-146,-142,-308,20,20,-167,20,20,-36,-35,20,20,-73,-76,-72,-74,20,-78,-199,-198,-77,-200,-75,20,-139,20,-137,-134,-143,-131,-128,-129,-154,-71,20,-31,20,20,20,-34,20,20,20,-218,-217,20,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,20,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'UNION':([0,1,3,7,8,9,11,12,14,17,18,19,23,24,26,34,35,36,37,40,42,47,49,51,53,54,55,56,57,60,61,64,65,67,68,70,72,78,87,101,102,103,104,105,117,120,121,122,123,124,125,128,129,130,131,132,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,233,236,258,277,286,287,288,291,293,327,331,336,337,339,340,346,349,351,352,353,360,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[22,-309,-117,-99,-52,-97,-98,-64,-60,-66,22,-96,-65,-95,22,-63,-118,22,-29,-62,-67,-309,-309,-119,-68,-100,-87,-10,-9,22,-53,-84,22,22,-61,-307,22,-166,22,-83,-86,-88,-69,-30,22,-70,22,-85,22,22,22,-145,-146,-142,-308,22,-167,22,22,-36,-35,22,22,-73,-76,-72,-74,22,-78,-199,-198,-77,-200,-75,22,22,-143,-71,22,-31,22,22,22,-34,22,22,-218,-217,22,-215,-201,-214,-78,-80,-202,-144,22,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'COLON':([2,3,5,6,8,10,15,20,21,25,29,30,32,35,37,39,41,44,45,48,50,51,61,69,71,73,74,85,86,88,105,115,119,126,127,131,133,143,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,183,187,188,212,227,229,232,234,235,237,238,244,245,249,251,276,278,279,280,282,286,289,290,292,293,297,344,345,356,357,359,362,363,370,371,381,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,436,447,448,458,459,460,465,484,485,494,507,511,520,],[-104,-117,-115,-101,-52,-116,-102,-111,-106,-112,-221,-109,-113,-118,-29,-107,-103,-114,-108,-110,-105,-119,-53,-133,-132,-153,-152,-54,-163,-37,-30,-294,-162,-135,-130,-308,239,-55,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,-236,-300,-296,-222,-36,-35,342,-219,354,-139,-137,-134,-131,-128,-129,361,-154,-38,-306,-263,-304,-280,-279,-31,-257,-262,-260,-34,-261,439,-235,-138,-136,239,-156,-155,-44,-43,-223,-278,-277,-276,-275,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,467,-253,-241,-33,-32,-220,-39,-42,-264,-272,-273,-258,-41,-40,-237,-288,-281,-282,]),'$end':([0,12,14,17,23,26,34,40,42,43,52,53,68,101,104,120,131,258,353,],[-309,-64,-60,-66,-65,-58,-63,-62,-67,0,-59,-68,-61,-83,-69,-70,-308,-71,-202,]),'WSTRING_LITERAL':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,153,155,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,155,-28,-309,155,-308,-167,-309,155,155,-270,276,-305,155,-268,155,-267,155,-266,155,155,-265,-269,155,155,155,-73,-76,-72,155,-74,155,155,-78,-199,-198,-77,-200,155,-75,-266,155,155,155,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,155,-233,-234,-226,-232,-306,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,-309,-266,155,-218,-217,155,-215,155,155,155,-201,155,-214,155,-80,-202,155,155,155,-266,155,155,-12,155,155,-11,155,155,-28,-309,-266,-213,-216,155,-205,155,-79,-203,-309,-182,155,155,-309,155,-266,155,155,155,155,-204,155,155,155,155,-11,155,-209,-208,-206,-80,155,-309,155,155,155,-210,-207,155,-212,-211,]),'DIVIDE':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,308,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,308,308,308,308,308,308,308,308,308,308,-240,-239,308,308,308,308,308,-241,-264,-272,-273,-258,-288,-281,-282,]),'FOR':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,209,-308,-73,-76,-72,-74,209,-78,-199,-198,-77,-200,209,-75,-218,-217,-215,209,-201,-214,209,-80,-202,209,-213,-216,-205,209,-79,-203,209,-204,209,209,-209,-208,-206,-80,209,209,-210,-207,209,-212,-211,]),'PLUSPLUS':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,115,121,131,139,144,147,148,150,151,153,154,155,156,157,158,159,160,161,162,166,167,169,170,171,172,173,174,175,176,177,178,180,181,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,282,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,383,384,385,386,389,394,395,422,423,424,430,432,433,435,437,439,442,443,454,457,459,460,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,169,-28,-309,-294,169,-308,-167,-309,169,169,-298,-270,-286,-301,-305,-302,-299,-284,169,-268,-285,282,169,-267,169,-297,-266,-271,169,169,-303,-265,-295,-283,-300,-296,-269,169,169,169,-73,-76,-72,169,-74,169,169,-78,-199,-198,-77,-200,169,-75,-266,-294,169,169,169,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,169,-233,-234,-226,-232,-306,169,-304,-280,-279,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,-309,-266,169,-218,-217,169,-215,169,169,169,-201,169,-214,169,-80,-202,169,169,169,-266,169,169,-12,169,169,-11,-278,-277,-276,-275,-274,-287,169,169,-28,-309,-266,-213,-216,169,-205,169,-79,-203,-309,-182,-272,-273,169,169,-309,169,-266,169,169,169,169,-204,169,169,169,169,-11,169,-209,-208,-206,-80,-288,169,-309,-281,169,169,-282,169,-210,-207,169,-212,-211,]),'EQUALS':([8,37,61,85,86,87,88,89,97,105,115,119,131,138,143,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,187,188,229,251,276,278,279,280,282,286,289,290,292,293,297,370,371,374,379,383,384,385,386,389,394,418,419,447,448,452,456,458,459,460,465,484,485,486,507,511,520,],[-52,-29,-53,-54,-163,-162,-37,147,148,-30,-294,-162,-308,250,-55,-298,267,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-36,-35,-294,-38,-306,-263,-304,-280,-279,-31,-257,-262,-260,-34,-261,-44,-43,-183,457,-278,-277,-276,-275,-274,-287,-33,-32,-39,-42,-186,-184,-264,-272,-273,-258,-41,-40,-185,-288,-281,-282,]),'ELSE':([53,104,131,202,203,206,208,217,220,225,336,337,340,349,351,352,353,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[-68,-69,-308,-73,-76,-72,-74,-78,-77,-75,-218,-217,-215,-214,-78,-80,-202,-213,-216,-205,-79,-203,-204,-209,-208,-206,517,-210,-207,-212,-211,]),'ANDEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,272,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'EQ':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,312,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,312,-245,-243,-247,-251,-246,-242,-249,312,-240,-239,-248,312,-250,312,312,-241,-264,-272,-273,-258,-288,-281,-282,]),'AND':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,115,121,131,139,144,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,284,285,288,289,290,291,292,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,383,384,385,386,389,394,395,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,422,423,424,430,432,433,435,437,439,442,443,454,457,458,459,460,461,463,465,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,176,-28,-309,-294,176,-308,-167,-309,176,176,-298,-270,-257,-286,-301,-305,-302,-299,-284,176,-268,-285,-259,-238,176,-267,176,-297,-266,-271,176,176,-303,-265,-295,-283,313,-300,-296,-269,176,176,176,-73,-76,-72,176,-74,176,176,-78,-199,-198,-77,-200,176,-75,-266,-294,176,176,176,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,176,-233,-234,-226,-232,-306,176,-263,-304,-280,-279,176,176,176,-257,-262,176,-260,-261,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,-309,-266,176,-218,-217,176,-215,176,176,176,-201,176,-214,176,-80,-202,176,176,176,-266,176,176,-12,176,176,-11,-278,-277,-276,-275,-274,-287,176,-244,313,-245,-243,-247,-251,-246,-242,-249,313,-240,-239,-248,313,-250,-252,313,-241,176,-28,-309,-266,-213,-216,176,-205,176,-79,-203,-309,-182,-264,-272,-273,176,176,-258,-309,176,-266,176,176,176,176,-204,176,176,176,176,-11,176,-209,-208,-206,-80,-288,176,-309,-281,176,176,-282,176,-210,-207,176,-212,-211,]),'TYPEID':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,76,77,78,79,80,81,83,84,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,140,142,145,149,173,187,188,189,192,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,281,283,286,287,288,291,293,327,331,336,337,339,340,346,349,351,352,353,356,357,359,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[29,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,29,-96,-111,-106,-141,-65,-95,-112,29,69,73,-221,-109,-309,-113,88,-63,-118,29,-29,-140,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,29,-53,88,-84,29,29,-61,-133,-307,-132,29,-153,-152,-28,-164,-166,-27,-90,88,-92,88,29,-89,-91,-94,-83,-86,-88,-69,-30,196,29,-70,29,-85,29,29,29,-135,-130,-145,-146,-142,-308,29,88,-167,-165,88,29,88,29,-36,-35,29,196,29,-73,-76,-72,-74,29,-78,-199,-198,-77,-200,-75,29,-139,29,-137,-134,-143,-131,-128,-129,-154,-71,29,383,385,-31,29,29,29,-34,29,29,-218,-217,29,-215,-201,-214,-78,-80,-202,-138,-136,88,-144,-156,-155,29,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'LBRACE':([8,18,22,27,28,37,38,53,61,62,64,66,67,69,70,71,73,74,87,101,104,105,121,122,131,146,147,148,187,188,202,203,206,208,215,217,218,219,220,222,224,225,260,286,293,336,337,340,342,346,349,351,352,353,354,372,378,380,395,418,419,432,433,437,439,442,443,454,457,458,463,464,466,479,480,481,483,487,488,501,502,504,505,510,517,522,523,524,526,527,528,],[-52,-309,-141,70,70,-29,-140,-68,-53,-7,-84,70,-8,70,-307,70,70,70,-309,-83,-69,-30,70,-85,-308,70,70,70,-36,-35,-73,-76,-72,-74,70,-78,-199,-198,-77,-200,70,-75,-309,-31,-34,-218,-217,-215,70,-201,-214,70,-80,-202,70,-12,70,-11,70,-33,-32,-213,-216,-205,70,-79,-203,-309,-182,70,70,70,-309,70,-204,70,70,70,-11,-209,-208,-206,-80,-309,70,70,-210,-207,70,-212,-211,]),'PPHASH':([0,12,14,17,23,26,34,40,42,53,68,101,104,120,131,258,353,],[42,-64,-60,-66,-65,42,-63,-62,-67,-68,-61,-83,-69,-70,-308,-71,-202,]),'INT':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[50,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,50,-96,-111,-106,-65,-95,-112,50,-221,-109,-113,50,-63,-118,50,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,50,-53,50,-84,50,50,-61,-133,-307,-132,50,-153,-152,-166,-90,-92,50,-89,-91,-94,-83,-86,-88,-69,-30,50,50,-70,50,-85,50,50,50,-135,-130,-145,-146,-142,-308,50,50,-167,50,50,-36,-35,50,50,-73,-76,-72,-74,50,-78,-199,-198,-77,-200,-75,50,-139,50,-137,-134,-143,-131,-128,-129,-154,-71,50,-31,50,50,50,-34,50,50,50,-218,-217,50,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,50,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'SIGNED':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[48,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,48,-96,-111,-106,-65,-95,-112,48,-221,-109,-113,48,-63,-118,48,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,48,-53,48,-84,48,48,-61,-133,-307,-132,48,-153,-152,-166,-90,-92,48,-89,-91,-94,-83,-86,-88,-69,-30,48,48,-70,48,-85,48,48,48,-135,-130,-145,-146,-142,-308,48,48,-167,48,48,-36,-35,48,48,-73,-76,-72,-74,48,-78,-199,-198,-77,-200,-75,48,-139,48,-137,-134,-143,-131,-128,-129,-154,-71,48,-31,48,48,48,-34,48,48,48,-218,-217,48,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,48,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'CONTINUE':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,210,-308,-73,-76,-72,-74,210,-78,-199,-198,-77,-200,210,-75,-218,-217,-215,210,-201,-214,210,-80,-202,210,-213,-216,-205,210,-79,-203,210,-204,210,210,-209,-208,-206,-80,210,210,-210,-207,210,-212,-211,]),'NOT':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,184,-28,-309,184,-308,-167,-309,184,184,-270,184,-268,184,-267,184,-266,184,184,-265,-269,184,184,184,-73,-76,-72,184,-74,184,184,-78,-199,-198,-77,-200,184,-75,-266,184,184,184,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,184,-233,-234,-226,-232,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,-309,-266,184,-218,-217,184,-215,184,184,184,-201,184,-214,184,-80,-202,184,184,184,-266,184,184,-12,184,184,-11,184,184,-28,-309,-266,-213,-216,184,-205,184,-79,-203,-309,-182,184,184,-309,184,-266,184,184,184,184,-204,184,184,184,184,-11,184,-209,-208,-206,-80,184,-309,184,184,184,-210,-207,184,-212,-211,]),'OREQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,273,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'MOD':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,316,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,316,316,316,316,316,316,316,316,316,316,-240,-239,316,316,316,316,316,-241,-264,-272,-273,-258,-288,-281,-282,]),'RSHIFT':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,298,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,298,-245,-243,298,298,298,-242,298,298,-240,-239,298,298,298,298,298,-241,-264,-272,-273,-258,-288,-281,-282,]),'DEFAULT':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,212,-308,-73,-76,-72,-74,212,-78,-199,-198,-77,-200,212,-75,-218,-217,-215,212,-201,-214,212,-80,-202,212,-213,-216,-205,212,-79,-203,212,-204,212,212,-209,-208,-206,-80,212,212,-210,-207,212,-212,-211,]),'__INT128':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[25,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,25,-96,-111,-106,-65,-95,-112,25,-221,-109,-113,25,-63,-118,25,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,25,-53,25,-84,25,25,-61,-133,-307,-132,25,-153,-152,-166,-90,-92,25,-89,-91,-94,-83,-86,-88,-69,-30,25,25,-70,25,-85,25,25,25,-135,-130,-145,-146,-142,-308,25,25,-167,25,25,-36,-35,25,25,-73,-76,-72,-74,25,-78,-199,-198,-77,-200,-75,25,-139,25,-137,-134,-143,-131,-128,-129,-154,-71,25,-31,25,25,25,-34,25,25,25,-218,-217,25,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,25,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'WHILE':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,350,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,213,-308,-73,-76,-72,-74,213,-78,-199,-198,-77,-200,213,-75,-218,-217,-215,213,-201,-214,441,213,-80,-202,213,-213,-216,-205,213,-79,-203,213,-204,213,213,-209,-208,-206,-80,213,213,-210,-207,213,-212,-211,]),'DIVEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,264,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'EXTERN':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,60,61,63,64,67,68,69,70,71,73,74,80,83,87,91,92,96,101,104,105,113,120,121,122,126,131,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,258,286,293,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[11,11,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,11,-96,-111,-106,-65,-95,-112,11,-221,-109,-113,11,-63,-118,-29,-107,-62,-103,-67,-114,-108,11,-110,11,-105,-119,-68,-100,11,-53,11,-84,11,-61,-133,-307,-132,-153,-152,-90,-92,11,-89,-91,-94,-83,-69,-30,11,-70,11,-85,-135,-308,11,-36,-35,11,11,-73,-76,-72,-74,11,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,-71,-31,-34,11,11,-218,-217,11,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,11,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'CASE':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,214,-308,-73,-76,-72,-74,214,-78,-199,-198,-77,-200,214,-75,-218,-217,-215,214,-201,-214,214,-80,-202,214,-213,-216,-205,214,-79,-203,214,-204,214,214,-209,-208,-206,-80,214,214,-210,-207,214,-212,-211,]),'LAND':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,311,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,311,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-264,-272,-273,-258,-288,-281,-282,]),'REGISTER':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,60,61,63,64,67,68,69,70,71,73,74,80,83,87,91,92,96,101,104,105,113,120,121,122,126,131,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,258,286,293,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[19,19,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,19,-96,-111,-106,-65,-95,-112,19,-221,-109,-113,19,-63,-118,-29,-107,-62,-103,-67,-114,-108,19,-110,19,-105,-119,-68,-100,19,-53,19,-84,19,-61,-133,-307,-132,-153,-152,-90,-92,19,-89,-91,-94,-83,-69,-30,19,-70,19,-85,-135,-308,19,-36,-35,19,19,-73,-76,-72,-74,19,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,-71,-31,-34,19,19,-218,-217,19,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,19,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'MODEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,266,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'NE':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,303,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,303,-245,-243,-247,-251,-246,-242,-249,303,-240,-239,-248,303,-250,303,303,-241,-264,-272,-273,-258,-288,-281,-282,]),'SWITCH':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,216,-308,-73,-76,-72,-74,216,-78,-199,-198,-77,-200,216,-75,-218,-217,-215,216,-201,-214,216,-80,-202,216,-213,-216,-205,216,-79,-203,216,-204,216,216,-209,-208,-206,-80,216,216,-210,-207,216,-212,-211,]),'INT_CONST_HEX':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,170,-28,-309,170,-308,-167,-309,170,170,-270,170,-268,170,-267,170,-266,170,170,-265,-269,170,170,170,-73,-76,-72,170,-74,170,170,-78,-199,-198,-77,-200,170,-75,-266,170,170,170,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,170,-233,-234,-226,-232,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,-309,-266,170,-218,-217,170,-215,170,170,170,-201,170,-214,170,-80,-202,170,170,170,-266,170,170,-12,170,170,-11,170,170,-28,-309,-266,-213,-216,170,-205,170,-79,-203,-309,-182,170,170,-309,170,-266,170,170,170,170,-204,170,170,170,170,-11,170,-209,-208,-206,-80,170,-309,170,170,170,-210,-207,170,-212,-211,]),'_COMPLEX':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[30,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,30,-96,-111,-106,-65,-95,-112,30,-221,-109,-113,30,-63,-118,30,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,30,-53,30,-84,30,30,-61,-133,-307,-132,30,-153,-152,-166,-90,-92,30,-89,-91,-94,-83,-86,-88,-69,-30,30,30,-70,30,-85,30,30,30,-135,-130,-145,-146,-142,-308,30,30,-167,30,30,-36,-35,30,30,-73,-76,-72,-74,30,-78,-199,-198,-77,-200,-75,30,-139,30,-137,-134,-143,-131,-128,-129,-154,-71,30,-31,30,30,30,-34,30,30,30,-218,-217,30,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,30,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'PPPRAGMASTR':([53,],[104,]),'PLUSEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,269,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'STRUCT':([0,1,3,7,8,9,11,12,14,17,18,19,23,24,26,34,35,36,37,40,42,47,49,51,53,54,55,56,57,60,61,64,65,67,68,70,72,78,87,101,102,103,104,105,117,120,121,122,123,124,125,128,129,130,131,132,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,233,236,258,277,286,287,288,291,293,327,331,336,337,339,340,346,349,351,352,353,360,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[38,-309,-117,-99,-52,-97,-98,-64,-60,-66,38,-96,-65,-95,38,-63,-118,38,-29,-62,-67,-309,-309,-119,-68,-100,-87,-10,-9,38,-53,-84,38,38,-61,-307,38,-166,38,-83,-86,-88,-69,-30,38,-70,38,-85,38,38,38,-145,-146,-142,-308,38,-167,38,38,-36,-35,38,38,-73,-76,-72,-74,38,-78,-199,-198,-77,-200,-75,38,38,-143,-71,38,-31,38,38,38,-34,38,38,-218,-217,38,-215,-201,-214,-78,-80,-202,-144,38,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'CONDOP':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,314,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-264,-272,-273,-258,-288,-281,-282,]),'BREAK':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,221,-308,-73,-76,-72,-74,221,-78,-199,-198,-77,-200,221,-75,-218,-217,-215,221,-201,-214,221,-80,-202,221,-213,-216,-205,221,-79,-203,221,-204,221,221,-209,-208,-206,-80,221,221,-210,-207,221,-212,-211,]),'VOLATILE':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,31,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,59,60,61,63,64,67,68,69,70,71,72,73,74,76,78,80,83,87,91,92,96,101,104,105,107,108,113,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,144,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,254,255,258,277,286,287,288,291,293,296,326,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,423,424,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[51,51,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,51,-96,-111,-106,-65,-95,-112,51,-221,-109,51,-113,51,-63,-118,-29,-107,-62,-103,-67,-114,-108,51,-110,51,-105,-119,-68,-100,51,51,-53,51,-84,51,-61,-133,-307,-132,51,-153,-152,51,-166,-90,-92,51,-89,-91,-94,-83,-69,-30,51,51,51,-70,51,-85,51,51,51,-135,-130,-145,-146,-142,-308,51,51,-167,51,51,51,-36,-35,51,51,-73,-76,-72,-74,51,-78,-199,-198,-77,-200,-75,51,-139,51,-137,-134,-143,-131,-128,-129,-154,51,51,-71,51,-31,51,51,51,-34,51,51,51,51,-218,-217,51,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,51,-33,-32,51,51,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'PPPRAGMA':([0,12,14,17,23,26,34,40,42,53,68,70,72,101,104,120,121,123,124,125,128,129,130,131,202,203,206,208,215,217,218,219,220,222,224,225,231,233,236,258,336,337,340,342,346,349,351,352,353,354,360,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[53,-64,-60,-66,-65,53,-63,-62,-67,-68,-61,-307,53,-83,-69,-70,53,53,53,53,-145,-146,-142,-308,-73,-76,-72,-74,53,-78,-199,-198,-77,-200,53,-75,53,53,-143,-71,-218,-217,-215,53,-201,-214,53,-80,-202,53,-144,-213,-216,-205,53,-79,-203,53,-204,53,53,-209,-208,-206,-80,53,53,-210,-207,53,-212,-211,]),'INLINE':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,60,61,63,64,67,68,69,70,71,73,74,80,83,87,91,92,96,101,104,105,113,120,121,122,126,131,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,258,286,293,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[54,54,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,54,-96,-111,-106,-65,-95,-112,54,-221,-109,-113,54,-63,-118,-29,-107,-62,-103,-67,-114,-108,54,-110,54,-105,-119,-68,-100,54,-53,54,-84,54,-61,-133,-307,-132,-153,-152,-90,-92,54,-89,-91,-94,-83,-69,-30,54,-70,54,-85,-135,-308,54,-36,-35,54,54,-73,-76,-72,-74,54,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,-71,-31,-34,54,54,-218,-217,54,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,54,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'INT_CONST_BIN':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,150,-28,-309,150,-308,-167,-309,150,150,-270,150,-268,150,-267,150,-266,150,150,-265,-269,150,150,150,-73,-76,-72,150,-74,150,150,-78,-199,-198,-77,-200,150,-75,-266,150,150,150,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,150,-233,-234,-226,-232,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,-309,-266,150,-218,-217,150,-215,150,150,150,-201,150,-214,150,-80,-202,150,150,150,-266,150,150,-12,150,150,-11,150,150,-28,-309,-266,-213,-216,150,-205,150,-79,-203,-309,-182,150,150,-309,150,-266,150,150,150,150,-204,150,150,150,150,-11,150,-209,-208,-206,-80,150,-309,150,150,150,-210,-207,150,-212,-211,]),'DO':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,224,-308,-73,-76,-72,-74,224,-78,-199,-198,-77,-200,224,-75,-218,-217,-215,224,-201,-214,224,-80,-202,224,-213,-216,-205,224,-79,-203,224,-204,224,224,-209,-208,-206,-80,224,224,-210,-207,224,-212,-211,]),'LNOT':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,151,-28,-309,151,-308,-167,-309,151,151,-270,151,-268,151,-267,151,-266,151,151,-265,-269,151,151,151,-73,-76,-72,151,-74,151,151,-78,-199,-198,-77,-200,151,-75,-266,151,151,151,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,151,-233,-234,-226,-232,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,-309,-266,151,-218,-217,151,-215,151,151,151,-201,151,-214,151,-80,-202,151,151,151,-266,151,151,-12,151,151,-11,151,151,-28,-309,-266,-213,-216,151,-205,151,-79,-203,-309,-182,151,151,-309,151,-266,151,151,151,151,-204,151,151,151,151,-11,151,-209,-208,-206,-80,151,-309,151,151,151,-210,-207,151,-212,-211,]),'CONST':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,31,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,59,60,61,63,64,67,68,69,70,71,72,73,74,76,78,80,83,87,91,92,96,101,104,105,107,108,113,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,144,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,254,255,258,277,286,287,288,291,293,296,326,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,423,424,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[3,3,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,3,-96,-111,-106,-65,-95,-112,3,-221,-109,3,-113,3,-63,-118,-29,-107,-62,-103,-67,-114,-108,3,-110,3,-105,-119,-68,-100,3,3,-53,3,-84,3,-61,-133,-307,-132,3,-153,-152,3,-166,-90,-92,3,-89,-91,-94,-83,-69,-30,3,3,3,-70,3,-85,3,3,3,-135,-130,-145,-146,-142,-308,3,3,-167,3,3,3,-36,-35,3,3,-73,-76,-72,-74,3,-78,-199,-198,-77,-200,-75,3,-139,3,-137,-134,-143,-131,-128,-129,-154,3,3,-71,3,-31,3,3,3,-34,3,3,3,3,-218,-217,3,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,3,-33,-32,3,3,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'LOR':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,299,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-264,-272,-273,-258,-288,-281,-282,]),'CHAR_CONST':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,154,-28,-309,154,-308,-167,-309,154,154,-270,154,-268,154,-267,154,-266,154,154,-265,-269,154,154,154,-73,-76,-72,154,-74,154,154,-78,-199,-198,-77,-200,154,-75,-266,154,154,154,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,154,-233,-234,-226,-232,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,-309,-266,154,-218,-217,154,-215,154,154,154,-201,154,-214,154,-80,-202,154,154,154,-266,154,154,-12,154,154,-11,154,154,-28,-309,-266,-213,-216,154,-205,154,-79,-203,-309,-182,154,154,-309,154,-266,154,154,154,154,-204,154,154,154,154,-11,154,-209,-208,-206,-80,154,-309,154,154,154,-210,-207,154,-212,-211,]),'LSHIFT':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,300,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,300,-245,-243,300,300,300,-242,300,300,-240,-239,300,300,300,300,300,-241,-264,-272,-273,-258,-288,-281,-282,]),'RBRACE':([53,70,72,101,104,115,121,123,124,125,128,129,130,131,136,137,138,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,183,202,203,206,208,215,217,218,219,220,222,223,225,226,231,233,236,246,247,248,260,261,276,278,279,280,282,289,290,292,297,336,337,340,345,346,349,351,352,353,360,364,365,373,377,380,381,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,432,433,437,442,443,451,454,455,458,459,460,465,480,489,493,494,501,502,504,505,506,507,510,511,520,523,524,527,528,],[-68,-307,131,-83,-69,-294,-309,131,131,131,-145,-146,-142,-308,-157,131,-160,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,-236,-300,-296,-222,-73,-76,-72,-74,-6,-78,-199,-198,-77,-200,-5,-75,131,131,131,-143,131,131,-158,-309,-177,-306,-263,-304,-280,-279,-257,-262,-260,-261,-218,-217,-215,-235,-201,-214,-78,-80,-202,-144,-159,-161,131,-22,-21,-223,-278,-277,-276,-275,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-213,-216,-205,-79,-203,-178,131,-180,-264,-272,-273,-258,-204,-179,131,-237,-209,-208,-206,-80,-181,-288,131,-281,-282,-210,-207,-212,-211,]),'_BOOL':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[15,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,15,-96,-111,-106,-65,-95,-112,15,-221,-109,-113,15,-63,-118,15,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,15,-53,15,-84,15,15,-61,-133,-307,-132,15,-153,-152,-166,-90,-92,15,-89,-91,-94,-83,-86,-88,-69,-30,15,15,-70,15,-85,15,15,15,-135,-130,-145,-146,-142,-308,15,15,-167,15,15,-36,-35,15,15,-73,-76,-72,-74,15,-78,-199,-198,-77,-200,-75,15,-139,15,-137,-134,-143,-131,-128,-129,-154,-71,15,-31,15,15,15,-34,15,15,15,-218,-217,15,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,15,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'LE':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,302,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,302,-245,-243,-247,302,-246,-242,-249,302,-240,-239,-248,302,302,302,302,-241,-264,-272,-273,-258,-288,-281,-282,]),'SEMI':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,46,47,48,49,50,51,53,54,55,56,57,61,63,65,68,69,70,71,72,73,74,80,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,115,119,120,121,123,124,125,126,127,128,129,130,131,133,143,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,183,187,188,202,203,205,206,207,208,210,211,215,217,218,219,220,221,222,223,224,225,227,229,231,232,233,234,235,236,237,238,240,241,242,243,244,245,249,251,252,258,259,261,262,263,276,278,279,280,282,286,289,290,292,293,297,335,336,337,338,339,340,342,345,346,347,349,351,352,353,354,356,357,358,360,362,363,370,371,381,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,419,432,433,434,435,436,437,439,442,443,445,446,447,448,451,458,459,460,465,477,478,479,480,481,483,484,485,489,494,499,501,502,504,505,507,511,516,517,520,522,523,524,526,527,528,],[17,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,-96,-111,-106,-65,-95,-112,17,-221,-109,-113,-309,-63,-118,-309,-29,-107,-62,-103,-67,-114,-108,101,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,-53,-309,-309,-61,-133,-307,-132,128,-153,-152,-90,-20,-92,-54,-163,-162,-37,-122,-81,-89,-91,-19,-120,-124,-94,-126,-16,-82,-15,-83,-86,-88,-69,-30,-294,-162,-70,-309,128,128,128,-135,-130,-145,-146,-142,-308,-309,-55,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,-236,-300,-296,-222,-36,-35,-73,-76,336,-72,337,-74,340,-14,-309,-78,-199,-198,-77,349,-200,-13,-309,-75,-219,-294,128,-139,128,-137,-134,-143,-131,-128,-26,-25,360,-147,-129,-149,-154,-38,-121,-71,-123,-177,-127,-125,-306,-263,-304,-280,-279,-31,-257,-262,-260,-34,-261,432,-218,-217,433,-309,-215,-309,-235,-201,-13,-214,-78,-80,-202,-309,-138,-136,-151,-144,-156,-155,-44,-43,-223,-278,-277,-276,-275,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-33,-32,-213,-216,477,-309,-220,-205,-309,-79,-203,-148,-150,-39,-42,-178,-264,-272,-273,-258,-309,500,-309,-204,-309,-309,-41,-40,-179,-237,514,-209,-208,-206,-80,-288,-281,523,-309,-282,-309,-210,-207,-309,-212,-211,]),'LT':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,304,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,304,-245,-243,-247,304,-246,-242,-249,304,-240,-239,-248,304,304,304,304,-241,-264,-272,-273,-258,-288,-281,-282,]),'COMMA':([2,3,5,6,7,8,9,10,11,15,16,19,20,21,24,25,29,30,31,32,35,37,39,41,44,45,48,50,51,54,61,69,71,73,74,76,77,78,79,80,82,83,85,86,87,88,89,91,92,94,95,96,97,98,105,112,113,114,115,116,118,119,126,127,131,136,137,138,139,140,143,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,183,187,188,190,191,192,193,194,195,196,197,199,211,227,229,232,234,235,237,238,240,243,244,245,246,247,248,249,251,252,259,261,262,263,276,278,279,280,282,286,289,290,292,293,294,296,297,324,325,332,334,338,345,356,357,358,362,363,364,365,370,371,377,381,383,384,385,386,387,388,389,390,391,394,396,397,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,427,428,436,438,440,444,445,446,447,448,451,455,458,459,460,465,472,473,474,475,476,484,485,489,490,493,494,495,496,503,506,507,511,512,513,519,520,],[-104,-117,-115,-101,-99,-52,-97,-116,-98,-102,-93,-96,-111,-106,-95,-112,-221,-109,-309,-113,-118,-29,-107,-103,-114,-108,-110,-105,-119,-100,-53,-133,-132,-153,-152,-28,-164,-166,-27,-90,142,-92,-54,-163,-162,-37,-122,-89,-91,-120,-124,-94,-126,149,-30,-170,-309,200,-294,201,-175,-162,-135,-130,-308,-157,248,-160,-167,-165,-55,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,-236,-300,-296,-222,-36,-35,-174,-2,-188,-56,-172,-1,-45,-173,-190,341,-219,-294,-139,-137,-134,-131,-128,359,-147,-129,-149,248,248,-158,-154,-38,-121,-123,-177,-127,-125,-306,-263,-304,-280,-279,-31,-257,-262,-260,-34,341,-309,-261,-57,-189,-176,-171,341,-235,-138,-136,-151,-156,-155,-159,-161,-44,-43,454,-223,-278,-277,-276,-275,341,-292,-274,461,462,-287,-187,-188,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,341,-253,-241,-33,-32,-197,-191,-193,-195,-220,341,341,341,-148,-150,-39,-42,-178,-180,-264,-272,-273,-258,-51,-50,-192,-194,-196,-41,-40,-179,-293,510,-237,-46,-49,341,-181,-288,-281,-48,-47,341,-282,]),'OFFSETOF':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,166,167,169,171,173,174,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,165,-28,-309,165,-308,-167,-309,165,165,-270,165,-268,165,-267,165,-266,165,165,-265,-269,165,165,165,-73,-76,-72,165,-74,165,165,-78,-199,-198,-77,-200,165,-75,-266,165,165,165,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,165,-233,-234,-226,-232,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,-309,-266,165,-218,-217,165,-215,165,165,165,-201,165,-214,165,-80,-202,165,165,165,-266,165,165,-12,165,165,-11,165,165,-28,-309,-266,-213,-216,165,-205,165,-79,-203,-309,-182,165,165,-309,165,-266,165,165,165,165,-204,165,165,165,165,-11,165,-209,-208,-206,-80,165,-309,165,165,165,-210,-207,165,-212,-211,]),'TYPEDEF':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,60,61,63,64,67,68,69,70,71,73,74,80,83,87,91,92,96,101,104,105,113,120,121,122,126,131,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,258,286,293,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[7,7,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,7,-96,-111,-106,-65,-95,-112,7,-221,-109,-113,7,-63,-118,-29,-107,-62,-103,-67,-114,-108,7,-110,7,-105,-119,-68,-100,7,-53,7,-84,7,-61,-133,-307,-132,-153,-152,-90,-92,7,-89,-91,-94,-83,-69,-30,7,-70,7,-85,-135,-308,7,-36,-35,7,7,-73,-76,-72,-74,7,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,-71,-31,-34,7,7,-218,-217,7,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,7,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'XOR':([115,131,150,152,153,154,155,156,157,158,161,162,164,170,172,175,177,178,179,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,458,459,460,465,507,511,520,],[-294,-308,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,-238,-297,-271,-303,-295,-283,307,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-244,307,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,307,-250,-252,307,-241,-264,-272,-273,-258,-288,-281,-282,]),'AUTO':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,37,39,40,41,42,44,45,47,48,49,50,51,53,54,60,61,63,64,67,68,69,70,71,73,74,80,83,87,91,92,96,101,104,105,113,120,121,122,126,131,145,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,232,234,235,249,258,286,293,327,331,336,337,339,340,346,349,351,352,353,356,357,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[24,24,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,24,-96,-111,-106,-65,-95,-112,24,-221,-109,-113,24,-63,-118,-29,-107,-62,-103,-67,-114,-108,24,-110,24,-105,-119,-68,-100,24,-53,24,-84,24,-61,-133,-307,-132,-153,-152,-90,-92,24,-89,-91,-94,-83,-69,-30,24,-70,24,-85,-135,-308,24,-36,-35,24,24,-73,-76,-72,-74,24,-78,-199,-198,-77,-200,-75,-139,-137,-134,-154,-71,-31,-34,24,24,-218,-217,24,-215,-201,-214,-78,-80,-202,-138,-136,-156,-155,24,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'TIMES':([0,1,2,3,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,23,24,25,26,29,30,31,32,33,34,35,36,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,59,63,65,68,69,70,71,73,74,76,77,78,79,80,81,83,91,92,96,101,102,103,104,106,107,108,113,115,120,121,126,127,131,133,139,142,144,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,189,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,232,234,235,237,238,239,244,249,250,253,254,255,258,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,284,285,288,289,290,291,292,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,356,357,359,361,362,363,367,368,369,372,376,378,380,383,384,385,386,389,394,395,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,422,423,424,430,432,433,435,437,439,442,443,454,457,458,459,460,461,463,465,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[31,-309,-104,-117,31,-115,-101,-99,-97,-116,-98,-64,-60,-102,-93,-66,-96,-111,-106,-65,-95,-112,31,-221,-109,-309,-113,31,-63,-118,31,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,-309,31,31,-61,-133,-307,-132,-153,-152,-28,31,-166,-27,-90,31,-92,-89,-91,-94,-83,-86,-88,-69,171,-28,-309,31,-294,-70,228,-135,-130,-308,31,-167,31,-309,228,228,31,-298,-270,-257,-286,-301,-305,-302,-299,-284,228,-268,-285,-259,-238,228,-267,228,-297,-266,-271,228,228,-303,-265,-295,-283,309,-300,-296,-269,228,228,31,329,-73,-76,-72,228,-74,228,228,-78,-199,-198,-77,-200,228,-75,-266,-294,-139,-137,-134,-131,-128,228,-129,-154,228,367,-28,-309,-71,-309,-227,-230,-228,-224,-225,-229,-231,228,-233,-234,-226,-232,-306,228,-263,-304,-280,-279,228,228,228,-257,-262,228,-260,31,-261,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,-309,-266,430,-218,-217,228,-215,228,228,228,-201,228,-214,228,-80,-202,228,228,-138,-136,31,228,-156,-155,-266,228,228,-12,228,228,-11,-278,-277,-276,-275,-274,-287,228,31,309,309,309,309,309,309,309,309,309,309,-240,-239,309,309,309,309,309,-241,469,-28,-309,-266,-213,-216,228,-205,228,-79,-203,-309,-182,-264,-272,-273,228,228,-258,-309,228,-266,228,228,228,228,-204,228,228,228,228,-11,228,-209,-208,-206,-80,-288,228,-309,-281,228,228,-282,228,-210,-207,228,-212,-211,]),'LPAREN':([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,59,61,63,65,68,69,70,71,73,74,76,77,78,79,80,81,83,84,85,88,91,92,96,101,102,103,104,105,106,107,108,113,115,120,121,126,127,131,133,139,140,142,143,144,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,165,166,167,169,170,171,172,173,174,175,176,177,178,180,181,184,185,186,187,188,189,192,193,196,198,199,202,203,206,207,208,209,213,214,215,216,217,218,219,220,222,224,225,228,229,230,232,234,235,237,238,239,244,249,250,251,253,254,255,258,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,282,284,285,286,288,291,293,296,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,319,324,325,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,356,357,359,361,362,363,367,368,369,370,371,372,376,378,380,383,384,385,386,389,394,395,397,398,418,419,420,421,422,423,424,427,428,430,432,433,435,437,439,441,442,443,447,448,454,457,459,460,461,463,466,467,469,470,471,472,473,474,475,476,477,479,480,481,482,483,484,485,487,488,495,496,500,501,502,504,505,507,509,510,511,512,513,514,517,520,522,523,524,526,527,528,],[4,-309,-104,-117,4,-115,-101,-99,60,-97,-116,-98,-64,4,-60,-102,-93,-66,-96,-111,-106,-65,-95,-112,4,-221,-109,-309,-113,81,-63,-118,4,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,-309,60,81,4,-61,-133,-307,-132,-153,-152,-28,-164,-166,-27,-90,81,-92,81,145,-37,-89,-91,-94,-83,-86,-88,-69,-30,173,-28,-309,189,-294,-70,173,-135,-130,-308,81,-167,-165,81,145,-309,173,173,81,-298,-270,-286,-301,-305,-302,-299,-284,277,-268,-285,285,287,288,-267,291,-297,-266,-271,173,291,-303,-265,-295,-283,-300,-296,-269,173,173,-36,-35,189,189,327,-45,173,331,-73,-76,-72,173,-74,339,343,288,173,348,-78,-199,-198,-77,-200,173,-75,-266,-294,355,-139,-137,-134,-131,-128,288,-129,-154,288,-38,173,-28,-309,-71,-309,-227,-230,-228,-224,-225,-229,-231,173,-233,-234,-226,-232,-306,173,-304,-280,-279,173,173,-31,173,173,-34,398,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,173,288,288,189,327,331,-309,-266,173,-218,-217,173,-215,173,173,173,-201,173,-214,173,-80,-202,173,173,-138,-136,81,288,-156,-155,-266,173,173,-44,-43,-12,288,173,-11,-278,-277,-276,-275,-274,-287,288,398,398,-33,-32,-197,-191,173,-28,-309,-193,-195,-266,-213,-216,173,-205,173,482,-79,-203,-39,-42,-309,-182,-272,-273,173,288,-309,288,-266,173,173,-51,-50,-192,-194,-196,173,173,-204,173,173,173,-41,-40,173,-11,-46,-49,173,-209,-208,-206,-80,-288,173,-309,-281,-48,-47,173,173,-282,173,-210,-207,173,-212,-211,]),'MINUSMINUS':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,115,121,131,139,144,147,148,150,151,153,154,155,156,157,158,159,160,161,162,166,167,169,170,171,172,173,174,175,176,177,178,180,181,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,229,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,282,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,383,384,385,386,389,394,395,422,423,424,430,432,433,435,437,439,442,443,454,457,459,460,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,507,509,510,511,514,517,520,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,174,-28,-309,-294,174,-308,-167,-309,174,174,-298,-270,-286,-301,-305,-302,-299,-284,174,-268,-285,280,174,-267,174,-297,-266,-271,174,174,-303,-265,-295,-283,-300,-296,-269,174,174,174,-73,-76,-72,174,-74,174,174,-78,-199,-198,-77,-200,174,-75,-266,-294,174,174,174,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,174,-233,-234,-226,-232,-306,174,-304,-280,-279,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,-309,-266,174,-218,-217,174,-215,174,174,174,-201,174,-214,174,-80,-202,174,174,174,-266,174,174,-12,174,174,-11,-278,-277,-276,-275,-274,-287,174,174,-28,-309,-266,-213,-216,174,-205,174,-79,-203,-309,-182,-272,-273,174,174,-309,174,-266,174,174,174,174,-204,174,174,174,174,-11,174,-209,-208,-206,-80,-288,174,-309,-281,174,174,-282,174,-210,-207,174,-212,-211,]),'ID':([0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,59,60,63,65,68,69,70,71,73,74,75,76,77,78,79,80,81,83,84,91,92,96,101,102,103,104,106,107,108,113,120,121,126,127,131,133,134,135,139,140,142,144,145,147,148,149,151,159,160,166,167,169,171,173,174,176,184,185,186,189,192,198,200,202,203,204,206,207,208,214,215,217,218,219,220,222,224,225,228,232,234,235,237,238,239,244,248,249,250,253,254,255,258,260,264,265,266,267,268,269,270,271,272,273,274,275,277,281,283,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,319,326,327,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,356,357,359,361,362,363,367,368,369,372,375,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,462,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,508,509,510,514,517,522,523,524,526,527,528,],[37,-309,-104,-117,37,-115,-101,-99,-97,-116,-98,-64,37,-60,-102,-93,-66,-96,-111,-106,-141,-65,-95,-112,37,71,74,-221,-109,-309,-113,37,-63,-118,37,-140,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,-309,115,37,37,-61,-133,-307,-132,-153,-152,138,-28,-164,-166,-27,-90,37,-92,37,-89,-91,-94,-83,-86,-88,-69,115,-28,-309,37,-70,229,-135,-130,-308,37,138,138,-167,-165,37,-309,115,115,115,37,-270,115,-268,115,-267,115,-266,115,115,-265,-269,115,115,37,37,115,115,-73,-76,335,-72,115,-74,115,229,-78,-199,-198,-77,-200,229,-75,-266,-139,-137,-134,-131,-128,115,-129,138,-154,115,115,-28,-309,-71,-309,-227,-230,-228,-224,-225,-229,-231,115,-233,-234,-226,-232,115,384,386,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,37,-309,115,-266,115,-218,-217,115,-215,115,229,115,-201,115,-214,229,-80,-202,229,115,-138,-136,37,115,-156,-155,-266,115,115,-12,115,115,115,-11,115,115,-28,-309,-266,-213,-216,115,-205,229,-79,-203,-309,-182,115,115,115,-309,115,-266,115,115,115,229,-204,229,115,229,115,-11,115,-209,-208,-206,-80,115,115,-309,115,229,229,-210,-207,229,-212,-211,]),'IF':([53,70,101,104,121,131,202,203,206,208,215,217,218,219,220,222,224,225,336,337,340,342,346,349,351,352,353,354,432,433,437,439,442,443,479,480,481,483,501,502,504,505,517,522,523,524,526,527,528,],[-68,-307,-83,-69,230,-308,-73,-76,-72,-74,230,-78,-199,-198,-77,-200,230,-75,-218,-217,-215,230,-201,-214,230,-80,-202,230,-213,-216,-205,230,-79,-203,230,-204,230,230,-209,-208,-206,-80,230,230,-210,-207,230,-212,-211,]),'STRING_LITERAL':([3,35,51,53,59,70,76,78,79,101,104,106,107,108,121,131,139,144,147,148,151,159,160,161,166,167,169,171,173,174,175,176,184,185,186,198,202,203,206,207,208,214,215,217,218,219,220,222,224,225,228,239,250,253,254,255,260,264,265,266,267,268,269,270,271,272,273,274,275,277,279,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,326,329,330,336,337,339,340,341,342,343,346,348,349,351,352,353,354,355,361,367,368,369,372,376,378,380,395,422,423,424,430,432,433,435,437,439,442,443,454,457,461,463,466,467,469,470,471,477,479,480,481,482,483,487,488,500,501,502,504,505,509,510,514,517,522,523,524,526,527,528,],[-117,-118,-119,-68,-309,-307,-28,-166,-27,-83,-69,175,-28,-309,175,-308,-167,-309,175,175,-270,175,-268,279,175,-267,175,-266,175,175,-303,-265,-269,175,175,175,-73,-76,-72,175,-74,175,175,-78,-199,-198,-77,-200,175,-75,-266,175,175,175,-28,-309,-309,-227,-230,-228,-224,-225,-229,-231,175,-233,-234,-226,-232,175,-304,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,-309,-266,175,-218,-217,175,-215,175,175,175,-201,175,-214,175,-80,-202,175,175,175,-266,175,175,-12,175,175,-11,175,175,-28,-309,-266,-213,-216,175,-205,175,-79,-203,-309,-182,175,175,-309,175,-266,175,175,175,175,-204,175,175,175,175,-11,175,-209,-208,-206,-80,175,-309,175,175,175,-210,-207,175,-212,-211,]),'FLOAT':([0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23,24,25,26,29,30,32,33,34,35,36,37,39,40,41,42,44,45,47,48,49,50,51,53,54,55,56,57,60,61,63,64,65,67,68,69,70,71,72,73,74,78,80,83,87,91,92,96,101,102,103,104,105,113,117,120,121,122,123,124,125,126,127,128,129,130,131,132,133,139,145,173,187,188,189,201,202,203,206,208,215,217,218,219,220,222,225,231,232,233,234,235,236,237,238,244,249,258,277,286,287,288,291,293,296,327,331,336,337,339,340,346,349,351,352,353,356,357,360,362,363,398,418,419,432,433,437,442,443,480,501,502,504,505,523,524,527,528,],[39,-309,-104,-117,-115,-101,-99,-52,-97,-116,-98,-64,-60,-102,-93,-66,39,-96,-111,-106,-65,-95,-112,39,-221,-109,-113,39,-63,-118,39,-29,-107,-62,-103,-67,-114,-108,-309,-110,-309,-105,-119,-68,-100,-87,-10,-9,39,-53,39,-84,39,39,-61,-133,-307,-132,39,-153,-152,-166,-90,-92,39,-89,-91,-94,-83,-86,-88,-69,-30,39,39,-70,39,-85,39,39,39,-135,-130,-145,-146,-142,-308,39,39,-167,39,39,-36,-35,39,39,-73,-76,-72,-74,39,-78,-199,-198,-77,-200,-75,39,-139,39,-137,-134,-143,-131,-128,-129,-154,-71,39,-31,39,39,39,-34,39,39,39,-218,-217,39,-215,-201,-214,-78,-80,-202,-138,-136,-144,-156,-155,39,-33,-32,-213,-216,-205,-79,-203,-204,-209,-208,-206,-80,-210,-207,-212,-211,]),'XOREQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,268,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'LSHIFTEQUAL':([115,131,150,152,153,154,155,156,157,158,161,162,170,172,175,177,178,180,181,229,276,278,279,280,282,289,290,292,297,383,384,385,386,389,394,458,459,460,465,507,511,520,],[-294,-308,-298,270,-286,-301,-305,-302,-299,-284,-285,-259,-297,-271,-303,-295,-283,-300,-296,-294,-306,-263,-304,-280,-279,-257,-262,-260,-261,-278,-277,-276,-275,-274,-287,-264,-272,-273,-258,-288,-281,-282,]),'RBRACKET':([3,35,51,59,78,79,106,107,115,131,139,144,150,152,153,154,155,156,157,158,161,162,163,164,168,170,171,172,175,177,178,179,180,181,182,183,198,227,253,254,276,278,279,280,282,289,290,292,297,317,318,326,328,329,330,345,366,367,381,383,384,385,386,387,389,394,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,422,423,429,430,436,449,450,453,458,459,460,465,468,469,494,497,498,507,511,519,520,],[-117,-118,-119,-309,-166,-27,-309,-28,-294,-308,-167,-309,-298,-257,-286,-301,-305,-302,-299,-284,-285,-259,286,-238,-4,-297,293,-271,-303,-295,-283,-236,-300,-296,-3,-222,-309,-219,-309,-28,-306,-263,-304,-280,-279,-257,-262,-260,-261,418,419,-309,427,428,-309,-235,447,448,-223,-278,-277,-276,-275,459,-274,-287,-244,-256,-245,-243,-247,-251,-246,-242,-249,-254,-240,-239,-248,-255,-250,-252,-253,-241,-309,-28,474,475,-220,484,485,486,-264,-272,-273,-258,495,496,-237,512,513,-288,-281,525,-282,]),} - -_lr_action = {} -for _k, _v in _lr_action_items.items(): - for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_action: _lr_action[_x] = {} - _lr_action[_x][_k] = _y -del _lr_action_items - -_lr_goto_items = {'expression_statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[202,202,202,202,202,202,202,202,202,202,202,202,202,]),'struct_or_union_specifier':([0,18,26,36,60,65,67,72,87,117,121,123,124,125,132,145,173,189,201,215,231,233,277,287,288,291,327,331,339,398,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'init_declarator_list':([33,63,],[82,82,]),'init_declarator_list_opt':([33,63,],[90,90,]),'iteration_statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[203,203,203,203,203,203,203,203,203,203,203,203,203,]),'unified_string_literal':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,]),'assignment_expression_opt':([106,198,253,330,422,],[163,328,366,429,468,]),'brace_open':([27,28,66,69,71,73,74,121,146,147,148,215,224,342,351,354,378,395,439,458,463,464,479,481,483,487,517,522,526,],[72,75,121,123,124,134,135,121,121,260,260,121,121,121,121,121,260,466,121,466,466,466,121,121,121,260,121,121,121,]),'enumerator':([75,134,135,248,],[136,136,136,364,]),'typeid_noparen_declarator':([113,],[197,]),'type_qualifier_list_opt':([31,59,108,144,255,326,424,],[77,106,186,253,369,422,471,]),'declaration_specifiers_no_type_opt':([1,47,49,],[55,102,103,]),'expression_opt':([121,215,224,339,342,351,354,435,439,477,479,481,483,500,514,517,522,526,],[205,205,205,434,205,205,205,478,205,499,205,205,205,515,521,205,205,205,]),'designation':([260,454,466,510,],[372,372,372,372,]),'parameter_list':([60,145,189,327,331,398,],[116,116,116,116,116,116,]),'labeled_statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[206,206,206,206,206,206,206,206,206,206,206,206,206,]),'abstract_declarator':([113,189,296,398,],[191,323,191,323,]),'translation_unit':([0,],[26,]),'init_declarator':([33,63,142,149,],[94,94,252,263,]),'direct_abstract_declarator':([113,189,192,296,319,397,398,],[199,199,325,199,325,325,199,]),'designator_list':([260,454,466,510,],[379,379,379,379,]),'identifier':([60,106,121,145,147,148,159,166,169,173,174,185,186,198,200,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,327,330,339,341,342,343,348,351,354,355,361,368,369,375,376,378,395,422,435,439,461,462,463,467,470,471,477,479,481,482,483,487,500,508,509,514,517,522,526,],[118,178,178,118,178,178,178,178,178,178,178,178,178,178,332,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,118,178,178,178,178,178,178,178,178,178,178,178,178,452,178,178,178,178,178,178,178,492,178,178,178,178,178,178,178,178,178,178,178,518,178,178,178,178,178,]),'offsetof_member_designator':([462,],[491,]),'unary_expression':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[152,152,152,152,278,289,292,152,297,152,152,152,152,289,152,152,289,289,152,152,152,152,152,152,152,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,152,289,289,152,152,152,152,152,152,152,152,152,289,152,152,289,152,289,152,152,152,152,289,289,152,152,152,152,152,152,152,152,152,152,152,152,152,152,]),'abstract_declarator_opt':([113,296,],[190,396,]),'initializer':([147,148,378,487,],[259,262,455,506,]),'direct_id_declarator':([0,4,13,26,33,36,63,65,81,84,113,133,142,149,189,192,319,359,],[8,8,61,8,8,8,8,8,8,61,8,8,8,8,8,61,61,8,]),'struct_declaration_list':([72,123,124,],[125,231,233,]),'pp_directive':([0,26,],[12,12,]),'declaration_list':([18,87,],[67,67,]),'id_init_declarator':([36,65,],[95,95,]),'type_specifier':([0,18,26,36,60,65,67,72,87,117,121,123,124,125,132,145,173,189,201,215,231,233,277,287,288,291,327,331,339,398,],[16,16,16,96,16,96,16,127,16,96,16,127,127,127,237,16,127,16,16,16,127,127,127,127,127,127,16,16,16,16,]),'compound_statement':([66,121,146,215,224,342,351,354,439,479,481,483,517,522,526,],[120,208,258,208,208,208,208,208,208,208,208,208,208,208,208,]),'pointer':([0,4,26,33,36,63,65,77,81,113,133,142,149,189,296,359,398,],[13,13,13,84,13,84,13,140,84,192,84,84,84,319,397,84,397,]),'typeid_declarator':([33,63,81,133,142,149,359,],[86,86,141,86,86,86,86,]),'id_init_declarator_list':([36,65,],[98,98,]),'declarator':([33,63,133,142,149,359,],[89,89,245,89,89,245,]),'argument_expression_list':([285,],[390,]),'struct_declarator_list_opt':([133,],[242,]),'typedef_name':([0,18,26,36,60,65,67,72,87,117,121,123,124,125,132,145,173,189,201,215,231,233,277,287,288,291,327,331,339,398,],[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,]),'parameter_type_list_opt':([189,331,398,],[322,431,322,]),'struct_declarator':([133,359,],[243,445,]),'type_qualifier':([0,1,18,26,31,33,47,49,59,60,63,67,72,76,87,107,108,113,121,123,124,125,132,133,144,145,173,189,201,215,231,233,254,255,277,287,288,291,296,326,327,331,339,398,423,424,],[47,47,47,47,78,91,47,47,78,47,91,47,78,139,47,139,78,91,47,78,78,78,139,244,78,47,78,47,47,47,78,78,139,78,78,78,78,78,244,78,47,47,47,47,139,78,]),'assignment_operator':([152,],[271,]),'expression':([121,173,207,215,224,277,284,288,291,314,339,342,343,348,351,354,355,435,439,477,479,481,482,483,500,509,514,517,522,526,],[211,294,338,211,211,294,387,294,294,415,211,211,438,440,211,211,444,211,211,211,211,211,503,211,211,519,211,211,211,211,]),'storage_class_specifier':([0,1,18,26,33,47,49,60,63,67,87,113,121,145,189,201,215,327,331,339,398,],[1,1,1,1,80,1,1,1,80,1,1,80,1,1,1,1,1,1,1,1,1,]),'unified_wstring_literal':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,]),'translation_unit_or_empty':([0,],[43,]),'initializer_list_opt':([260,],[373,]),'brace_close':([72,123,124,125,137,226,231,233,246,247,373,454,493,510,],[126,232,234,235,249,353,356,357,362,363,451,489,511,520,]),'direct_typeid_declarator':([33,63,81,84,133,142,149,359,],[85,85,85,143,85,85,85,85,]),'external_declaration':([0,26,],[14,68,]),'pragmacomp_or_statement':([224,342,354,439,479,481,483,517,522,526,],[350,437,443,480,501,502,504,524,527,528,]),'type_name':([173,277,287,288,291,],[295,382,391,392,393,]),'block_item_list':([121,],[215,]),'pppragma_directive':([0,26,72,121,123,124,125,215,224,231,233,342,351,354,439,479,481,483,517,522,526,],[23,23,129,217,129,129,129,217,351,129,129,351,217,351,351,351,351,351,351,351,351,]),'statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[218,218,352,352,442,352,352,352,352,505,352,352,352,]),'cast_expression':([106,121,147,148,166,173,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[164,164,164,164,290,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,465,164,164,164,164,465,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,]),'struct_declarator_list':([133,],[240,]),'empty':([0,1,18,31,33,36,47,49,59,60,63,65,87,106,108,113,121,133,144,145,189,198,215,224,253,255,260,296,326,327,330,331,339,342,351,354,398,422,424,435,439,454,466,477,479,481,483,500,510,514,517,522,526,],[52,57,62,79,93,100,57,57,79,110,93,100,62,182,79,195,223,241,79,110,320,182,347,347,182,79,380,195,79,110,182,320,347,347,347,347,320,182,79,347,347,488,488,347,347,347,347,347,488,347,347,347,347,]),'parameter_declaration':([60,145,189,201,327,331,398,],[112,112,112,334,112,112,112,]),'primary_expression':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,]),'declaration':([0,18,26,67,87,121,215,339,],[34,64,34,122,64,219,219,435,]),'declaration_specifiers_no_type':([0,1,18,26,47,49,60,67,87,121,145,189,201,215,327,331,339,398,],[36,56,65,36,56,56,117,65,65,65,117,117,117,65,117,117,65,117,]),'jump_statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[220,220,220,220,220,220,220,220,220,220,220,220,220,]),'enumerator_list':([75,134,135,],[137,246,247,]),'block_item':([121,215,],[222,346,]),'constant_expression':([214,239,250,361,376,],[344,358,365,446,453,]),'identifier_list_opt':([60,145,327,],[109,256,425,]),'constant':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,]),'type_specifier_no_typeid':([0,18,26,33,36,60,63,65,67,72,87,113,117,121,123,124,125,132,133,145,173,189,201,215,231,233,277,287,288,291,296,327,331,339,398,],[10,10,10,83,10,10,83,10,10,10,10,83,10,10,10,10,10,10,238,10,10,10,10,10,10,10,10,10,10,10,238,10,10,10,10,]),'struct_declaration':([72,123,124,125,231,233,],[130,130,130,236,236,236,]),'direct_typeid_noparen_declarator':([113,192,],[193,324,]),'id_declarator':([0,4,26,33,36,63,65,81,113,133,142,149,189,359,],[18,58,18,87,97,119,97,58,194,119,119,119,58,119,]),'selection_statement':([121,215,224,342,351,354,439,479,481,483,517,522,526,],[225,225,225,225,225,225,225,225,225,225,225,225,225,]),'postfix_expression':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,]),'initializer_list':([260,466,],[377,493,]),'unary_operator':([106,121,147,148,159,166,169,173,174,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,395,422,435,439,461,463,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,]),'struct_or_union':([0,18,26,36,60,65,67,72,87,117,121,123,124,125,132,145,173,189,201,215,231,233,277,287,288,291,327,331,339,398,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'block_item_list_opt':([121,],[226,]),'assignment_expression':([106,121,147,148,173,185,186,198,207,215,224,253,271,277,284,285,288,291,314,330,339,341,342,343,348,351,354,355,368,369,378,422,435,439,461,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[168,227,261,261,227,317,318,168,227,227,227,168,381,227,227,388,227,227,227,168,227,436,227,227,227,227,227,227,449,450,261,168,227,227,490,497,498,227,227,227,227,227,261,227,227,227,227,227,227,]),'designation_opt':([260,454,466,510,],[378,487,378,487,]),'parameter_type_list':([60,145,189,327,331,398,],[111,257,321,426,321,321,]),'type_qualifier_list':([31,59,72,108,123,124,125,144,173,231,233,255,277,287,288,291,326,424,],[76,107,132,76,132,132,132,254,132,132,132,76,132,132,132,132,423,76,]),'designator':([260,379,454,466,510,],[374,456,374,374,374,]),'id_init_declarator_list_opt':([36,65,],[99,99,]),'declaration_specifiers':([0,18,26,60,67,87,121,145,189,201,215,327,331,339,398,],[33,63,33,113,63,63,63,113,113,113,63,113,113,63,113,]),'identifier_list':([60,145,327,],[114,114,114,]),'declaration_list_opt':([18,87,],[66,146,]),'function_definition':([0,26,],[40,40,]),'binary_expression':([106,121,147,148,173,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,330,339,341,342,343,348,351,354,355,361,368,369,376,378,422,435,439,461,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,179,416,417,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,]),'enum_specifier':([0,18,26,36,60,65,67,72,87,117,121,123,124,125,132,145,173,189,201,215,231,233,277,287,288,291,327,331,339,398,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),'decl_body':([0,18,26,67,87,121,215,339,],[46,46,46,46,46,46,46,46,]),'function_specifier':([0,1,18,26,33,47,49,60,63,67,87,113,121,145,189,201,215,327,331,339,398,],[49,49,49,49,92,49,49,49,92,49,49,92,49,49,49,49,49,49,49,49,49,]),'specifier_qualifier_list':([72,123,124,125,173,231,233,277,287,288,291,],[133,133,133,133,296,133,133,296,296,296,296,]),'conditional_expression':([106,121,147,148,173,185,186,198,207,214,215,224,239,250,253,271,277,284,285,288,291,314,330,339,341,342,343,348,351,354,355,361,368,369,376,378,422,435,439,461,467,470,471,477,479,481,482,483,487,500,509,514,517,522,526,],[183,183,183,183,183,183,183,183,183,345,183,183,345,345,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,345,183,183,345,183,183,183,183,183,494,183,183,183,183,183,183,183,183,183,183,183,183,183,183,]),} - -_lr_goto = {} -for _k, _v in _lr_goto_items.items(): - for _x, _y in zip(_v[0], _v[1]): - if not _x in _lr_goto: _lr_goto[_x] = {} - _lr_goto[_x][_k] = _y -del _lr_goto_items -_lr_productions = [ - ("S' -> translation_unit_or_empty","S'",1,None,None,None), - ('abstract_declarator_opt -> empty','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',43), - ('abstract_declarator_opt -> abstract_declarator','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',44), - ('assignment_expression_opt -> empty','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',43), - ('assignment_expression_opt -> assignment_expression','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',44), - ('block_item_list_opt -> empty','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',43), - ('block_item_list_opt -> block_item_list','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',44), - ('declaration_list_opt -> empty','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',43), - ('declaration_list_opt -> declaration_list','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',44), - ('declaration_specifiers_no_type_opt -> empty','declaration_specifiers_no_type_opt',1,'p_declaration_specifiers_no_type_opt','plyparser.py',43), - ('declaration_specifiers_no_type_opt -> declaration_specifiers_no_type','declaration_specifiers_no_type_opt',1,'p_declaration_specifiers_no_type_opt','plyparser.py',44), - ('designation_opt -> empty','designation_opt',1,'p_designation_opt','plyparser.py',43), - ('designation_opt -> designation','designation_opt',1,'p_designation_opt','plyparser.py',44), - ('expression_opt -> empty','expression_opt',1,'p_expression_opt','plyparser.py',43), - ('expression_opt -> expression','expression_opt',1,'p_expression_opt','plyparser.py',44), - ('id_init_declarator_list_opt -> empty','id_init_declarator_list_opt',1,'p_id_init_declarator_list_opt','plyparser.py',43), - ('id_init_declarator_list_opt -> id_init_declarator_list','id_init_declarator_list_opt',1,'p_id_init_declarator_list_opt','plyparser.py',44), - ('identifier_list_opt -> empty','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',43), - ('identifier_list_opt -> identifier_list','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',44), - ('init_declarator_list_opt -> empty','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',43), - ('init_declarator_list_opt -> init_declarator_list','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',44), - ('initializer_list_opt -> empty','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',43), - ('initializer_list_opt -> initializer_list','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',44), - ('parameter_type_list_opt -> empty','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',43), - ('parameter_type_list_opt -> parameter_type_list','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',44), - ('struct_declarator_list_opt -> empty','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',43), - ('struct_declarator_list_opt -> struct_declarator_list','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',44), - ('type_qualifier_list_opt -> empty','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',43), - ('type_qualifier_list_opt -> type_qualifier_list','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',44), - ('direct_id_declarator -> ID','direct_id_declarator',1,'p_direct_id_declarator_1','plyparser.py',126), - ('direct_id_declarator -> LPAREN id_declarator RPAREN','direct_id_declarator',3,'p_direct_id_declarator_2','plyparser.py',126), - ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_id_declarator',5,'p_direct_id_declarator_3','plyparser.py',126), - ('direct_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_id_declarator',6,'p_direct_id_declarator_4','plyparser.py',126), - ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_id_declarator',6,'p_direct_id_declarator_4','plyparser.py',127), - ('direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_id_declarator',5,'p_direct_id_declarator_5','plyparser.py',126), - ('direct_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPAREN','direct_id_declarator',4,'p_direct_id_declarator_6','plyparser.py',126), - ('direct_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPAREN','direct_id_declarator',4,'p_direct_id_declarator_6','plyparser.py',127), - ('direct_typeid_declarator -> TYPEID','direct_typeid_declarator',1,'p_direct_typeid_declarator_1','plyparser.py',126), - ('direct_typeid_declarator -> LPAREN typeid_declarator RPAREN','direct_typeid_declarator',3,'p_direct_typeid_declarator_2','plyparser.py',126), - ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_typeid_declarator',5,'p_direct_typeid_declarator_3','plyparser.py',126), - ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_typeid_declarator',6,'p_direct_typeid_declarator_4','plyparser.py',126), - ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_typeid_declarator',6,'p_direct_typeid_declarator_4','plyparser.py',127), - ('direct_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_typeid_declarator',5,'p_direct_typeid_declarator_5','plyparser.py',126), - ('direct_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPAREN','direct_typeid_declarator',4,'p_direct_typeid_declarator_6','plyparser.py',126), - ('direct_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPAREN','direct_typeid_declarator',4,'p_direct_typeid_declarator_6','plyparser.py',127), - ('direct_typeid_noparen_declarator -> TYPEID','direct_typeid_noparen_declarator',1,'p_direct_typeid_noparen_declarator_1','plyparser.py',126), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_typeid_noparen_declarator',5,'p_direct_typeid_noparen_declarator_3','plyparser.py',126), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_typeid_noparen_declarator',6,'p_direct_typeid_noparen_declarator_4','plyparser.py',126), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_typeid_noparen_declarator',6,'p_direct_typeid_noparen_declarator_4','plyparser.py',127), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_typeid_noparen_declarator',5,'p_direct_typeid_noparen_declarator_5','plyparser.py',126), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN','direct_typeid_noparen_declarator',4,'p_direct_typeid_noparen_declarator_6','plyparser.py',126), - ('direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN','direct_typeid_noparen_declarator',4,'p_direct_typeid_noparen_declarator_6','plyparser.py',127), - ('id_declarator -> direct_id_declarator','id_declarator',1,'p_id_declarator_1','plyparser.py',126), - ('id_declarator -> pointer direct_id_declarator','id_declarator',2,'p_id_declarator_2','plyparser.py',126), - ('typeid_declarator -> direct_typeid_declarator','typeid_declarator',1,'p_typeid_declarator_1','plyparser.py',126), - ('typeid_declarator -> pointer direct_typeid_declarator','typeid_declarator',2,'p_typeid_declarator_2','plyparser.py',126), - ('typeid_noparen_declarator -> direct_typeid_noparen_declarator','typeid_noparen_declarator',1,'p_typeid_noparen_declarator_1','plyparser.py',126), - ('typeid_noparen_declarator -> pointer direct_typeid_noparen_declarator','typeid_noparen_declarator',2,'p_typeid_noparen_declarator_2','plyparser.py',126), - ('translation_unit_or_empty -> translation_unit','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',514), - ('translation_unit_or_empty -> empty','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',515), - ('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit_1','c_parser.py',523), - ('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit_2','c_parser.py',530), - ('external_declaration -> function_definition','external_declaration',1,'p_external_declaration_1','c_parser.py',542), - ('external_declaration -> declaration','external_declaration',1,'p_external_declaration_2','c_parser.py',547), - ('external_declaration -> pp_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',552), - ('external_declaration -> pppragma_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',553), - ('external_declaration -> SEMI','external_declaration',1,'p_external_declaration_4','c_parser.py',558), - ('pp_directive -> PPHASH','pp_directive',1,'p_pp_directive','c_parser.py',563), - ('pppragma_directive -> PPPRAGMA','pppragma_directive',1,'p_pppragma_directive','c_parser.py',569), - ('pppragma_directive -> PPPRAGMA PPPRAGMASTR','pppragma_directive',2,'p_pppragma_directive','c_parser.py',570), - ('function_definition -> id_declarator declaration_list_opt compound_statement','function_definition',3,'p_function_definition_1','c_parser.py',581), - ('function_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statement','function_definition',4,'p_function_definition_2','c_parser.py',598), - ('statement -> labeled_statement','statement',1,'p_statement','c_parser.py',609), - ('statement -> expression_statement','statement',1,'p_statement','c_parser.py',610), - ('statement -> compound_statement','statement',1,'p_statement','c_parser.py',611), - ('statement -> selection_statement','statement',1,'p_statement','c_parser.py',612), - ('statement -> iteration_statement','statement',1,'p_statement','c_parser.py',613), - ('statement -> jump_statement','statement',1,'p_statement','c_parser.py',614), - ('statement -> pppragma_directive','statement',1,'p_statement','c_parser.py',615), - ('pragmacomp_or_statement -> pppragma_directive statement','pragmacomp_or_statement',2,'p_pragmacomp_or_statement','c_parser.py',662), - ('pragmacomp_or_statement -> statement','pragmacomp_or_statement',1,'p_pragmacomp_or_statement','c_parser.py',663), - ('decl_body -> declaration_specifiers init_declarator_list_opt','decl_body',2,'p_decl_body','c_parser.py',682), - ('decl_body -> declaration_specifiers_no_type id_init_declarator_list_opt','decl_body',2,'p_decl_body','c_parser.py',683), - ('declaration -> decl_body SEMI','declaration',2,'p_declaration','c_parser.py',742), - ('declaration_list -> declaration','declaration_list',1,'p_declaration_list','c_parser.py',751), - ('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','c_parser.py',752), - ('declaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_1','c_parser.py',762), - ('declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_2','c_parser.py',767), - ('declaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_opt','declaration_specifiers_no_type',2,'p_declaration_specifiers_no_type_3','c_parser.py',772), - ('declaration_specifiers -> declaration_specifiers type_qualifier','declaration_specifiers',2,'p_declaration_specifiers_1','c_parser.py',778), - ('declaration_specifiers -> declaration_specifiers storage_class_specifier','declaration_specifiers',2,'p_declaration_specifiers_2','c_parser.py',783), - ('declaration_specifiers -> declaration_specifiers function_specifier','declaration_specifiers',2,'p_declaration_specifiers_3','c_parser.py',788), - ('declaration_specifiers -> declaration_specifiers type_specifier_no_typeid','declaration_specifiers',2,'p_declaration_specifiers_4','c_parser.py',793), - ('declaration_specifiers -> type_specifier','declaration_specifiers',1,'p_declaration_specifiers_5','c_parser.py',798), - ('declaration_specifiers -> declaration_specifiers_no_type type_specifier','declaration_specifiers',2,'p_declaration_specifiers_6','c_parser.py',803), - ('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',809), - ('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',810), - ('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',811), - ('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',812), - ('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',813), - ('function_specifier -> INLINE','function_specifier',1,'p_function_specifier','c_parser.py',818), - ('type_specifier_no_typeid -> VOID','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',823), - ('type_specifier_no_typeid -> _BOOL','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',824), - ('type_specifier_no_typeid -> CHAR','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',825), - ('type_specifier_no_typeid -> SHORT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',826), - ('type_specifier_no_typeid -> INT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',827), - ('type_specifier_no_typeid -> LONG','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',828), - ('type_specifier_no_typeid -> FLOAT','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',829), - ('type_specifier_no_typeid -> DOUBLE','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',830), - ('type_specifier_no_typeid -> _COMPLEX','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',831), - ('type_specifier_no_typeid -> SIGNED','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',832), - ('type_specifier_no_typeid -> UNSIGNED','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',833), - ('type_specifier_no_typeid -> __INT128','type_specifier_no_typeid',1,'p_type_specifier_no_typeid','c_parser.py',834), - ('type_specifier -> typedef_name','type_specifier',1,'p_type_specifier','c_parser.py',839), - ('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier','c_parser.py',840), - ('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier','c_parser.py',841), - ('type_specifier -> type_specifier_no_typeid','type_specifier',1,'p_type_specifier','c_parser.py',842), - ('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','c_parser.py',847), - ('type_qualifier -> RESTRICT','type_qualifier',1,'p_type_qualifier','c_parser.py',848), - ('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','c_parser.py',849), - ('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list','c_parser.py',854), - ('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list','c_parser.py',855), - ('init_declarator -> declarator','init_declarator',1,'p_init_declarator','c_parser.py',863), - ('init_declarator -> declarator EQUALS initializer','init_declarator',3,'p_init_declarator','c_parser.py',864), - ('id_init_declarator_list -> id_init_declarator','id_init_declarator_list',1,'p_id_init_declarator_list','c_parser.py',869), - ('id_init_declarator_list -> id_init_declarator_list COMMA init_declarator','id_init_declarator_list',3,'p_id_init_declarator_list','c_parser.py',870), - ('id_init_declarator -> id_declarator','id_init_declarator',1,'p_id_init_declarator','c_parser.py',875), - ('id_init_declarator -> id_declarator EQUALS initializer','id_init_declarator',3,'p_id_init_declarator','c_parser.py',876), - ('specifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeid','specifier_qualifier_list',2,'p_specifier_qualifier_list_1','c_parser.py',883), - ('specifier_qualifier_list -> specifier_qualifier_list type_qualifier','specifier_qualifier_list',2,'p_specifier_qualifier_list_2','c_parser.py',888), - ('specifier_qualifier_list -> type_specifier','specifier_qualifier_list',1,'p_specifier_qualifier_list_3','c_parser.py',893), - ('specifier_qualifier_list -> type_qualifier_list type_specifier','specifier_qualifier_list',2,'p_specifier_qualifier_list_4','c_parser.py',898), - ('struct_or_union_specifier -> struct_or_union ID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',907), - ('struct_or_union_specifier -> struct_or_union TYPEID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',908), - ('struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_2','c_parser.py',918), - ('struct_or_union_specifier -> struct_or_union brace_open brace_close','struct_or_union_specifier',3,'p_struct_or_union_specifier_2','c_parser.py',919), - ('struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',936), - ('struct_or_union_specifier -> struct_or_union ID brace_open brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_3','c_parser.py',937), - ('struct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',938), - ('struct_or_union_specifier -> struct_or_union TYPEID brace_open brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_3','c_parser.py',939), - ('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','c_parser.py',955), - ('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','c_parser.py',956), - ('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','c_parser.py',963), - ('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','c_parser.py',964), - ('struct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMI','struct_declaration',3,'p_struct_declaration_1','c_parser.py',972), - ('struct_declaration -> SEMI','struct_declaration',1,'p_struct_declaration_2','c_parser.py',1010), - ('struct_declaration -> pppragma_directive','struct_declaration',1,'p_struct_declaration_3','c_parser.py',1015), - ('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','c_parser.py',1020), - ('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','c_parser.py',1021), - ('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator_1','c_parser.py',1029), - ('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator_2','c_parser.py',1034), - ('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator_2','c_parser.py',1035), - ('enum_specifier -> ENUM ID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',1043), - ('enum_specifier -> ENUM TYPEID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',1044), - ('enum_specifier -> ENUM brace_open enumerator_list brace_close','enum_specifier',4,'p_enum_specifier_2','c_parser.py',1049), - ('enum_specifier -> ENUM ID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',1054), - ('enum_specifier -> ENUM TYPEID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',1055), - ('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','c_parser.py',1060), - ('enumerator_list -> enumerator_list COMMA','enumerator_list',2,'p_enumerator_list','c_parser.py',1061), - ('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','c_parser.py',1062), - ('enumerator -> ID','enumerator',1,'p_enumerator','c_parser.py',1073), - ('enumerator -> ID EQUALS constant_expression','enumerator',3,'p_enumerator','c_parser.py',1074), - ('declarator -> id_declarator','declarator',1,'p_declarator','c_parser.py',1089), - ('declarator -> typeid_declarator','declarator',1,'p_declarator','c_parser.py',1090), - ('pointer -> TIMES type_qualifier_list_opt','pointer',2,'p_pointer','c_parser.py',1201), - ('pointer -> TIMES type_qualifier_list_opt pointer','pointer',3,'p_pointer','c_parser.py',1202), - ('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','c_parser.py',1231), - ('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','c_parser.py',1232), - ('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','c_parser.py',1237), - ('parameter_type_list -> parameter_list COMMA ELLIPSIS','parameter_type_list',3,'p_parameter_type_list','c_parser.py',1238), - ('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','c_parser.py',1246), - ('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','c_parser.py',1247), - ('parameter_declaration -> declaration_specifiers id_declarator','parameter_declaration',2,'p_parameter_declaration_1','c_parser.py',1266), - ('parameter_declaration -> declaration_specifiers typeid_noparen_declarator','parameter_declaration',2,'p_parameter_declaration_1','c_parser.py',1267), - ('parameter_declaration -> declaration_specifiers abstract_declarator_opt','parameter_declaration',2,'p_parameter_declaration_2','c_parser.py',1278), - ('identifier_list -> identifier','identifier_list',1,'p_identifier_list','c_parser.py',1309), - ('identifier_list -> identifier_list COMMA identifier','identifier_list',3,'p_identifier_list','c_parser.py',1310), - ('initializer -> assignment_expression','initializer',1,'p_initializer_1','c_parser.py',1319), - ('initializer -> brace_open initializer_list_opt brace_close','initializer',3,'p_initializer_2','c_parser.py',1324), - ('initializer -> brace_open initializer_list COMMA brace_close','initializer',4,'p_initializer_2','c_parser.py',1325), - ('initializer_list -> designation_opt initializer','initializer_list',2,'p_initializer_list','c_parser.py',1333), - ('initializer_list -> initializer_list COMMA designation_opt initializer','initializer_list',4,'p_initializer_list','c_parser.py',1334), - ('designation -> designator_list EQUALS','designation',2,'p_designation','c_parser.py',1345), - ('designator_list -> designator','designator_list',1,'p_designator_list','c_parser.py',1353), - ('designator_list -> designator_list designator','designator_list',2,'p_designator_list','c_parser.py',1354), - ('designator -> LBRACKET constant_expression RBRACKET','designator',3,'p_designator','c_parser.py',1359), - ('designator -> PERIOD identifier','designator',2,'p_designator','c_parser.py',1360), - ('type_name -> specifier_qualifier_list abstract_declarator_opt','type_name',2,'p_type_name','c_parser.py',1365), - ('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator_1','c_parser.py',1376), - ('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator_2','c_parser.py',1384), - ('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator_3','c_parser.py',1389), - ('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_1','c_parser.py',1399), - ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_2','c_parser.py',1403), - ('direct_abstract_declarator -> LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_3','c_parser.py',1414), - ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_4','c_parser.py',1423), - ('direct_abstract_declarator -> LBRACKET TIMES RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_5','c_parser.py',1434), - ('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator_6','c_parser.py',1443), - ('direct_abstract_declarator -> LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_7','c_parser.py',1453), - ('block_item -> declaration','block_item',1,'p_block_item','c_parser.py',1464), - ('block_item -> statement','block_item',1,'p_block_item','c_parser.py',1465), - ('block_item_list -> block_item','block_item_list',1,'p_block_item_list','c_parser.py',1472), - ('block_item_list -> block_item_list block_item','block_item_list',2,'p_block_item_list','c_parser.py',1473), - ('compound_statement -> brace_open block_item_list_opt brace_close','compound_statement',3,'p_compound_statement_1','c_parser.py',1479), - ('labeled_statement -> ID COLON pragmacomp_or_statement','labeled_statement',3,'p_labeled_statement_1','c_parser.py',1485), - ('labeled_statement -> CASE constant_expression COLON pragmacomp_or_statement','labeled_statement',4,'p_labeled_statement_2','c_parser.py',1489), - ('labeled_statement -> DEFAULT COLON pragmacomp_or_statement','labeled_statement',3,'p_labeled_statement_3','c_parser.py',1493), - ('selection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statement','selection_statement',5,'p_selection_statement_1','c_parser.py',1497), - ('selection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement','selection_statement',7,'p_selection_statement_2','c_parser.py',1501), - ('selection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statement','selection_statement',5,'p_selection_statement_3','c_parser.py',1505), - ('iteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statement','iteration_statement',5,'p_iteration_statement_1','c_parser.py',1510), - ('iteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI','iteration_statement',7,'p_iteration_statement_2','c_parser.py',1514), - ('iteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement','iteration_statement',9,'p_iteration_statement_3','c_parser.py',1518), - ('iteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement','iteration_statement',8,'p_iteration_statement_4','c_parser.py',1522), - ('jump_statement -> GOTO ID SEMI','jump_statement',3,'p_jump_statement_1','c_parser.py',1527), - ('jump_statement -> BREAK SEMI','jump_statement',2,'p_jump_statement_2','c_parser.py',1531), - ('jump_statement -> CONTINUE SEMI','jump_statement',2,'p_jump_statement_3','c_parser.py',1535), - ('jump_statement -> RETURN expression SEMI','jump_statement',3,'p_jump_statement_4','c_parser.py',1539), - ('jump_statement -> RETURN SEMI','jump_statement',2,'p_jump_statement_4','c_parser.py',1540), - ('expression_statement -> expression_opt SEMI','expression_statement',2,'p_expression_statement','c_parser.py',1545), - ('expression -> assignment_expression','expression',1,'p_expression','c_parser.py',1552), - ('expression -> expression COMMA assignment_expression','expression',3,'p_expression','c_parser.py',1553), - ('typedef_name -> TYPEID','typedef_name',1,'p_typedef_name','c_parser.py',1565), - ('assignment_expression -> conditional_expression','assignment_expression',1,'p_assignment_expression','c_parser.py',1569), - ('assignment_expression -> unary_expression assignment_operator assignment_expression','assignment_expression',3,'p_assignment_expression','c_parser.py',1570), - ('assignment_operator -> EQUALS','assignment_operator',1,'p_assignment_operator','c_parser.py',1583), - ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1584), - ('assignment_operator -> TIMESEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1585), - ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1586), - ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1587), - ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1588), - ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1589), - ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1590), - ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1591), - ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1592), - ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1593), - ('constant_expression -> conditional_expression','constant_expression',1,'p_constant_expression','c_parser.py',1598), - ('conditional_expression -> binary_expression','conditional_expression',1,'p_conditional_expression','c_parser.py',1602), - ('conditional_expression -> binary_expression CONDOP expression COLON conditional_expression','conditional_expression',5,'p_conditional_expression','c_parser.py',1603), - ('binary_expression -> cast_expression','binary_expression',1,'p_binary_expression','c_parser.py',1611), - ('binary_expression -> binary_expression TIMES binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1612), - ('binary_expression -> binary_expression DIVIDE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1613), - ('binary_expression -> binary_expression MOD binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1614), - ('binary_expression -> binary_expression PLUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1615), - ('binary_expression -> binary_expression MINUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1616), - ('binary_expression -> binary_expression RSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1617), - ('binary_expression -> binary_expression LSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1618), - ('binary_expression -> binary_expression LT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1619), - ('binary_expression -> binary_expression LE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1620), - ('binary_expression -> binary_expression GE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1621), - ('binary_expression -> binary_expression GT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1622), - ('binary_expression -> binary_expression EQ binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1623), - ('binary_expression -> binary_expression NE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1624), - ('binary_expression -> binary_expression AND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1625), - ('binary_expression -> binary_expression OR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1626), - ('binary_expression -> binary_expression XOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1627), - ('binary_expression -> binary_expression LAND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1628), - ('binary_expression -> binary_expression LOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1629), - ('cast_expression -> unary_expression','cast_expression',1,'p_cast_expression_1','c_parser.py',1637), - ('cast_expression -> LPAREN type_name RPAREN cast_expression','cast_expression',4,'p_cast_expression_2','c_parser.py',1641), - ('unary_expression -> postfix_expression','unary_expression',1,'p_unary_expression_1','c_parser.py',1645), - ('unary_expression -> PLUSPLUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1649), - ('unary_expression -> MINUSMINUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1650), - ('unary_expression -> unary_operator cast_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1651), - ('unary_expression -> SIZEOF unary_expression','unary_expression',2,'p_unary_expression_3','c_parser.py',1656), - ('unary_expression -> SIZEOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression_3','c_parser.py',1657), - ('unary_operator -> AND','unary_operator',1,'p_unary_operator','c_parser.py',1665), - ('unary_operator -> TIMES','unary_operator',1,'p_unary_operator','c_parser.py',1666), - ('unary_operator -> PLUS','unary_operator',1,'p_unary_operator','c_parser.py',1667), - ('unary_operator -> MINUS','unary_operator',1,'p_unary_operator','c_parser.py',1668), - ('unary_operator -> NOT','unary_operator',1,'p_unary_operator','c_parser.py',1669), - ('unary_operator -> LNOT','unary_operator',1,'p_unary_operator','c_parser.py',1670), - ('postfix_expression -> primary_expression','postfix_expression',1,'p_postfix_expression_1','c_parser.py',1675), - ('postfix_expression -> postfix_expression LBRACKET expression RBRACKET','postfix_expression',4,'p_postfix_expression_2','c_parser.py',1679), - ('postfix_expression -> postfix_expression LPAREN argument_expression_list RPAREN','postfix_expression',4,'p_postfix_expression_3','c_parser.py',1683), - ('postfix_expression -> postfix_expression LPAREN RPAREN','postfix_expression',3,'p_postfix_expression_3','c_parser.py',1684), - ('postfix_expression -> postfix_expression PERIOD ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1689), - ('postfix_expression -> postfix_expression PERIOD TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1690), - ('postfix_expression -> postfix_expression ARROW ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1691), - ('postfix_expression -> postfix_expression ARROW TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1692), - ('postfix_expression -> postfix_expression PLUSPLUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1698), - ('postfix_expression -> postfix_expression MINUSMINUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1699), - ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_close','postfix_expression',6,'p_postfix_expression_6','c_parser.py',1704), - ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close','postfix_expression',7,'p_postfix_expression_6','c_parser.py',1705), - ('primary_expression -> identifier','primary_expression',1,'p_primary_expression_1','c_parser.py',1710), - ('primary_expression -> constant','primary_expression',1,'p_primary_expression_2','c_parser.py',1714), - ('primary_expression -> unified_string_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1718), - ('primary_expression -> unified_wstring_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1719), - ('primary_expression -> LPAREN expression RPAREN','primary_expression',3,'p_primary_expression_4','c_parser.py',1724), - ('primary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN','primary_expression',6,'p_primary_expression_5','c_parser.py',1728), - ('offsetof_member_designator -> identifier','offsetof_member_designator',1,'p_offsetof_member_designator','c_parser.py',1736), - ('offsetof_member_designator -> offsetof_member_designator PERIOD identifier','offsetof_member_designator',3,'p_offsetof_member_designator','c_parser.py',1737), - ('offsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKET','offsetof_member_designator',4,'p_offsetof_member_designator','c_parser.py',1738), - ('argument_expression_list -> assignment_expression','argument_expression_list',1,'p_argument_expression_list','c_parser.py',1751), - ('argument_expression_list -> argument_expression_list COMMA assignment_expression','argument_expression_list',3,'p_argument_expression_list','c_parser.py',1752), - ('identifier -> ID','identifier',1,'p_identifier','c_parser.py',1761), - ('constant -> INT_CONST_DEC','constant',1,'p_constant_1','c_parser.py',1765), - ('constant -> INT_CONST_OCT','constant',1,'p_constant_1','c_parser.py',1766), - ('constant -> INT_CONST_HEX','constant',1,'p_constant_1','c_parser.py',1767), - ('constant -> INT_CONST_BIN','constant',1,'p_constant_1','c_parser.py',1768), - ('constant -> FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1774), - ('constant -> HEX_FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1775), - ('constant -> CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1791), - ('constant -> WCHAR_CONST','constant',1,'p_constant_3','c_parser.py',1792), - ('unified_string_literal -> STRING_LITERAL','unified_string_literal',1,'p_unified_string_literal','c_parser.py',1803), - ('unified_string_literal -> unified_string_literal STRING_LITERAL','unified_string_literal',2,'p_unified_string_literal','c_parser.py',1804), - ('unified_wstring_literal -> WSTRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1814), - ('unified_wstring_literal -> unified_wstring_literal WSTRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1815), - ('brace_open -> LBRACE','brace_open',1,'p_brace_open','c_parser.py',1825), - ('brace_close -> RBRACE','brace_close',1,'p_brace_close','c_parser.py',1831), - ('empty -> ','empty',0,'p_empty','c_parser.py',1837), -] diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/WHEEL b/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/WHEEL deleted file mode 100644 index ef99c6cf..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.34.2) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc deleted file mode 100644 index 13232414..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc deleted file mode 100644 index c7792aa2..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/version.cpython-39.pyc deleted file mode 100644 index 310a633e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/version.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc deleted file mode 100644 index 2586fe0a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc deleted file mode 100644 index 10357680..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc deleted file mode 100644 index 486ce811..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc deleted file mode 100644 index 1ce690d5..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 13c30e1a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 32d60e75..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3cf9bb08..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_version.cpython-39.pyc deleted file mode 100644 index cd793f3e..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_version.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 9a8b32e5..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 345d27cb..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index bb30c8cc..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 71ea3d2a..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3cc35694..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/INSTALLER b/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/INSTALLER b/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 31a21d95..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_zope_interface_coptimizations.cp39-win_amd64.pyd b/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_zope_interface_coptimizations.cp39-win_amd64.pyd deleted file mode 100644 index 7eefbde0..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_zope_interface_coptimizations.cp39-win_amd64.pyd and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc deleted file mode 100644 index e33782f4..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc b/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc deleted file mode 100644 index 7f3e32cb..00000000 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/Activate.ps1 b/IKEA_scraper/.venv/Scripts/Activate.ps1 deleted file mode 100644 index 35245b2f..00000000 --- a/IKEA_scraper/.venv/Scripts/Activate.ps1 +++ /dev/null @@ -1,399 +0,0 @@ -<# -.Synopsis -Activate a Python virtual environment for the current PowerShell session. - -.Description -Pushes the python executable for a virtual environment to the front of the -$Env:PATH environment variable and sets the prompt to signify that you are -in a Python virtual environment. Makes use of the command line switches as -well as the `pyvenv.cfg` file values present in the virtual environment. - -.Parameter VenvDir -Path to the directory that contains the virtual environment to activate. The -default value for this is the parent of the directory that the Activate.ps1 -script is located within. - -.Parameter Prompt -The prompt prefix to display when this virtual environment is activated. By -default, this prompt is the name of the virtual environment folder (VenvDir) -surrounded by parentheses and followed by a single space (ie. '(.venv) '). - -.Example -Activate.ps1 -Activates the Python virtual environment that contains the Activate.ps1 script. - -.Example -Activate.ps1 -Verbose -Activates the Python virtual environment that contains the Activate.ps1 script, -and shows extra information about the activation as it executes. - -.Example -Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv -Activates the Python virtual environment located in the specified location. - -.Example -Activate.ps1 -Prompt "MyPython" -Activates the Python virtual environment that contains the Activate.ps1 script, -and prefixes the current prompt with the specified string (surrounded in -parentheses) while the virtual environment is active. - -.Notes -On Windows, it may be required to enable this Activate.ps1 script by setting the -execution policy for the user. You can do this by issuing the following PowerShell -command: - -PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - -For more information on Execution Policies: -https://go.microsoft.com/fwlink/?LinkID=135170 - -#> -Param( - [Parameter(Mandatory = $false)] - [String] - $VenvDir, - [Parameter(Mandatory = $false)] - [String] - $Prompt -) - -<# Function declarations --------------------------------------------------- #> - -<# -.Synopsis -Remove all shell session elements added by the Activate script, including the -addition of the virtual environment's Python executable from the beginning of -the PATH variable. - -.Parameter NonDestructive -If present, do not remove this function from the global namespace for the -session. - -#> -function global:deactivate ([switch]$NonDestructive) { - # Revert to original values - - # The prior prompt: - if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { - Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt - Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT - } - - # The prior PYTHONHOME: - if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { - Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME - Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME - } - - # The prior PATH: - if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { - Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH - Remove-Item -Path Env:_OLD_VIRTUAL_PATH - } - - # Just remove the VIRTUAL_ENV altogether: - if (Test-Path -Path Env:VIRTUAL_ENV) { - Remove-Item -Path env:VIRTUAL_ENV - } - - # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: - if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { - Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force - } - - # Leave deactivate function in the global namespace if requested: - if (-not $NonDestructive) { - Remove-Item -Path function:deactivate - } -} - -<# -.Description -Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the -given folder, and returns them in a map. - -For each line in the pyvenv.cfg file, if that line can be parsed into exactly -two strings separated by `=` (with any amount of whitespace surrounding the =) -then it is considered a `key = value` line. The left hand string is the key, -the right hand is the value. - -If the value starts with a `'` or a `"` then the first and last character is -stripped from the value before being captured. - -.Parameter ConfigDir -Path to the directory that contains the `pyvenv.cfg` file. -#> -function Get-PyVenvConfig( - [String] - $ConfigDir -) { - Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" - - # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). - $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue - - # An empty map will be returned if no config file is found. - $pyvenvConfig = @{ } - - if ($pyvenvConfigPath) { - - Write-Verbose "File exists, parse `key = value` lines" - $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath - - $pyvenvConfigContent | ForEach-Object { - $keyval = $PSItem -split "\s*=\s*", 2 - if ($keyval[0] -and $keyval[1]) { - $val = $keyval[1] - - # Remove extraneous quotations around a string value. - if ("'""".Contains($val.Substring(0, 1))) { - $val = $val.Substring(1, $val.Length - 2) - } - - $pyvenvConfig[$keyval[0]] = $val - Write-Verbose "Adding Key: '$($keyval[0])'='$val'" - } - } - } - return $pyvenvConfig -} - - -<# Begin Activate script --------------------------------------------------- #> - -# Determine the containing directory of this script -$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition -$VenvExecDir = Get-Item -Path $VenvExecPath - -Write-Verbose "Activation script is located in path: '$VenvExecPath'" -Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" -Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" - -# Set values required in priority: CmdLine, ConfigFile, Default -# First, get the location of the virtual environment, it might not be -# VenvExecDir if specified on the command line. -if ($VenvDir) { - Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" -} -else { - Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." - $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") - Write-Verbose "VenvDir=$VenvDir" -} - -# Next, read the `pyvenv.cfg` file to determine any required value such -# as `prompt`. -$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir - -# Next, set the prompt from the command line, or the config file, or -# just use the name of the virtual environment folder. -if ($Prompt) { - Write-Verbose "Prompt specified as argument, using '$Prompt'" -} -else { - Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" - if ($pyvenvCfg -and $pyvenvCfg['prompt']) { - Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" - $Prompt = $pyvenvCfg['prompt']; - } - else { - Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)" - Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" - $Prompt = Split-Path -Path $venvDir -Leaf - } -} - -Write-Verbose "Prompt = '$Prompt'" -Write-Verbose "VenvDir='$VenvDir'" - -# Deactivate any currently active virtual environment, but leave the -# deactivate function in place. -deactivate -nondestructive - -# Now set the environment variable VIRTUAL_ENV, used by many tools to determine -# that there is an activated venv. -$env:VIRTUAL_ENV = $VenvDir - -if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { - - Write-Verbose "Setting prompt to '$Prompt'" - - # Set the prompt to include the env name - # Make sure _OLD_VIRTUAL_PROMPT is global - function global:_OLD_VIRTUAL_PROMPT { "" } - Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT - New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt - - function global:prompt { - Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " - _OLD_VIRTUAL_PROMPT - } -} - -# Clear PYTHONHOME -if (Test-Path -Path Env:PYTHONHOME) { - Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME - Remove-Item -Path Env:PYTHONHOME -} - -# Add the venv to the PATH -Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH -$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" - -# SIG # Begin signature block -# MIIc9wYJKoZIhvcNAQcCoIIc6DCCHOQCAQExDzANBglghkgBZQMEAgEFADB5Bgor -# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG -# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAwnDYwEHaCQq0n -# 8NAvsN7H7BO7/48rXCNwrg891FS5vaCCC38wggUwMIIEGKADAgECAhAECRgbX9W7 -# ZnVTQ7VvlVAIMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK -# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV -# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xMzEwMjIxMjAwMDBa -# Fw0yODEwMjIxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy -# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD -# ZXJ0IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3 -# DQEBAQUAA4IBDwAwggEKAoIBAQD407Mcfw4Rr2d3B9MLMUkZz9D7RZmxOttE9X/l -# qJ3bMtdx6nadBS63j/qSQ8Cl+YnUNxnXtqrwnIal2CWsDnkoOn7p0WfTxvspJ8fT -# eyOU5JEjlpB3gvmhhCNmElQzUHSxKCa7JGnCwlLyFGeKiUXULaGj6YgsIJWuHEqH -# CN8M9eJNYBi+qsSyrnAxZjNxPqxwoqvOf+l8y5Kh5TsxHM/q8grkV7tKtel05iv+ -# bMt+dDk2DZDv5LVOpKnqagqrhPOsZ061xPeM0SAlI+sIZD5SlsHyDxL0xY4PwaLo -# LFH3c7y9hbFig3NBggfkOItqcyDQD2RzPJ6fpjOp/RnfJZPRAgMBAAGjggHNMIIB -# yTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK -# BggrBgEFBQcDAzB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9v -# Y3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGln -# aWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHow -# eDA6oDigNoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJl -# ZElEUm9vdENBLmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp -# Z2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDBPBgNVHSAESDBGMDgGCmCGSAGG/WwA -# AgQwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAK -# BghghkgBhv1sAzAdBgNVHQ4EFgQUWsS5eyoKo6XqcQPAYPkt9mV1DlgwHwYDVR0j -# BBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQELBQADggEBAD7s -# DVoks/Mi0RXILHwlKXaoHV0cLToaxO8wYdd+C2D9wz0PxK+L/e8q3yBVN7Dh9tGS -# dQ9RtG6ljlriXiSBThCk7j9xjmMOE0ut119EefM2FAaK95xGTlz/kLEbBw6RFfu6 -# r7VRwo0kriTGxycqoSkoGjpxKAI8LpGjwCUR4pwUR6F6aGivm6dcIFzZcbEMj7uo -# +MUSaJ/PQMtARKUT8OZkDCUIQjKyNookAv4vcn4c10lFluhZHen6dGRrsutmQ9qz -# sIzV6Q3d9gEgzpkxYz0IGhizgZtPxpMQBvwHgfqL2vmCSfdibqFT+hKUGIUukpHq -# aGxEMrJmoecYpJpkUe8wggZHMIIFL6ADAgECAhADPtXtoGXRuMkd/PkqbJvYMA0G -# CSqGSIb3DQEBCwUAMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ -# bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0 -# IFNIQTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwHhcNMTgxMjE4MDAwMDAw -# WhcNMjExMjIyMTIwMDAwWjCBgzELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU5ldyBI -# YW1wc2hpcmUxEjAQBgNVBAcTCVdvbGZlYm9ybzEjMCEGA1UEChMaUHl0aG9uIFNv -# ZnR3YXJlIEZvdW5kYXRpb24xIzAhBgNVBAMTGlB5dGhvbiBTb2Z0d2FyZSBGb3Vu -# ZGF0aW9uMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqr2kS7J1uW7o -# JRxlsdrETAjKarfoH5TI8PWST6Yb2xPooP7vHT4iaVXyL5Lze1f53Jw67Sp+u524 -# fJXf30qHViEWxumy2RWG0nciU2d+mMqzjlaAWSZNF0u4RcvyDJokEV0RUOqI5CG5 -# zPI3W9uQ6LiUk3HCYW6kpH177A5T3pw/Po8O8KErJGn1anaqtIICq99ySxrMad/2 -# hPMBRf6Ndah7f7HPn1gkSSTAoejyuqF5h+B0qI4+JK5+VLvz659VTbAWJsYakkxZ -# xVWYpFv4KeQSSwoo0DzMvmERsTzNvVBMWhu9OriJNg+QfFmf96zVTu93cZ+r7xMp -# bXyfIOGKhHMaRuZ8ihuWIx3gI9WHDFX6fBKR8+HlhdkaiBEWIsXRoy+EQUyK7zUs -# +FqOo2sRYttbs8MTF9YDKFZwyPjn9Wn+gLGd5NUEVyNvD9QVGBEtN7vx87bduJUB -# 8F4DylEsMtZTfjw/au6AmOnmneK5UcqSJuwRyZaGNk7y3qj06utx+HTTqHgi975U -# pxfyrwAqkovoZEWBVSpvku8PVhkBXcLmNe6MEHlFiaMoiADAeKmX5RFRkN+VrmYG -# Tg4zajxfdHeIY8TvLf48tTfmnQJd98geJQv/01NUy/FxuwqAuTkaez5Nl1LxP0Cp -# THhghzO4FRD4itT2wqTh4jpojw9QZnsCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaA -# FFrEuXsqCqOl6nEDwGD5LfZldQ5YMB0GA1UdDgQWBBT8Kr9+1L6s84KcpM97IgE7 -# uI8H8jAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0f -# BHAwbjA1oDOgMYYvaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJl -# ZC1jcy1nMS5jcmwwNaAzoDGGL2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEy -# LWFzc3VyZWQtY3MtZzEuY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYI -# KwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQB -# MIGEBggrBgEFBQcBAQR4MHYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj -# ZXJ0LmNvbTBOBggrBgEFBQcwAoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t -# L0RpZ2lDZXJ0U0hBMkFzc3VyZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB -# /wQCMAAwDQYJKoZIhvcNAQELBQADggEBAEt1oS21X0axiafPjyY+vlYqjWKuUu/Y -# FuYWIEq6iRRaFabNDhj9RBFQF/aJiE5msrQEOfAD6/6gVSH91lZWBqg6NEeG9T9S -# XbiAPvJ9CEWFsdkXUrjbWhvCnuZ7kqUuU5BAumI1QRbpYgZL3UA+iZXkmjbGh1ln -# 8rUhWIxbBYL4Sg2nqpB44p7CUFYkPj/MbwU2gvBV2pXjj5WaskoZtsACMv5g42BN -# oVLoRAi+ev6s07POt+JtHRIm87lTyuc8wh0swTPUwksKbLU1Zdj9CpqtzXnuVE0w -# 50exJvRSK3Vt4g+0vigpI3qPmDdpkf9+4Mvy0XMNcqrthw20R+PkIlMxghDOMIIQ -# ygIBATCBhjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkw -# FwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEy -# IEFzc3VyZWQgSUQgQ29kZSBTaWduaW5nIENBAhADPtXtoGXRuMkd/PkqbJvYMA0G -# CWCGSAFlAwQCAQUAoIGYMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG -# AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCwGCisGAQQBgjcCAQwxHjAcoBqAGABQ -# AHkAdABoAG8AbgAgADMALgA5AC4ANzAvBgkqhkiG9w0BCQQxIgQgBrni4mcRv7sM -# JHsxpROjRopOz2wuQVrJnn+lD7X7y+gwDQYJKoZIhvcNAQEBBQAEggIAlpjGHgZ7 -# CPnoJRAJIxIBpQAvUTGheJi/uP1gtaPWRvcxP8tQvtvdTd9aMrsZnNy0gdaa5WL3 -# yYMzA0Ytzwfh0fsGuQjdx1ht/J8U++D/Lfl/w+rdbZ4mXhjnbqmTAJknEDW4NEWa -# mwyhp+5zzADBp2VkryFpB3B7K04u8CyxXpRG6no86ROHkmsOk4j2mZUP9g/Hx4tv -# eWjakNMPkdXZ7tWtkGNWbwOYDosvSt1aCDld5TE2o2CHOJJpi06rHRI4o4X2gNRO -# rk8+6pH0XTS0//OMfHZRcDtRgJ7ohU/v2CDRuDw/b5NH1S1kwbdLpOoVw1bTrjsx -# jOotJbVUuPO3ES0ZzidPbEejPz1/D/z6Yl01KfbQJ9DanTzPhQw/hCezsUUsKZBR -# iZ1WWqZmZaT3faO/VwumIeQEa4XlGMcviEuyRye09nx3E+d9Gu8eCwm3RLD8rRDb -# J1+GIZDkBi+Qebo3hao16666J+dezjV6HO50NkXeY/1I43A/P2nXtwqsAuaO+h/X -# +3enzdtZx4HZa7E7wQ2F3daOV69IOliB6PCUfzPB4bqoms7c85YKEb3ZDYPX+Igf -# EPDOQd+U3pvXLvzaJj8RL+g+s2/xaPm4KrzpKXr4SO4Voje6p0Keso/6/pErSfAf -# OFWx+zhUKELWbCZLzdDZ76IuT0V8arqtTK+hgg19MIINeQYKKwYBBAGCNwMDATGC -# DWkwgg1lBgkqhkiG9w0BBwKggg1WMIINUgIBAzEPMA0GCWCGSAFlAwQCAQUAMHcG -# CyqGSIb3DQEJEAEEoGgEZjBkAgEBBglghkgBhv1sBwEwMTANBglghkgBZQMEAgEF -# AAQgOSCrDv+oDMEj/ophQEUCc8G75r8sYGG8KKaH7Fm+WY0CEFzwQrsuwLerUKVb -# vYKnHYEYDzIwMjEwODMwMjAzMjQwWqCCCjcwggT+MIID5qADAgECAhANQkrgvjqI -# /2BAIc4UAPDdMA0GCSqGSIb3DQEBCwUAMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK -# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNV -# BAMTKERpZ2lDZXJ0IFNIQTIgQXNzdXJlZCBJRCBUaW1lc3RhbXBpbmcgQ0EwHhcN -# MjEwMTAxMDAwMDAwWhcNMzEwMTA2MDAwMDAwWjBIMQswCQYDVQQGEwJVUzEXMBUG -# A1UEChMORGlnaUNlcnQsIEluYy4xIDAeBgNVBAMTF0RpZ2lDZXJ0IFRpbWVzdGFt -# cCAyMDIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwuZhhGfFivUN -# CKRFymNrUdc6EUK9CnV1TZS0DFC1JhD+HchvkWsMlucaXEjvROW/m2HNFZFiWrj/ -# ZwucY/02aoH6KfjdK3CF3gIY83htvH35x20JPb5qdofpir34hF0edsnkxnZ2OlPR -# 0dNaNo/Go+EvGzq3YdZz7E5tM4p8XUUtS7FQ5kE6N1aG3JMjjfdQJehk5t3Tjy9X -# tYcg6w6OLNUj2vRNeEbjA4MxKUpcDDGKSoyIxfcwWvkUrxVfbENJCf0mI1P2jWPo -# GqtbsR0wwptpgrTb/FZUvB+hh6u+elsKIC9LCcmVp42y+tZji06lchzun3oBc/gZ -# 1v4NSYS9AQIDAQABo4IBuDCCAbQwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQC -# MAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwQQYDVR0gBDowODA2BglghkgBhv1s -# BwEwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMB8G -# A1UdIwQYMBaAFPS24SAd/imu0uRhpbKiJbLIFzVuMB0GA1UdDgQWBBQ2RIaOpLqw -# Zr68KC0dRDbd42p6vDBxBgNVHR8EajBoMDKgMKAuhixodHRwOi8vY3JsMy5kaWdp -# Y2VydC5jb20vc2hhMi1hc3N1cmVkLXRzLmNybDAyoDCgLoYsaHR0cDovL2NybDQu -# ZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC10cy5jcmwwgYUGCCsGAQUFBwEBBHkw -# dzAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tME8GCCsGAQUF -# BzAChkNodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRTSEEyQXNz -# dXJlZElEVGltZXN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBIHNy1 -# 6ZojvOca5yAOjmdG/UJyUXQKI0ejq5LSJcRwWb4UoOUngaVNFBUZB3nw0QTDhtk7 -# vf5EAmZN7WmkD/a4cM9i6PVRSnh5Nnont/PnUp+Tp+1DnnvntN1BIon7h6JGA078 -# 9P63ZHdjXyNSaYOC+hpT7ZDMjaEXcw3082U5cEvznNZ6e9oMvD0y0BvL9WH8dQgA -# dryBDvjA4VzPxBFy5xtkSdgimnUVQvUtMjiB2vRgorq0Uvtc4GEkJU+y38kpqHND -# Udq9Y9YfW5v3LhtPEx33Sg1xfpe39D+E68Hjo0mh+s6nv1bPull2YYlffqe0jmd4 -# +TaY4cso2luHpoovMIIFMTCCBBmgAwIBAgIQCqEl1tYyG35B5AXaNpfCFTANBgkq -# hkiG9w0BAQsFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j -# MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBB -# c3N1cmVkIElEIFJvb3QgQ0EwHhcNMTYwMTA3MTIwMDAwWhcNMzEwMTA3MTIwMDAw -# WjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -# ExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3Vy -# ZWQgSUQgVGltZXN0YW1waW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -# CgKCAQEAvdAy7kvNj3/dqbqCmcU5VChXtiNKxA4HRTNREH3Q+X1NaH7ntqD0jbOI -# 5Je/YyGQmL8TvFfTw+F+CNZqFAA49y4eO+7MpvYyWf5fZT/gm+vjRkcGGlV+Cyd+ -# wKL1oODeIj8O/36V+/OjuiI+GKwR5PCZA207hXwJ0+5dyJoLVOOoCXFr4M8iEA91 -# z3FyTgqt30A6XLdR4aF5FMZNJCMwXbzsPGBqrC8HzP3w6kfZiFBe/WZuVmEnKYmE -# UeaC50ZQ/ZQqLKfkdT66mA+Ef58xFNat1fJky3seBdCEGXIX8RcG7z3N1k3vBkL9 -# olMqT4UdxB08r8/arBD13ays6Vb/kwIDAQABo4IBzjCCAcowHQYDVR0OBBYEFPS2 -# 4SAd/imu0uRhpbKiJbLIFzVuMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3z -# bcgPMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQM -# MAoGCCsGAQUFBwMIMHkGCCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDov -# L29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5k -# aWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MIGBBgNVHR8E -# ejB4MDqgOKA2hjRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1 -# cmVkSURSb290Q0EuY3JsMDqgOKA2hjRodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v -# RGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMFAGA1UdIARJMEcwOAYKYIZIAYb9 -# bAACBDAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT -# MAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAQEAcZUS6VGHVmnN793afKpj -# erN4zwY3QITvS4S/ys8DAv3Fp8MOIEIsr3fzKx8MIVoqtwU0HWqumfgnoma/Capg -# 33akOpMP+LLR2HwZYuhegiUexLoceywh4tZbLBQ1QwRostt1AuByx5jWPGTlH0gQ -# GF+JOGFNYkYkh2OMkVIsrymJ5Xgf1gsUpYDXEkdws3XVk4WTfraSZ/tTYYmo9WuW -# wPRYaQ18yAGxuSh1t5ljhSKMYcp5lH5Z/IwP42+1ASa2bKXuh1Eh5Fhgm7oMLStt -# osR+u8QlK0cCCHxJrhO24XxCQijGGFbPQTS2Zl22dHv1VjMiLyI2skuiSpXY9aaO -# UjGCAoYwggKCAgEBMIGGMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy -# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD -# ZXJ0IFNIQTIgQXNzdXJlZCBJRCBUaW1lc3RhbXBpbmcgQ0ECEA1CSuC+Ooj/YEAh -# zhQA8N0wDQYJYIZIAWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJ -# EAEEMBwGCSqGSIb3DQEJBTEPFw0yMTA4MzAyMDMyNDBaMCsGCyqGSIb3DQEJEAIM -# MRwwGjAYMBYEFOHXgqjhkb7va8oWkbWqtJSmJJvzMC8GCSqGSIb3DQEJBDEiBCBI -# G7lS/r0RCENJotqNy8WPsrW/fmVFip107NYjeJ0Q0TA3BgsqhkiG9w0BCRACLzEo -# MCYwJDAiBCCzEJAGvArZgweRVyngRANBXIPjKSthTyaWTI01cez1qTANBgkqhkiG -# 9w0BAQEFAASCAQBLFNmzEWXnvby6UBfPXhcIQetEVjem6zU9lbSj5MXY7ZJDCtV/ -# cdI6SWEsz1uZyzNlHvBvctGK03lZcWcwa0PrGokLG2v3zuU1MAj2MJVuunQ5GjaI -# UoWDeROFwEBtqKnR+hTB2GV/pOb1nEHR6xm4KvMao0WcnkQhVL3LXVVawDSJIrA8 -# 8I5XyqZx3q6jRFVAuIlM6HLrQiaLRpP9j25/1Pin8zLd0e65jaAufHQW6V7vG3GI -# C9d89LkmDN7uftGjXS5LKiC4EYMYKK8L3/ikBW70mATlDXZfLBoEdAv1rUoIXnf2 -# 7AxXiMi4hXF2JsMk/J2h9lfvENROxXGIStD1 -# SIG # End signature block diff --git a/IKEA_scraper/.venv/Scripts/activate.bat b/IKEA_scraper/.venv/Scripts/activate.bat deleted file mode 100644 index 37f860dc..00000000 --- a/IKEA_scraper/.venv/Scripts/activate.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo off - -rem This file is UTF-8 encoded, so we need to update the current code page while executing it -for /f "tokens=2 delims=:." %%a in ('"%SystemRoot%\System32\chcp.com"') do ( - set _OLD_CODEPAGE=%%a -) -if defined _OLD_CODEPAGE ( - "%SystemRoot%\System32\chcp.com" 65001 > nul -) - -set VIRTUAL_ENV=F:\Pyhton\random\School\IKEA_scraper\.venv - -if not defined PROMPT set PROMPT=$P$G - -if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT% -if defined _OLD_VIRTUAL_PYTHONHOME set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME% - -set _OLD_VIRTUAL_PROMPT=%PROMPT% -set PROMPT=(.venv) %PROMPT% - -if defined PYTHONHOME set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME% -set PYTHONHOME= - -if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH% -if not defined _OLD_VIRTUAL_PATH set _OLD_VIRTUAL_PATH=%PATH% - -set PATH=%VIRTUAL_ENV%\Scripts;%PATH% - -:END -if defined _OLD_CODEPAGE ( - "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul - set _OLD_CODEPAGE= -) diff --git a/IKEA_scraper/.venv/Scripts/deactivate.bat b/IKEA_scraper/.venv/Scripts/deactivate.bat deleted file mode 100644 index 1205c618..00000000 --- a/IKEA_scraper/.venv/Scripts/deactivate.bat +++ /dev/null @@ -1,21 +0,0 @@ -@echo off - -if defined _OLD_VIRTUAL_PROMPT ( - set "PROMPT=%_OLD_VIRTUAL_PROMPT%" -) -set _OLD_VIRTUAL_PROMPT= - -if defined _OLD_VIRTUAL_PYTHONHOME ( - set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%" - set _OLD_VIRTUAL_PYTHONHOME= -) - -if defined _OLD_VIRTUAL_PATH ( - set "PATH=%_OLD_VIRTUAL_PATH%" -) - -set _OLD_VIRTUAL_PATH= - -set VIRTUAL_ENV= - -:END diff --git a/IKEA_scraper/.venv/Scripts/futurize.exe b/IKEA_scraper/.venv/Scripts/futurize.exe deleted file mode 100644 index 675e6bf3..00000000 Binary files a/IKEA_scraper/.venv/Scripts/futurize.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/normalizer.exe b/IKEA_scraper/.venv/Scripts/normalizer.exe deleted file mode 100644 index dc7c9d04..00000000 Binary files a/IKEA_scraper/.venv/Scripts/normalizer.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/pasteurize.exe b/IKEA_scraper/.venv/Scripts/pasteurize.exe deleted file mode 100644 index 675e6bf3..00000000 Binary files a/IKEA_scraper/.venv/Scripts/pasteurize.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/pip.exe b/IKEA_scraper/.venv/Scripts/pip.exe deleted file mode 100644 index cc06e2b4..00000000 Binary files a/IKEA_scraper/.venv/Scripts/pip.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/pip3.9.exe b/IKEA_scraper/.venv/Scripts/pip3.9.exe deleted file mode 100644 index cc06e2b4..00000000 Binary files a/IKEA_scraper/.venv/Scripts/pip3.9.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/pip3.exe b/IKEA_scraper/.venv/Scripts/pip3.exe deleted file mode 100644 index cc06e2b4..00000000 Binary files a/IKEA_scraper/.venv/Scripts/pip3.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/python.exe b/IKEA_scraper/.venv/Scripts/python.exe deleted file mode 100644 index 75eb381e..00000000 Binary files a/IKEA_scraper/.venv/Scripts/python.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/Scripts/pythonw.exe b/IKEA_scraper/.venv/Scripts/pythonw.exe deleted file mode 100644 index 910fc6b9..00000000 Binary files a/IKEA_scraper/.venv/Scripts/pythonw.exe and /dev/null differ diff --git a/IKEA_scraper/.venv/bin/Activate.ps1 b/IKEA_scraper/.venv/bin/Activate.ps1 new file mode 100644 index 00000000..a3bc6fb1 --- /dev/null +++ b/IKEA_scraper/.venv/bin/Activate.ps1 @@ -0,0 +1,241 @@ +<# +.Synopsis +Activate a Python virtual environment for the current PowerShell session. + +.Description +Pushes the python executable for a virtual environment to the front of the +$Env:PATH environment variable and sets the prompt to signify that you are +in a Python virtual environment. Makes use of the command line switches as +well as the `pyvenv.cfg` file values present in the virtual environment. + +.Parameter VenvDir +Path to the directory that contains the virtual environment to activate. The +default value for this is the parent of the directory that the Activate.ps1 +script is located within. + +.Parameter Prompt +The prompt prefix to display when this virtual environment is activated. By +default, this prompt is the name of the virtual environment folder (VenvDir) +surrounded by parentheses and followed by a single space (ie. '(.venv) '). + +.Example +Activate.ps1 +Activates the Python virtual environment that contains the Activate.ps1 script. + +.Example +Activate.ps1 -Verbose +Activates the Python virtual environment that contains the Activate.ps1 script, +and shows extra information about the activation as it executes. + +.Example +Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv +Activates the Python virtual environment located in the specified location. + +.Example +Activate.ps1 -Prompt "MyPython" +Activates the Python virtual environment that contains the Activate.ps1 script, +and prefixes the current prompt with the specified string (surrounded in +parentheses) while the virtual environment is active. + +.Notes +On Windows, it may be required to enable this Activate.ps1 script by setting the +execution policy for the user. You can do this by issuing the following PowerShell +command: + +PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser + +For more information on Execution Policies: +https://go.microsoft.com/fwlink/?LinkID=135170 + +#> +Param( + [Parameter(Mandatory = $false)] + [String] + $VenvDir, + [Parameter(Mandatory = $false)] + [String] + $Prompt +) + +<# Function declarations --------------------------------------------------- #> + +<# +.Synopsis +Remove all shell session elements added by the Activate script, including the +addition of the virtual environment's Python executable from the beginning of +the PATH variable. + +.Parameter NonDestructive +If present, do not remove this function from the global namespace for the +session. + +#> +function global:deactivate ([switch]$NonDestructive) { + # Revert to original values + + # The prior prompt: + if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { + Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt + Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT + } + + # The prior PYTHONHOME: + if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { + Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME + Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME + } + + # The prior PATH: + if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { + Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH + Remove-Item -Path Env:_OLD_VIRTUAL_PATH + } + + # Just remove the VIRTUAL_ENV altogether: + if (Test-Path -Path Env:VIRTUAL_ENV) { + Remove-Item -Path env:VIRTUAL_ENV + } + + # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: + if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { + Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force + } + + # Leave deactivate function in the global namespace if requested: + if (-not $NonDestructive) { + Remove-Item -Path function:deactivate + } +} + +<# +.Description +Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the +given folder, and returns them in a map. + +For each line in the pyvenv.cfg file, if that line can be parsed into exactly +two strings separated by `=` (with any amount of whitespace surrounding the =) +then it is considered a `key = value` line. The left hand string is the key, +the right hand is the value. + +If the value starts with a `'` or a `"` then the first and last character is +stripped from the value before being captured. + +.Parameter ConfigDir +Path to the directory that contains the `pyvenv.cfg` file. +#> +function Get-PyVenvConfig( + [String] + $ConfigDir +) { + Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" + + # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). + $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue + + # An empty map will be returned if no config file is found. + $pyvenvConfig = @{ } + + if ($pyvenvConfigPath) { + + Write-Verbose "File exists, parse `key = value` lines" + $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath + + $pyvenvConfigContent | ForEach-Object { + $keyval = $PSItem -split "\s*=\s*", 2 + if ($keyval[0] -and $keyval[1]) { + $val = $keyval[1] + + # Remove extraneous quotations around a string value. + if ("'""".Contains($val.Substring(0, 1))) { + $val = $val.Substring(1, $val.Length - 2) + } + + $pyvenvConfig[$keyval[0]] = $val + Write-Verbose "Adding Key: '$($keyval[0])'='$val'" + } + } + } + return $pyvenvConfig +} + + +<# Begin Activate script --------------------------------------------------- #> + +# Determine the containing directory of this script +$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition +$VenvExecDir = Get-Item -Path $VenvExecPath + +Write-Verbose "Activation script is located in path: '$VenvExecPath'" +Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" +Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" + +# Set values required in priority: CmdLine, ConfigFile, Default +# First, get the location of the virtual environment, it might not be +# VenvExecDir if specified on the command line. +if ($VenvDir) { + Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" +} +else { + Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." + $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") + Write-Verbose "VenvDir=$VenvDir" +} + +# Next, read the `pyvenv.cfg` file to determine any required value such +# as `prompt`. +$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir + +# Next, set the prompt from the command line, or the config file, or +# just use the name of the virtual environment folder. +if ($Prompt) { + Write-Verbose "Prompt specified as argument, using '$Prompt'" +} +else { + Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" + if ($pyvenvCfg -and $pyvenvCfg['prompt']) { + Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" + $Prompt = $pyvenvCfg['prompt']; + } + else { + Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)" + Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" + $Prompt = Split-Path -Path $venvDir -Leaf + } +} + +Write-Verbose "Prompt = '$Prompt'" +Write-Verbose "VenvDir='$VenvDir'" + +# Deactivate any currently active virtual environment, but leave the +# deactivate function in place. +deactivate -nondestructive + +# Now set the environment variable VIRTUAL_ENV, used by many tools to determine +# that there is an activated venv. +$env:VIRTUAL_ENV = $VenvDir + +if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { + + Write-Verbose "Setting prompt to '$Prompt'" + + # Set the prompt to include the env name + # Make sure _OLD_VIRTUAL_PROMPT is global + function global:_OLD_VIRTUAL_PROMPT { "" } + Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT + New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt + + function global:prompt { + Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " + _OLD_VIRTUAL_PROMPT + } +} + +# Clear PYTHONHOME +if (Test-Path -Path Env:PYTHONHOME) { + Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME + Remove-Item -Path Env:PYTHONHOME +} + +# Add the venv to the PATH +Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH +$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/IKEA_scraper/.venv/Scripts/__pycache__/bottle.cpython-39.pyc b/IKEA_scraper/.venv/bin/__pycache__/bottle.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Scripts/__pycache__/bottle.cpython-39.pyc rename to IKEA_scraper/.venv/bin/__pycache__/bottle.cpython-39.pyc index 8ef8444b..d2e6e18f 100644 Binary files a/IKEA_scraper/.venv/Scripts/__pycache__/bottle.cpython-39.pyc and b/IKEA_scraper/.venv/bin/__pycache__/bottle.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Scripts/activate b/IKEA_scraper/.venv/bin/activate similarity index 94% rename from IKEA_scraper/.venv/Scripts/activate rename to IKEA_scraper/.venv/bin/activate index 8a83628a..08e66b92 100644 --- a/IKEA_scraper/.venv/Scripts/activate +++ b/IKEA_scraper/.venv/bin/activate @@ -37,11 +37,11 @@ deactivate () { # unset irrelevant variables deactivate nondestructive -VIRTUAL_ENV="F:\Pyhton\random\School\IKEA_scraper\.venv" +VIRTUAL_ENV="/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv" export VIRTUAL_ENV _OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/Scripts:$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" export PATH # unset PYTHONHOME if set diff --git a/IKEA_scraper/.venv/bin/activate.csh b/IKEA_scraper/.venv/bin/activate.csh new file mode 100644 index 00000000..41ae2cf1 --- /dev/null +++ b/IKEA_scraper/.venv/bin/activate.csh @@ -0,0 +1,25 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + set prompt = "(.venv) $prompt" +endif + +alias pydoc python -m pydoc + +rehash diff --git a/IKEA_scraper/.venv/bin/activate.fish b/IKEA_scraper/.venv/bin/activate.fish new file mode 100644 index 00000000..a131902e --- /dev/null +++ b/IKEA_scraper/.venv/bin/activate.fish @@ -0,0 +1,64 @@ +# This file must be used with "source /bin/activate.fish" *from fish* +# (https://fishshell.com/); you cannot run it directly. + +function deactivate -d "Exit virtual environment and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self-destruct! + functions -e deactivate + end +end + +# Unset irrelevant variables. +deactivate nondestructive + +set -gx VIRTUAL_ENV "/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# Unset PYTHONHOME if set. +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # Save the current fish_prompt function as the function _old_fish_prompt. + functions -c fish_prompt _old_fish_prompt + + # With the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command. + set -l old_status $status + + # Output the venv prompt; color taken from the blue of the Python logo. + printf "%s%s%s" (set_color 4B8BBE) "(.venv) " (set_color normal) + + # Restore the return status of the previous command. + echo "exit $old_status" | . + # Output the original/"old" prompt. + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/IKEA_scraper/.venv/Scripts/bottle.py b/IKEA_scraper/.venv/bin/bottle.py similarity index 99% rename from IKEA_scraper/.venv/Scripts/bottle.py rename to IKEA_scraper/.venv/bin/bottle.py index aaea4f37..63558ca1 100644 --- a/IKEA_scraper/.venv/Scripts/bottle.py +++ b/IKEA_scraper/.venv/bin/bottle.py @@ -1,4 +1,4 @@ -#!F:\Pyhton\random\School\IKEA_scraper\.venv\Scripts\python.exe +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 # -*- coding: utf-8 -*- """ Bottle is a fast and simple micro-framework for small web applications. It diff --git a/IKEA_scraper/.venv/Scripts/futurize-script.py b/IKEA_scraper/.venv/bin/futurize similarity index 92% rename from IKEA_scraper/.venv/Scripts/futurize-script.py rename to IKEA_scraper/.venv/bin/futurize index 015c35a1..dce7529b 100644 --- a/IKEA_scraper/.venv/Scripts/futurize-script.py +++ b/IKEA_scraper/.venv/bin/futurize @@ -1,4 +1,4 @@ -#!F:\Pyhton\random\School\IKEA_scraper\.venv\Scripts\python.exe +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 # EASY-INSTALL-ENTRY-SCRIPT: 'future==0.18.2','console_scripts','futurize' import re import sys diff --git a/IKEA_scraper/.venv/bin/normalizer b/IKEA_scraper/.venv/bin/normalizer new file mode 100644 index 00000000..668d4e26 --- /dev/null +++ b/IKEA_scraper/.venv/bin/normalizer @@ -0,0 +1,8 @@ +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from charset_normalizer.cli.normalizer import cli_detect +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(cli_detect()) diff --git a/IKEA_scraper/.venv/Scripts/pasteurize-script.py b/IKEA_scraper/.venv/bin/pasteurize similarity index 92% rename from IKEA_scraper/.venv/Scripts/pasteurize-script.py rename to IKEA_scraper/.venv/bin/pasteurize index 2c0431a4..119b6d3a 100644 --- a/IKEA_scraper/.venv/Scripts/pasteurize-script.py +++ b/IKEA_scraper/.venv/bin/pasteurize @@ -1,4 +1,4 @@ -#!F:\Pyhton\random\School\IKEA_scraper\.venv\Scripts\python.exe +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 # EASY-INSTALL-ENTRY-SCRIPT: 'future==0.18.2','console_scripts','pasteurize' import re import sys diff --git a/IKEA_scraper/.venv/bin/pip b/IKEA_scraper/.venv/bin/pip new file mode 100644 index 00000000..ab377d57 --- /dev/null +++ b/IKEA_scraper/.venv/bin/pip @@ -0,0 +1,8 @@ +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/IKEA_scraper/.venv/bin/pip3 b/IKEA_scraper/.venv/bin/pip3 new file mode 100644 index 00000000..ab377d57 --- /dev/null +++ b/IKEA_scraper/.venv/bin/pip3 @@ -0,0 +1,8 @@ +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/IKEA_scraper/.venv/bin/pip3.9 b/IKEA_scraper/.venv/bin/pip3.9 new file mode 100644 index 00000000..ab377d57 --- /dev/null +++ b/IKEA_scraper/.venv/bin/pip3.9 @@ -0,0 +1,8 @@ +#!/run/media/kristofers/Disk/Pyhton/random/School/IKEA_scraper/.venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/IKEA_scraper/.venv/bin/python b/IKEA_scraper/.venv/bin/python new file mode 120000 index 00000000..b8a0adbb --- /dev/null +++ b/IKEA_scraper/.venv/bin/python @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/IKEA_scraper/.venv/bin/python3 b/IKEA_scraper/.venv/bin/python3 new file mode 120000 index 00000000..ae65fdaa --- /dev/null +++ b/IKEA_scraper/.venv/bin/python3 @@ -0,0 +1 @@ +/usr/bin/python3 \ No newline at end of file diff --git a/IKEA_scraper/.venv/bin/python3.9 b/IKEA_scraper/.venv/bin/python3.9 new file mode 120000 index 00000000..b8a0adbb --- /dev/null +++ b/IKEA_scraper/.venv/bin/python3.9 @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/IKEA_scraper/.venv/Include/site/python3.9/greenlet/greenlet.h b/IKEA_scraper/.venv/include/site/python3.9/greenlet/greenlet.h similarity index 100% rename from IKEA_scraper/.venv/Include/site/python3.9/greenlet/greenlet.h rename to IKEA_scraper/.venv/include/site/python3.9/greenlet/greenlet.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/PKG-INFO b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/PKG-INFO similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/PKG-INFO rename to IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/PKG-INFO diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/SOURCES.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/SOURCES.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/SOURCES.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/SOURCES.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/dependency_links.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/dependency_links.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/dependency_links.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/dependency_links.txt diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt new file mode 100644 index 00000000..7a85ed3b --- /dev/null +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/installed-files.txt @@ -0,0 +1,18 @@ +../eel/__init__.py +../eel/__main__.py +../eel/__pycache__/__init__.cpython-39.pyc +../eel/__pycache__/__main__.cpython-39.pyc +../eel/__pycache__/browsers.cpython-39.pyc +../eel/__pycache__/chrome.cpython-39.pyc +../eel/__pycache__/edge.cpython-39.pyc +../eel/__pycache__/electron.cpython-39.pyc +../eel/browsers.py +../eel/chrome.py +../eel/edge.py +../eel/eel.js +../eel/electron.py +PKG-INFO +SOURCES.txt +dependency_links.txt +requires.txt +top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/requires.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/requires.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/requires.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/requires.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/Eel-0.14.0-py3.9.egg-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/Eel-0.14.0-py3.9.egg-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/bottle.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/bottle.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/__pycache__/bottle.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/bottle.cpython-39.pyc index 59ba49d3..dc497a10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/bottle.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/bottle.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/pyparsing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/pyparsing.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/__pycache__/pyparsing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/pyparsing.cpython-39.pyc index 544ca27d..37eca341 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/pyparsing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/pyparsing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/whichcraft.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/whichcraft.cpython-39.pyc index 2569a1dc..f93659cb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/__pycache__/whichcraft.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc index a034412f..44e07c57 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc new file mode 100644 index 00000000..fc2631eb Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/override.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/override.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/_distutils_hack/override.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/_distutils_hack/override.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/AUTHORS b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/AUTHORS similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/AUTHORS rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/AUTHORS diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/COPYING.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/COPYING.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/COPYING.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/COPYING.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/beautifulsoup4-4.10.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/beautifulsoup4-4.10.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/AUTHORS b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/AUTHORS similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/AUTHORS rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/AUTHORS diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/RECORD similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/RECORD index 7c1171e3..92721286 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/RECORD @@ -1,5 +1,5 @@ -../../Scripts/__pycache__/bottle.cpython-39.pyc,, -../../Scripts/bottle.py,sha256=FeDaVhjUfbcKX1ewPnTkMF9P32HxbHeJOTjA5_8RKmk,150552 +../../../bin/__pycache__/bottle.cpython-39.pyc,, +../../../bin/bottle.py,sha256=FeDaVhjUfbcKX1ewPnTkMF9P32HxbHeJOTjA5_8RKmk,150552 __pycache__/bottle.cpython-39.pyc,, bottle-0.12.19.dist-info/AUTHORS,sha256=A0Y_uWygTzQczXdwcMI8h6XqqWns2pGsJnZOGwu_IPo,1308 bottle-0.12.19.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle-0.12.19.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle-0.12.19.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/PKG-INFO b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/PKG-INFO similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/PKG-INFO rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/PKG-INFO diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/SOURCES.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/SOURCES.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/SOURCES.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/SOURCES.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/dependency_links.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/dependency_links.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/dependency_links.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/dependency_links.txt diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt new file mode 100644 index 00000000..0111411b --- /dev/null +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/installed-files.txt @@ -0,0 +1,11 @@ +../bottle_websocket/__init__.py +../bottle_websocket/__pycache__/__init__.cpython-39.pyc +../bottle_websocket/__pycache__/plugin.cpython-39.pyc +../bottle_websocket/__pycache__/server.cpython-39.pyc +../bottle_websocket/plugin.py +../bottle_websocket/server.py +PKG-INFO +SOURCES.txt +dependency_links.txt +requires.txt +top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/requires.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/requires.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/requires.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/requires.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket-0.2.9-py3.9.egg-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc index ae52f6c5..012c27c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc index 93be116d..d8eeec2d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/plugin.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc index 8db352db..c86e24bc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/plugin.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/plugin.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/plugin.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/plugin.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bottle_websocket/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bottle_websocket/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/PKG-INFO b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/PKG-INFO similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/PKG-INFO rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/PKG-INFO diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/SOURCES.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/SOURCES.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/SOURCES.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/SOURCES.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/dependency_links.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/dependency_links.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/dependency_links.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/dependency_links.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/installed-files.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/installed-files.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/installed-files.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/requires.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/requires.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/requires.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/requires.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4-0.0.1-py3.9.egg-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4-0.0.1-py3.9.egg-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/__init__.cpython-39.pyc index 3df043c1..d1eb8cff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/dammit.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/dammit.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/dammit.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/dammit.cpython-39.pyc index 26cf34e8..49ba6365 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/dammit.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/dammit.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc index 09a338e5..826e911c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/diagnose.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/element.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/element.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/element.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/element.cpython-39.pyc index 3a456169..3cdf92a6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/element.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/element.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/formatter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/formatter.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/formatter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/formatter.cpython-39.pyc index 462d19e4..f72ab553 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/formatter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/formatter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/testing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/testing.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/testing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/testing.cpython-39.pyc index d18a444c..fcc5a3b3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/__pycache__/testing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/__pycache__/testing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc index 59032c9e..02f2502c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc index 9fb11ddc..4aa2961c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_html5lib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc index aed8245e..e636e004 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc index 08896a90..8ad5e92c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/__pycache__/_lxml.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_html5lib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_html5lib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_html5lib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_html5lib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_htmlparser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_htmlparser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_htmlparser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_htmlparser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_lxml.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_lxml.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/builder/_lxml.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/builder/_lxml.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/dammit.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/dammit.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/dammit.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/dammit.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/diagnose.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/diagnose.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/diagnose.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/diagnose.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/element.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/element.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/element.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/element.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/formatter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/formatter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/formatter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/formatter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/bs4/testing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/testing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/bs4/testing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/bs4/testing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi-2021.5.30.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi-2021.5.30.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__main__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..2e6be043 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..89d05d4b Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/core.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/core.cpython-39.pyc index 07964ddd..6916973c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/cacert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/cacert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi/cacert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/cacert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/certifi/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/certifi/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/certifi/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/RECORD similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/RECORD index fb4f8675..041a9604 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/RECORD @@ -1,4 +1,4 @@ -../../Scripts/normalizer.exe,sha256=E_XOYvCQJ9_b0Ik2oaeZ7MIEqGafDrd7m41LRRMYRng,106395 +../../../bin/normalizer,sha256=oIF4NZk6sFGp564WVYlhnPy_3OLL9qf4w_Yrx_6wxfY,306 charset_normalizer-2.0.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 charset_normalizer-2.0.6.dist-info/LICENSE,sha256=6zGgxaT7Cbik4yBV0lweX5w1iidS_vPNcgIT0cz-4kE,1070 charset_normalizer-2.0.6.dist-info/METADATA,sha256=zWnIKeYWdCmL4F61s9ci-Q4mjCKzbioT18dp-T0gEag,11241 diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/entry_points.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/entry_points.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/entry_points.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/entry_points.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer-2.0.6.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc index 2de2a66d..33f3bb11 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc index aa1e21d9..4348a0f2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc index 336083d0..9b17a71f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc index 633d0876..67ee0809 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc index e524e8f6..5170ceb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc index 7649142f..cdf853b1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc index 5a52b01f..8fe1c07c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc index af023b00..efc3cc34 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc new file mode 100644 index 00000000..18c45d60 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/api.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/api.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/api.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/api.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/assets/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/assets/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/assets/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/assets/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc index 72fa1491..ad277cfe 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..b57f4b1c Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc index 87fec14c..addb361f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/normalizer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/normalizer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/cli/normalizer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/cli/normalizer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/constant.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/constant.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/legacy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/legacy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/md.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/md.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/md.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/md.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/models.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/models.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/models.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/models.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/py.typed b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/py.typed rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/charset_normalizer/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/distutils-precedence.pth b/IKEA_scraper/.venv/lib/python3.9/site-packages/distutils-precedence.pth similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/distutils-precedence.pth rename to IKEA_scraper/.venv/lib/python3.9/site-packages/distutils-precedence.pth diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__main__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__init__.cpython-39.pyc index b53a633b..997cdb10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__main__.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__main__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__main__.cpython-39.pyc index 97b23432..43fa78c3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/__main__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/browsers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/browsers.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/browsers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/browsers.cpython-39.pyc index f7d73810..6bbfe836 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/browsers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/browsers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/chrome.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/chrome.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/chrome.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/chrome.cpython-39.pyc index e1ba719c..67da18c1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/chrome.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/chrome.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/edge.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/edge.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/edge.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/edge.cpython-39.pyc index 43733d4a..9c8b544d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/edge.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/edge.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/electron.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/electron.cpython-39.pyc similarity index 60% rename from IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/electron.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/electron.cpython-39.pyc index 730ed520..a4b7ad75 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/eel/__pycache__/electron.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/__pycache__/electron.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/browsers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/browsers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/browsers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/browsers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/chrome.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/chrome.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/chrome.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/chrome.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/edge.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/edge.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/edge.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/edge.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/eel.js b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/eel.js similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/eel.js rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/eel.js diff --git a/IKEA_scraper/.venv/Lib/site-packages/eel/electron.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/eel/electron.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/eel/electron.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/eel/electron.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/PKG-INFO b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/PKG-INFO similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/PKG-INFO rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/PKG-INFO diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/SOURCES.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/SOURCES.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/SOURCES.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/SOURCES.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/dependency_links.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/dependency_links.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/dependency_links.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/dependency_links.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/entry_points.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/entry_points.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/entry_points.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/entry_points.txt diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt new file mode 100644 index 00000000..c115b1d2 --- /dev/null +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/installed-files.txt @@ -0,0 +1,413 @@ +../../../../bin/futurize +../../../../bin/pasteurize +../future/__init__.py +../future/__pycache__/__init__.cpython-39.pyc +../future/backports/__init__.py +../future/backports/__pycache__/__init__.cpython-39.pyc +../future/backports/__pycache__/_markupbase.cpython-39.pyc +../future/backports/__pycache__/datetime.cpython-39.pyc +../future/backports/__pycache__/misc.cpython-39.pyc +../future/backports/__pycache__/socket.cpython-39.pyc +../future/backports/__pycache__/socketserver.cpython-39.pyc +../future/backports/__pycache__/total_ordering.cpython-39.pyc +../future/backports/_markupbase.py +../future/backports/datetime.py +../future/backports/email/__init__.py +../future/backports/email/__pycache__/__init__.cpython-39.pyc +../future/backports/email/__pycache__/_encoded_words.cpython-39.pyc +../future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc +../future/backports/email/__pycache__/_parseaddr.cpython-39.pyc +../future/backports/email/__pycache__/_policybase.cpython-39.pyc +../future/backports/email/__pycache__/base64mime.cpython-39.pyc +../future/backports/email/__pycache__/charset.cpython-39.pyc +../future/backports/email/__pycache__/encoders.cpython-39.pyc +../future/backports/email/__pycache__/errors.cpython-39.pyc +../future/backports/email/__pycache__/feedparser.cpython-39.pyc +../future/backports/email/__pycache__/generator.cpython-39.pyc +../future/backports/email/__pycache__/header.cpython-39.pyc +../future/backports/email/__pycache__/headerregistry.cpython-39.pyc +../future/backports/email/__pycache__/iterators.cpython-39.pyc +../future/backports/email/__pycache__/message.cpython-39.pyc +../future/backports/email/__pycache__/parser.cpython-39.pyc +../future/backports/email/__pycache__/policy.cpython-39.pyc +../future/backports/email/__pycache__/quoprimime.cpython-39.pyc +../future/backports/email/__pycache__/utils.cpython-39.pyc +../future/backports/email/_encoded_words.py +../future/backports/email/_header_value_parser.py +../future/backports/email/_parseaddr.py +../future/backports/email/_policybase.py +../future/backports/email/base64mime.py +../future/backports/email/charset.py +../future/backports/email/encoders.py +../future/backports/email/errors.py +../future/backports/email/feedparser.py +../future/backports/email/generator.py +../future/backports/email/header.py +../future/backports/email/headerregistry.py +../future/backports/email/iterators.py +../future/backports/email/message.py +../future/backports/email/mime/__init__.py +../future/backports/email/mime/__pycache__/__init__.cpython-39.pyc +../future/backports/email/mime/__pycache__/application.cpython-39.pyc +../future/backports/email/mime/__pycache__/audio.cpython-39.pyc +../future/backports/email/mime/__pycache__/base.cpython-39.pyc +../future/backports/email/mime/__pycache__/image.cpython-39.pyc +../future/backports/email/mime/__pycache__/message.cpython-39.pyc +../future/backports/email/mime/__pycache__/multipart.cpython-39.pyc +../future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc +../future/backports/email/mime/__pycache__/text.cpython-39.pyc +../future/backports/email/mime/application.py +../future/backports/email/mime/audio.py +../future/backports/email/mime/base.py +../future/backports/email/mime/image.py +../future/backports/email/mime/message.py +../future/backports/email/mime/multipart.py +../future/backports/email/mime/nonmultipart.py +../future/backports/email/mime/text.py +../future/backports/email/parser.py +../future/backports/email/policy.py +../future/backports/email/quoprimime.py +../future/backports/email/utils.py +../future/backports/html/__init__.py +../future/backports/html/__pycache__/__init__.cpython-39.pyc +../future/backports/html/__pycache__/entities.cpython-39.pyc +../future/backports/html/__pycache__/parser.cpython-39.pyc +../future/backports/html/entities.py +../future/backports/html/parser.py +../future/backports/http/__init__.py +../future/backports/http/__pycache__/__init__.cpython-39.pyc +../future/backports/http/__pycache__/client.cpython-39.pyc +../future/backports/http/__pycache__/cookiejar.cpython-39.pyc +../future/backports/http/__pycache__/cookies.cpython-39.pyc +../future/backports/http/__pycache__/server.cpython-39.pyc +../future/backports/http/client.py +../future/backports/http/cookiejar.py +../future/backports/http/cookies.py +../future/backports/http/server.py +../future/backports/misc.py +../future/backports/socket.py +../future/backports/socketserver.py +../future/backports/test/__init__.py +../future/backports/test/__pycache__/__init__.cpython-39.pyc +../future/backports/test/__pycache__/pystone.cpython-39.pyc +../future/backports/test/__pycache__/ssl_servers.cpython-39.pyc +../future/backports/test/__pycache__/support.cpython-39.pyc +../future/backports/test/badcert.pem +../future/backports/test/badkey.pem +../future/backports/test/dh512.pem +../future/backports/test/https_svn_python_org_root.pem +../future/backports/test/keycert.passwd.pem +../future/backports/test/keycert.pem +../future/backports/test/keycert2.pem +../future/backports/test/nokia.pem +../future/backports/test/nullbytecert.pem +../future/backports/test/nullcert.pem +../future/backports/test/pystone.py +../future/backports/test/sha256.pem +../future/backports/test/ssl_cert.pem +../future/backports/test/ssl_key.passwd.pem +../future/backports/test/ssl_key.pem +../future/backports/test/ssl_servers.py +../future/backports/test/support.py +../future/backports/total_ordering.py +../future/backports/urllib/__init__.py +../future/backports/urllib/__pycache__/__init__.cpython-39.pyc +../future/backports/urllib/__pycache__/error.cpython-39.pyc +../future/backports/urllib/__pycache__/parse.cpython-39.pyc +../future/backports/urllib/__pycache__/request.cpython-39.pyc +../future/backports/urllib/__pycache__/response.cpython-39.pyc +../future/backports/urllib/__pycache__/robotparser.cpython-39.pyc +../future/backports/urllib/error.py +../future/backports/urllib/parse.py +../future/backports/urllib/request.py +../future/backports/urllib/response.py +../future/backports/urllib/robotparser.py +../future/backports/xmlrpc/__init__.py +../future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc +../future/backports/xmlrpc/__pycache__/client.cpython-39.pyc +../future/backports/xmlrpc/__pycache__/server.cpython-39.pyc +../future/backports/xmlrpc/client.py +../future/backports/xmlrpc/server.py +../future/builtins/__init__.py +../future/builtins/__pycache__/__init__.cpython-39.pyc +../future/builtins/__pycache__/disabled.cpython-39.pyc +../future/builtins/__pycache__/iterators.cpython-39.pyc +../future/builtins/__pycache__/misc.cpython-39.pyc +../future/builtins/__pycache__/new_min_max.cpython-39.pyc +../future/builtins/__pycache__/newnext.cpython-39.pyc +../future/builtins/__pycache__/newround.cpython-39.pyc +../future/builtins/__pycache__/newsuper.cpython-39.pyc +../future/builtins/disabled.py +../future/builtins/iterators.py +../future/builtins/misc.py +../future/builtins/new_min_max.py +../future/builtins/newnext.py +../future/builtins/newround.py +../future/builtins/newsuper.py +../future/moves/__init__.py +../future/moves/__pycache__/__init__.cpython-39.pyc +../future/moves/__pycache__/_dummy_thread.cpython-39.pyc +../future/moves/__pycache__/_markupbase.cpython-39.pyc +../future/moves/__pycache__/_thread.cpython-39.pyc +../future/moves/__pycache__/builtins.cpython-39.pyc +../future/moves/__pycache__/collections.cpython-39.pyc +../future/moves/__pycache__/configparser.cpython-39.pyc +../future/moves/__pycache__/copyreg.cpython-39.pyc +../future/moves/__pycache__/itertools.cpython-39.pyc +../future/moves/__pycache__/pickle.cpython-39.pyc +../future/moves/__pycache__/queue.cpython-39.pyc +../future/moves/__pycache__/reprlib.cpython-39.pyc +../future/moves/__pycache__/socketserver.cpython-39.pyc +../future/moves/__pycache__/subprocess.cpython-39.pyc +../future/moves/__pycache__/sys.cpython-39.pyc +../future/moves/__pycache__/winreg.cpython-39.pyc +../future/moves/_dummy_thread.py +../future/moves/_markupbase.py +../future/moves/_thread.py +../future/moves/builtins.py +../future/moves/collections.py +../future/moves/configparser.py +../future/moves/copyreg.py +../future/moves/dbm/__init__.py +../future/moves/dbm/__pycache__/__init__.cpython-39.pyc +../future/moves/dbm/__pycache__/dumb.cpython-39.pyc +../future/moves/dbm/__pycache__/gnu.cpython-39.pyc +../future/moves/dbm/__pycache__/ndbm.cpython-39.pyc +../future/moves/dbm/dumb.py +../future/moves/dbm/gnu.py +../future/moves/dbm/ndbm.py +../future/moves/html/__init__.py +../future/moves/html/__pycache__/__init__.cpython-39.pyc +../future/moves/html/__pycache__/entities.cpython-39.pyc +../future/moves/html/__pycache__/parser.cpython-39.pyc +../future/moves/html/entities.py +../future/moves/html/parser.py +../future/moves/http/__init__.py +../future/moves/http/__pycache__/__init__.cpython-39.pyc +../future/moves/http/__pycache__/client.cpython-39.pyc +../future/moves/http/__pycache__/cookiejar.cpython-39.pyc +../future/moves/http/__pycache__/cookies.cpython-39.pyc +../future/moves/http/__pycache__/server.cpython-39.pyc +../future/moves/http/client.py +../future/moves/http/cookiejar.py +../future/moves/http/cookies.py +../future/moves/http/server.py +../future/moves/itertools.py +../future/moves/pickle.py +../future/moves/queue.py +../future/moves/reprlib.py +../future/moves/socketserver.py +../future/moves/subprocess.py +../future/moves/sys.py +../future/moves/test/__init__.py +../future/moves/test/__pycache__/__init__.cpython-39.pyc +../future/moves/test/__pycache__/support.cpython-39.pyc +../future/moves/test/support.py +../future/moves/tkinter/__init__.py +../future/moves/tkinter/__pycache__/__init__.cpython-39.pyc +../future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc +../future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc +../future/moves/tkinter/__pycache__/constants.cpython-39.pyc +../future/moves/tkinter/__pycache__/dialog.cpython-39.pyc +../future/moves/tkinter/__pycache__/dnd.cpython-39.pyc +../future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc +../future/moves/tkinter/__pycache__/font.cpython-39.pyc +../future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc +../future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc +../future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc +../future/moves/tkinter/__pycache__/tix.cpython-39.pyc +../future/moves/tkinter/__pycache__/ttk.cpython-39.pyc +../future/moves/tkinter/colorchooser.py +../future/moves/tkinter/commondialog.py +../future/moves/tkinter/constants.py +../future/moves/tkinter/dialog.py +../future/moves/tkinter/dnd.py +../future/moves/tkinter/filedialog.py +../future/moves/tkinter/font.py +../future/moves/tkinter/messagebox.py +../future/moves/tkinter/scrolledtext.py +../future/moves/tkinter/simpledialog.py +../future/moves/tkinter/tix.py +../future/moves/tkinter/ttk.py +../future/moves/urllib/__init__.py +../future/moves/urllib/__pycache__/__init__.cpython-39.pyc +../future/moves/urllib/__pycache__/error.cpython-39.pyc +../future/moves/urllib/__pycache__/parse.cpython-39.pyc +../future/moves/urllib/__pycache__/request.cpython-39.pyc +../future/moves/urllib/__pycache__/response.cpython-39.pyc +../future/moves/urllib/__pycache__/robotparser.cpython-39.pyc +../future/moves/urllib/error.py +../future/moves/urllib/parse.py +../future/moves/urllib/request.py +../future/moves/urllib/response.py +../future/moves/urllib/robotparser.py +../future/moves/winreg.py +../future/moves/xmlrpc/__init__.py +../future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc +../future/moves/xmlrpc/__pycache__/client.cpython-39.pyc +../future/moves/xmlrpc/__pycache__/server.cpython-39.pyc +../future/moves/xmlrpc/client.py +../future/moves/xmlrpc/server.py +../future/standard_library/__init__.py +../future/standard_library/__pycache__/__init__.cpython-39.pyc +../future/tests/__init__.py +../future/tests/__pycache__/__init__.cpython-39.pyc +../future/tests/__pycache__/base.cpython-39.pyc +../future/tests/base.py +../future/types/__init__.py +../future/types/__pycache__/__init__.cpython-39.pyc +../future/types/__pycache__/newbytes.cpython-39.pyc +../future/types/__pycache__/newdict.cpython-39.pyc +../future/types/__pycache__/newint.cpython-39.pyc +../future/types/__pycache__/newlist.cpython-39.pyc +../future/types/__pycache__/newmemoryview.cpython-39.pyc +../future/types/__pycache__/newobject.cpython-39.pyc +../future/types/__pycache__/newopen.cpython-39.pyc +../future/types/__pycache__/newrange.cpython-39.pyc +../future/types/__pycache__/newstr.cpython-39.pyc +../future/types/newbytes.py +../future/types/newdict.py +../future/types/newint.py +../future/types/newlist.py +../future/types/newmemoryview.py +../future/types/newobject.py +../future/types/newopen.py +../future/types/newrange.py +../future/types/newstr.py +../future/utils/__init__.py +../future/utils/__pycache__/__init__.cpython-39.pyc +../future/utils/__pycache__/surrogateescape.cpython-39.pyc +../future/utils/surrogateescape.py +../libfuturize/__init__.py +../libfuturize/__pycache__/__init__.cpython-39.pyc +../libfuturize/__pycache__/fixer_util.cpython-39.pyc +../libfuturize/__pycache__/main.cpython-39.pyc +../libfuturize/fixer_util.py +../libfuturize/fixes/__init__.py +../libfuturize/fixes/__pycache__/__init__.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc +../libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc +../libfuturize/fixes/fix_UserDict.py +../libfuturize/fixes/fix_absolute_import.py +../libfuturize/fixes/fix_add__future__imports_except_unicode_literals.py +../libfuturize/fixes/fix_basestring.py +../libfuturize/fixes/fix_bytes.py +../libfuturize/fixes/fix_cmp.py +../libfuturize/fixes/fix_division.py +../libfuturize/fixes/fix_division_safe.py +../libfuturize/fixes/fix_execfile.py +../libfuturize/fixes/fix_future_builtins.py +../libfuturize/fixes/fix_future_standard_library.py +../libfuturize/fixes/fix_future_standard_library_urllib.py +../libfuturize/fixes/fix_input.py +../libfuturize/fixes/fix_metaclass.py +../libfuturize/fixes/fix_next_call.py +../libfuturize/fixes/fix_object.py +../libfuturize/fixes/fix_oldstr_wrap.py +../libfuturize/fixes/fix_order___future__imports.py +../libfuturize/fixes/fix_print.py +../libfuturize/fixes/fix_print_with_import.py +../libfuturize/fixes/fix_raise.py +../libfuturize/fixes/fix_remove_old__future__imports.py +../libfuturize/fixes/fix_unicode_keep_u.py +../libfuturize/fixes/fix_unicode_literals_import.py +../libfuturize/fixes/fix_xrange_with_import.py +../libfuturize/main.py +../libpasteurize/__init__.py +../libpasteurize/__pycache__/__init__.cpython-39.pyc +../libpasteurize/__pycache__/main.cpython-39.pyc +../libpasteurize/fixes/__init__.py +../libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc +../libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc +../libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc +../libpasteurize/fixes/feature_base.py +../libpasteurize/fixes/fix_add_all__future__imports.py +../libpasteurize/fixes/fix_add_all_future_builtins.py +../libpasteurize/fixes/fix_add_future_standard_library_import.py +../libpasteurize/fixes/fix_annotations.py +../libpasteurize/fixes/fix_division.py +../libpasteurize/fixes/fix_features.py +../libpasteurize/fixes/fix_fullargspec.py +../libpasteurize/fixes/fix_future_builtins.py +../libpasteurize/fixes/fix_getcwd.py +../libpasteurize/fixes/fix_imports.py +../libpasteurize/fixes/fix_imports2.py +../libpasteurize/fixes/fix_kwargs.py +../libpasteurize/fixes/fix_memoryview.py +../libpasteurize/fixes/fix_metaclass.py +../libpasteurize/fixes/fix_newstyle.py +../libpasteurize/fixes/fix_next.py +../libpasteurize/fixes/fix_printfunction.py +../libpasteurize/fixes/fix_raise.py +../libpasteurize/fixes/fix_raise_.py +../libpasteurize/fixes/fix_throw.py +../libpasteurize/fixes/fix_unpacking.py +../libpasteurize/main.py +../past/__init__.py +../past/__pycache__/__init__.cpython-39.pyc +../past/builtins/__init__.py +../past/builtins/__pycache__/__init__.cpython-39.pyc +../past/builtins/__pycache__/misc.cpython-39.pyc +../past/builtins/__pycache__/noniterators.cpython-39.pyc +../past/builtins/misc.py +../past/builtins/noniterators.py +../past/translation/__init__.py +../past/translation/__pycache__/__init__.cpython-39.pyc +../past/types/__init__.py +../past/types/__pycache__/__init__.cpython-39.pyc +../past/types/__pycache__/basestring.cpython-39.pyc +../past/types/__pycache__/olddict.cpython-39.pyc +../past/types/__pycache__/oldstr.cpython-39.pyc +../past/types/basestring.py +../past/types/olddict.py +../past/types/oldstr.py +../past/utils/__init__.py +../past/utils/__pycache__/__init__.cpython-39.pyc +PKG-INFO +SOURCES.txt +dependency_links.txt +entry_points.txt +top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future-0.18.2-py3.9.egg-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future-0.18.2-py3.9.egg-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/__pycache__/__init__.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/__pycache__/__init__.cpython-39.pyc index 8729683e..46f911f4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc index ff97a700..aee282ab 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc index 1786efeb..8a644bc7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/_markupbase.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc index c71e3a5d..7ff37d2d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/datetime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/misc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/misc.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/misc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/misc.cpython-39.pyc index f271d02a..3c279ce0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/misc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/misc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socket.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socket.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socket.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socket.cpython-39.pyc index d7e0d9c0..30e8cee7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socket.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socket.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc index 1bd41e3f..590c4c27 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/socketserver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc index 0c6ce1c2..c9cce88a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/__pycache__/total_ordering.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/_markupbase.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/_markupbase.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/_markupbase.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/_markupbase.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/datetime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/datetime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/datetime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/datetime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc index 045d317b..2bfbb68e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc index dccc661f..a5a82426 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_encoded_words.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc index 92972d41..56fa855b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_header_value_parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc index 87c41f72..6b6fd151 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_parseaddr.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc index 77be8202..f3ba3c10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/_policybase.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc index 93d03648..8f189be5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/base64mime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc index f84aa322..b1a9cf2f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/charset.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc index ab8c6b6b..ebddc235 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/encoders.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc index 50ee9bfc..64daa998 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/errors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc index 9ce890c0..fd9b50b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/feedparser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc index 36b2aa5b..24fae0ee 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/generator.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc index 08d84d4a..182a83c9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/header.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc index 82ed32d7..75f4496d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/headerregistry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc index ad59653e..534e58dd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/iterators.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc index 8349ed3e..32500024 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/message.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc index dae69371..50cf59e5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc index 36b58355..3920320c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/policy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc index 517aec20..28f2911e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/quoprimime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc index cd76ce7f..8c9a2a30 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_encoded_words.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_encoded_words.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_encoded_words.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_encoded_words.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_header_value_parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_header_value_parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_header_value_parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_header_value_parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_parseaddr.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_parseaddr.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_parseaddr.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_parseaddr.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_policybase.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_policybase.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/_policybase.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/_policybase.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/base64mime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/base64mime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/base64mime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/base64mime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/charset.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/charset.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/charset.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/charset.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/encoders.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/encoders.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/encoders.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/encoders.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/errors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/errors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/errors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/errors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/feedparser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/feedparser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/feedparser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/feedparser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/generator.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/generator.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/generator.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/generator.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/header.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/header.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/header.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/header.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/headerregistry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/headerregistry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/headerregistry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/headerregistry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/iterators.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/iterators.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/iterators.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/iterators.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/message.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/message.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/message.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/message.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..35353c4b Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc index a6dd2cb5..e6739b9d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/application.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc index aea52083..fc5659e1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/audio.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc index bed9f67d..1afddcca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc index 46e88e06..7ef2dcfb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/image.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc index 5a17b2b5..6a5544e6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/message.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc index 55615117..7f90c7ad 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/multipart.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc index 75a1a938..77c2a807 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/nonmultipart.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc index 1c5058b0..090f1d52 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/__pycache__/text.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/application.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/application.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/application.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/application.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/audio.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/audio.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/audio.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/audio.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/image.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/image.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/image.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/image.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/message.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/message.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/message.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/message.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/multipart.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/multipart.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/multipart.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/multipart.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/nonmultipart.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/nonmultipart.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/nonmultipart.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/nonmultipart.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/text.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/text.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/mime/text.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/mime/text.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/policy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/policy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/policy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/policy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/quoprimime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/quoprimime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/quoprimime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/quoprimime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/email/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/email/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/email/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc index 9d047f17..c7bf9e55 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc index 71a02362..6a5c0fc9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/entities.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc index 9d639baf..628c106f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/__pycache__/parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/entities.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/entities.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/entities.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/entities.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/html/parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/html/parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/html/parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a4bdc154 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc index 7e2ca339..aaca0b63 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/client.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc index 88c95d33..22f81793 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookiejar.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc index 3995a985..41bdd85b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/cookies.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc index cc41e53d..6bf05b4d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/client.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/client.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/client.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/client.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/cookiejar.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/cookiejar.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/cookiejar.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/cookiejar.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/cookies.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/cookies.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/cookies.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/cookies.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/http/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/http/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/http/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/misc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/misc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/misc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/misc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/socket.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/socket.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/socket.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/socket.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/socketserver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/socketserver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/socketserver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/socketserver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc index 62b2f2d7..116e1461 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc index 18dc8670..472bb59e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/pystone.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc index 63d59e86..32c16bac 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/ssl_servers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc index 36bb8d51..4c7da161 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/__pycache__/support.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/badcert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/badcert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/badcert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/badcert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/badkey.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/badkey.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/badkey.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/badkey.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/dh512.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/dh512.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/dh512.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/dh512.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/https_svn_python_org_root.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/https_svn_python_org_root.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/https_svn_python_org_root.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/https_svn_python_org_root.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert.passwd.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert.passwd.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert.passwd.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert.passwd.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert2.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert2.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/keycert2.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/keycert2.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nokia.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nokia.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nokia.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nokia.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nullbytecert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nullbytecert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nullbytecert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nullbytecert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nullcert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nullcert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/nullcert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/nullcert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/pystone.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/pystone.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/pystone.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/pystone.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/sha256.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/sha256.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/sha256.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/sha256.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_cert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_cert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_cert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_cert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_key.passwd.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_key.passwd.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_key.passwd.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_key.passwd.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_key.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_key.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_key.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_key.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_servers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_servers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/ssl_servers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/ssl_servers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/test/support.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/support.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/test/support.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/test/support.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/total_ordering.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/total_ordering.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/total_ordering.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/total_ordering.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d8e0db0e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc index 22b5fb7f..5165c139 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/error.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc index 75b7f634..815610e0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/parse.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc index d90e8011..540272ab 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc index 8a826916..3ec87733 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc index 0f64136f..d76964e5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/__pycache__/robotparser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/error.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/error.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/error.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/error.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/parse.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/parse.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/parse.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/parse.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/robotparser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/robotparser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/urllib/robotparser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/urllib/robotparser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..e23599bd Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc index af86bf3e..fe70105d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/client.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc index aa637fd6..ea426f7a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/client.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/client.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/client.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/client.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/backports/xmlrpc/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/backports/xmlrpc/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc index db70b4a3..923150de 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc index cc0267bb..2f5e7660 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/disabled.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc index db638501..c3363cd6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/iterators.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc index 3eae23ee..7ec8392e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/misc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc index 34986d23..56337424 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/new_min_max.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc index a46f9255..126df9e2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newnext.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc index 0f2df8dc..89c3c05a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newround.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc index 2ee1c970..30f5f53f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/__pycache__/newsuper.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/disabled.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/disabled.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/disabled.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/disabled.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/iterators.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/iterators.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/iterators.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/iterators.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/misc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/misc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/misc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/misc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/new_min_max.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/new_min_max.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/new_min_max.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/new_min_max.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/newnext.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newnext.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/newnext.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newnext.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/newround.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newround.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/newround.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newround.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/builtins/newsuper.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newsuper.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/builtins/newsuper.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/builtins/newsuper.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc index a3561eff..35bb7e6f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc index 075e0942..53cda670 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_dummy_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc index 13df3eca..7861202c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_markupbase.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc index f1250dd2..4acdef72 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc index 24347bc4..47e67ca1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/collections.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/collections.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/collections.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/collections.cpython-39.pyc index 01deb537..8e56036f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/collections.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/collections.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc similarity index 55% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc index 655c6b28..1bbfaaa5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/configparser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc index 45a93f41..473c706f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/copyreg.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc similarity index 51% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc index ea55f54f..c1d1ff98 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/itertools.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc index 460719b6..f0f2ad54 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/pickle.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/queue.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/queue.cpython-39.pyc index 252e27e5..16a1a6d0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc index 594e82e3..f7c12840 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/reprlib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc index 4506925b..01bda799 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/socketserver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc index bc18a74e..cbf4539c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/subprocess.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/sys.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/sys.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/sys.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/sys.cpython-39.pyc index 332bfbf2..8047d1c2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/sys.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/sys.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc index 8b1af919..e828c837 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/__pycache__/winreg.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/_dummy_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_dummy_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/_dummy_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_dummy_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/_markupbase.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_markupbase.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/_markupbase.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_markupbase.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/collections.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/collections.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/collections.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/collections.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/configparser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/configparser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/configparser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/configparser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/copyreg.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/copyreg.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/copyreg.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/copyreg.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc index 7920abe0..75e78724 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc index c76308b1..6a4c89a6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/dumb.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc index c262f53f..6fa87bfc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/gnu.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc index 27998b74..88dd06dc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/__pycache__/ndbm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/dumb.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/dumb.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/dumb.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/dumb.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/gnu.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/gnu.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/gnu.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/gnu.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/ndbm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/ndbm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/dbm/ndbm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/dbm/ndbm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc index db13d97f..49f8af3a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc similarity index 55% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc index a6be492e..55ce52b1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/entities.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc index c00e9096..6e8ebae2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/__pycache__/parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/entities.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/entities.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/entities.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/entities.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/html/parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/html/parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/html/parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..918eb1fe Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc index 7d03b669..187b5f43 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/client.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc index 9eb9a58e..e4534a5c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookiejar.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc index 26440c03..23b4be44 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/cookies.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc index 63e6e3ca..5a5629b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/client.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/client.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/client.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/client.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/cookiejar.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/cookiejar.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/cookiejar.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/cookiejar.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/cookies.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/cookies.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/cookies.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/cookies.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/http/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/http/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/http/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/itertools.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/itertools.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/itertools.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/itertools.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/pickle.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/pickle.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/pickle.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/pickle.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/reprlib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/reprlib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/reprlib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/reprlib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/socketserver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/socketserver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/socketserver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/socketserver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/subprocess.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/subprocess.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/subprocess.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/subprocess.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/sys.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/sys.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/sys.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/sys.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc index 19e9916f..b3d148c6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc index 229c536a..c1ebb5d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/__pycache__/support.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/test/support.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/support.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/test/support.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/test/support.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc index 86259476..cb38fd54 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc index 36e86077..29e4ac8e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/colorchooser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc index 62289dcf..c03f8141 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/commondialog.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc index d04214ac..7b67f1e6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/constants.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc index 577be5da..326d07cd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dialog.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc index 7effdbb5..2dffc4d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/dnd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc index f15bf36e..f902029d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/filedialog.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc index 89a0cfa4..18e1155a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/font.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc index b5617bb5..b054c303 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/messagebox.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc index d83a092d..f54e72c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/scrolledtext.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc index d51ce1ac..b8c44611 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/simpledialog.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc index 76f8f6cd..94093e9e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/tix.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc index 88203937..d6a5c205 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/__pycache__/ttk.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/colorchooser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/colorchooser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/colorchooser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/colorchooser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/commondialog.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/commondialog.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/commondialog.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/commondialog.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/constants.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/constants.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/constants.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/constants.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/dialog.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/dialog.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/dialog.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/dialog.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/dnd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/dnd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/dnd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/dnd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/filedialog.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/filedialog.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/filedialog.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/filedialog.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/font.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/font.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/font.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/font.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/messagebox.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/messagebox.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/messagebox.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/messagebox.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/scrolledtext.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/scrolledtext.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/scrolledtext.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/scrolledtext.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/simpledialog.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/simpledialog.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/simpledialog.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/simpledialog.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/tix.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/tix.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/tix.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/tix.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/ttk.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/ttk.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/tkinter/ttk.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/tkinter/ttk.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc index fcf7adff..aeaf2563 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc index 5abccee4..6f1d6338 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/error.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc index b3cdd0b4..93b46dc2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/parse.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc index d989166b..d884ce37 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc index ac5343ed..80c8fe97 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc index 331f5359..91e84890 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/__pycache__/robotparser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/error.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/error.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/error.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/error.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/parse.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/parse.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/parse.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/parse.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/robotparser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/robotparser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/urllib/robotparser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/urllib/robotparser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/winreg.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/winreg.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/winreg.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/winreg.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a379d3fb Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc index c744a40d..41ae73a9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/client.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc index b35876a1..d4a03011 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/client.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/client.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/client.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/client.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/moves/xmlrpc/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/moves/xmlrpc/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/standard_library/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/standard_library/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/standard_library/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/standard_library/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc index fa2f112e..6fc57de4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/standard_library/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/tests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/tests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..1b779a00 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/base.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/base.cpython-39.pyc index d1fb12b6..78f8dac3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/tests/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/tests/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/tests/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/tests/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/__init__.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/__init__.cpython-39.pyc index 48ccca3c..587b5615 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc index 00956f08..eb389aca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newbytes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newdict.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newdict.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newdict.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newdict.cpython-39.pyc index 3dc1cd35..5040cf9e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newdict.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newdict.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newint.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newint.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newint.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newint.cpython-39.pyc index 37cdd24b..1c114a8f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newint.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newint.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newlist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newlist.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newlist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newlist.cpython-39.pyc index 01d9134e..ac107933 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newlist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newlist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc index 744cafe5..0a6d60b4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newmemoryview.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newobject.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newobject.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newobject.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newobject.cpython-39.pyc index 711b2046..fa5550c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newobject.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newobject.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newopen.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newopen.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newopen.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newopen.cpython-39.pyc index 01ee94b0..2593a4ae 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newopen.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newopen.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newrange.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newrange.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newrange.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newrange.cpython-39.pyc index 88e687d4..2d99d7d4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newrange.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newrange.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newstr.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newstr.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newstr.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newstr.cpython-39.pyc index 69abfb58..f8fb01fc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/types/__pycache__/newstr.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/__pycache__/newstr.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newbytes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newbytes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newbytes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newbytes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newdict.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newdict.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newdict.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newdict.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newint.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newint.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newint.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newint.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newlist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newlist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newlist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newlist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newmemoryview.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newmemoryview.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newmemoryview.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newmemoryview.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newobject.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newobject.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newobject.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newobject.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newopen.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newopen.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newopen.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newopen.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newrange.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newrange.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newrange.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newrange.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/types/newstr.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newstr.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/types/newstr.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/types/newstr.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/utils/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/utils/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc index add145c0..71fcc006 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc index c277226b..11316c0a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/__pycache__/surrogateescape.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/future/utils/surrogateescape.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/surrogateescape.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/future/utils/surrogateescape.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/future/utils/surrogateescape.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/AUTHORS b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/AUTHORS similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/AUTHORS rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/AUTHORS diff --git a/IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/charset_normalizer-2.0.6.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/NOTICE b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/NOTICE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/NOTICE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/NOTICE diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/RECORD similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/RECORD index 498ba14e..023b6131 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/RECORD @@ -4,7 +4,7 @@ gevent-21.8.0.dist-info/LICENSE,sha256=TUa8EdGeOFPVQyWXO44sUwkPVjinvyf6H18SMseJA gevent-21.8.0.dist-info/METADATA,sha256=L4auJbOVFNZIQ1ml1L9tsGOJ2XFF596TxV9wd0x3nog,13558 gevent-21.8.0.dist-info/NOTICE,sha256=ZJOCR8qaV_7kwRZWQEuTwxMCkYfhPaeHySe2xkpoBYM,4004 gevent-21.8.0.dist-info/RECORD,, -gevent-21.8.0.dist-info/WHEEL,sha256=jr7ubY0Lkz_yXH9FfFe9PTtLhGOsf62dZkNvTYrJINE,100 +gevent-21.8.0.dist-info/WHEEL,sha256=u068djhQadWB5Cpg73zJkoU_srgtd6zcF9RJVkaqWXU,148 gevent-21.8.0.dist-info/entry_points.txt,sha256=j3Bs4dZY03xbORf-NbA6xkzNErzi1OVktpPF8rFrRQA,96 gevent-21.8.0.dist-info/top_level.txt,sha256=fpElGiTe2fdw27vmNxdV5MQpyndjzWZMk5TB_NMYPSI,7 gevent/__init__.py,sha256=obs6WQvJXmLykNJepiYUjZNcfA_cSWoyNHE2Q9M4vEw,3831 @@ -83,19 +83,19 @@ gevent/_ffi/loop.py,sha256=1yINOOlsuFMyUlnvcCxXVQQipC-0SGNxbmSLeC7kckU,32009 gevent/_ffi/watcher.py,sha256=zZiZ9cuebAZEi4zG8cy7a33CRmhFlZdirRll9KMwCUk,20926 gevent/_fileobjectcommon.py,sha256=fcdGdSpk6TC0rFKCYvI3h1UE10wrwZ1RLAtAHjqK9HU,24622 gevent/_fileobjectposix.py,sha256=6IskDUdWVfiMdB3xMNDFUWeInIBnQFABET3emK0T188,12862 -gevent/_gevent_c_abstract_linkable.cp39-win_amd64.pyd,sha256=O5JW3cOQX7YgHW15tpDi_E6IvMuBrEpKrflHv67TK8A,115200 -gevent/_gevent_c_greenlet_primitives.cp39-win_amd64.pyd,sha256=7ArmVuwtcMtmMR5bRuOxR3FRYLSx51juq25ZD5MTraw,70656 -gevent/_gevent_c_hub_local.cp39-win_amd64.pyd,sha256=SbHLpqjXAi5OKDl0VY69RXeQ84q30YN4aURy1fLxuO8,60416 -gevent/_gevent_c_hub_primitives.cp39-win_amd64.pyd,sha256=zmQheFzHsqORPfRVkH73GfKKueQ1vBDbbb3l_b85YcQ,132608 -gevent/_gevent_c_ident.cp39-win_amd64.pyd,sha256=4O6dF4R3KsdfWkItXMvrQnt7b8_lZOmNKyx2K0E5eeI,57856 -gevent/_gevent_c_imap.cp39-win_amd64.pyd,sha256=bybJAqJWqOA0EYi8NMSN_LQQgV6KJtknw2p_89AXEWY,93184 -gevent/_gevent_c_semaphore.cp39-win_amd64.pyd,sha256=-CAgj-mkhBNT3MS6YotXuP65ImCf1LIPY3Ig7h6MJco,124928 -gevent/_gevent_c_tracer.cp39-win_amd64.pyd,sha256=YnsgaHGDXWehJNCqYE5W1gTDidFEkLvenDBlM1aFo_k,93696 -gevent/_gevent_c_waiter.cp39-win_amd64.pyd,sha256=RJDQaKhl24W5yECZ9aZG-9d6fKPPo0MHYliuZaTpR7w,86016 -gevent/_gevent_cevent.cp39-win_amd64.pyd,sha256=z_UJOr6XAou27cvUd5-mb45ztAVvpM0gMwbjcOB81Uc,113664 -gevent/_gevent_cgreenlet.cp39-win_amd64.pyd,sha256=6DE3b0O0ao46yWBjaUwGTw75RSGG2jUzwiqic-0t9W0,237056 -gevent/_gevent_clocal.cp39-win_amd64.pyd,sha256=KwfitSb4AC9PGjBedPgfnGjnuNKQ5SNfG-RRkNUOx-4,132608 -gevent/_gevent_cqueue.cp39-win_amd64.pyd,sha256=KfX0pQM_m9nZqGAmto464C4a4xWXqpPK0LRWilsxyek,202752 +gevent/_gevent_c_abstract_linkable.cpython-39-x86_64-linux-gnu.so,sha256=OKaEC9gfQ059xZvtu_LRO9BedYc-VcGe4xQfTCIGJd4,901816 +gevent/_gevent_c_greenlet_primitives.cpython-39-x86_64-linux-gnu.so,sha256=hJ-d__lxnIkdN5tUoHJY4YGXnhvf_OWu3j-FSJR0Lgo,672256 +gevent/_gevent_c_hub_local.cpython-39-x86_64-linux-gnu.so,sha256=7bA2h4pHVy0nQJggxtAYJdKswgfoky0Fz2_4_FuQKUw,383016 +gevent/_gevent_c_hub_primitives.cpython-39-x86_64-linux-gnu.so,sha256=iDIhSlBz2UrwQUnjUoM-Abk9XQb0-wkz98CGRGGdY0A,1124280 +gevent/_gevent_c_ident.cpython-39-x86_64-linux-gnu.so,sha256=Juq3aXIHgQtqv2vTgjBgkaO-PbwUly6L6OnVuXmRrOQ,416336 +gevent/_gevent_c_imap.cpython-39-x86_64-linux-gnu.so,sha256=qeGOTGk5pIhoEO0YczXRXu8C7plfR59KmD0YK9MZfhA,733712 +gevent/_gevent_c_semaphore.cpython-39-x86_64-linux-gnu.so,sha256=WPbGJuVU1yGe-a3y4gBhv4IK0vpz2-_2iR6EEzmoFLs,980184 +gevent/_gevent_c_tracer.cpython-39-x86_64-linux-gnu.so,sha256=d2DyHeY4S8HpS9uXClppPsaZuxdDlS-iudhPHSUQjGY,776176 +gevent/_gevent_c_waiter.cpython-39-x86_64-linux-gnu.so,sha256=hWB-JDQW9CO2uRZmpTg4bK1b6xjSBu8s-U_jV1GKqkA,601592 +gevent/_gevent_cevent.cpython-39-x86_64-linux-gnu.so,sha256=AUXR3l9Jw5JcDMZNSPUmwMSkjLd0EOZikE-Dfe1Ltpg,809392 +gevent/_gevent_cgreenlet.cpython-39-x86_64-linux-gnu.so,sha256=CU1upSgHtkSzVjVkv3-zEaG5Z-1jT8jbfUDaD_8eTos,2050248 +gevent/_gevent_clocal.cpython-39-x86_64-linux-gnu.so,sha256=lO91AIjMc2M9M-ztdjNXcEIvVzlBGw2VXhAc7AxrFdE,1039656 +gevent/_gevent_cqueue.cpython-39-x86_64-linux-gnu.so,sha256=1MdoKlEM0gVRPRXm1QLNWoNHGUEr1iKSYuTM2a5rBJ0,1662056 gevent/_greenlet_primitives.py,sha256=i2b0bj5oYr5qzhRRQPhzbCMEg9zMRAx_zhiSOCHtTeY,4647 gevent/_hub_local.py,sha256=34EHdj-BaHCBduR165uPSFzGf7T1Ca1XrEhMzIH93j8,2747 gevent/_hub_primitives.py,sha256=_iSqI967yV8vqFrZVCQVCy-bi9CVyfFTMAWkbAWCMAQ,14034 @@ -134,8 +134,9 @@ gevent/libev/__pycache__/__init__.cpython-39.pyc,, gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc,, gevent/libev/__pycache__/corecffi.cpython-39.pyc,, gevent/libev/__pycache__/watcher.cpython-39.pyc,, +gevent/libev/_corecffi.abi3.so,sha256=V0mx7Q0_zlwyT-8pJVyPCTj_FnRCor5EUCQRp599uz8,479784 gevent/libev/_corecffi_build.py,sha256=6GpMTogzfuj0AT9Aw4c--ej8jmFVL-KZor8C6YJwYbQ,4017 -gevent/libev/corecext.cp39-win_amd64.pyd,sha256=FoI-fPkS4WGk3N2_CixLwfIfBaovK5LgFoHmuzagtqU,307712 +gevent/libev/corecext.cpython-39-x86_64-linux-gnu.so,sha256=tsLzTV2JZt_QVfbpCTGUaGXQmNz5vKH9I2A_FSro7qs,2495032 gevent/libev/corecffi.py,sha256=yxz0x6YzcQSFPSuba3JJpPJkkdU7KBwFPa299cGOGSw,13720 gevent/libev/watcher.py,sha256=DGBi_JFksqLv4ifO5o-eIT8POn-om3EdiJhQDVx4pLs,7999 gevent/libuv/__init__.py,sha256=I6hpYFJCnbBBDrousKzZ7Ql--mnfAFwfM2q1BuxcMfI,169 @@ -143,7 +144,7 @@ gevent/libuv/__pycache__/__init__.cpython-39.pyc,, gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc,, gevent/libuv/__pycache__/loop.cpython-39.pyc,, gevent/libuv/__pycache__/watcher.cpython-39.pyc,, -gevent/libuv/_corecffi.pyd,sha256=6iSKOsy3MukKoJ648GQivHjJn6zqqFP6_VneqHndliA,217088 +gevent/libuv/_corecffi.abi3.so,sha256=-ljyubBpGL9N5rBsBI_zfTkV1V4-2MBhksLX9e2cjTQ,1305880 gevent/libuv/_corecffi_build.py,sha256=QVxXeInYqh9UFy_vrOnWODZxcXqZFGSrbbFSfo6YseI,10924 gevent/libuv/loop.py,sha256=KcmjrJQXgIHkzY-5BdCj-Gikxe8_OjJUxh48AFUFb6c,27581 gevent/libuv/watcher.py,sha256=uuoXTRkwFTEJ-dgpAtUS_iL3omN2CG_AdDS-E3HkDOg,27589 @@ -166,6 +167,7 @@ gevent/resolver/_addresses.py,sha256=4zJUJzHmh1HMFbPWKlW-WJHplTW5NZoOkVA4lk_FCdo gevent/resolver/_hostsfile.py,sha256=86pvMsfpvtOUf1GUP1QhRc-Pp1d4Y0OrRyPAD5saCKw,4640 gevent/resolver/ares.py,sha256=256SDGMmaMmP1qczPg9bRGmiyZ_3nOu233ndGP08H6U,12458 gevent/resolver/blocking.py,sha256=5ubBMewB7X-JouMKIlf_s2JNw4KJ_EqmNVUg4PrrSaA,1216 +gevent/resolver/cares.cpython-39-x86_64-linux-gnu.so,sha256=HNldRQxIEfLn63Rv3XkcTb0Xcwpo1IUQRdsgaLjkhck,1921408 gevent/resolver/dnspython.py,sha256=7AbPgzMKo4Lssar5qLX7dJJsneM96UBk_bOD4tQtNO4,20627 gevent/resolver/thread.py,sha256=DTSwSwBRsSJKjPjyAHS0qT07oDxmFOhR4wYLfSSaJCU,2487 gevent/resolver_ares.py,sha256=s5Jo9Z0b-zKxSWcIvW5onaFE2OrfqLuNnTPlOoxFxEQ,486 diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/WHEEL similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/WHEEL index d1267fcc..49248999 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/WHEEL +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/WHEEL @@ -1,5 +1,6 @@ Wheel-Version: 1.0 Generator: bdist_wheel (0.36.2) Root-Is-Purelib: false -Tag: cp39-cp39-win_amd64 +Tag: cp39-cp39-manylinux_2_12_x86_64 +Tag: cp39-cp39-manylinux2010_x86_64 diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/entry_points.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/entry_points.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/entry_points.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/entry_points.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent-21.8.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/__init__.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/__init__.cpython-39.pyc index f8c01def..e307ac8d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc index 3d79533e..c2294bfa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_abstract_linkable.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_compat.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_compat.cpython-39.pyc index 1ab3bacb..4a2e76ee 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_config.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_config.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_config.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_config.cpython-39.pyc index 9fac9327..bb22dbd8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_config.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_config.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc index a18dd765..87f7b3ce 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectcommon.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc index b7d0eeaa..1506c340 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_fileobjectposix.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc index b948a47e..551567c5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_greenlet_primitives.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc index 93284850..7729fe0c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_local.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc index 3c65b481..72caa01f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_hub_primitives.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ident.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ident.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ident.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ident.cpython-39.pyc index e8091c5f..c81b07f7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ident.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ident.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_imap.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_imap.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_imap.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_imap.cpython-39.pyc index 42b104ad..e005d717 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_imap.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_imap.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc index 0277cf7c..d0c29252 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_interfaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc index 94eaccb1..407f03bc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_monitor.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc index 11345241..d05ac9ca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_patcher.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc index e480f93a..ff0dc222 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_semaphore.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc index 3114cb3f..ae4eeb14 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc index 41d81725..bf84fdbf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socket3.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc index 1c47f91c..ebd7f74d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_socketcommon.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc index f5ea6f8e..cbcd4796 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc index 7dbf738b..ae7f97fe 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_ssl3.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc index e9ce0c4e..d4f9d6e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_sslgte279.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc index cb398cc7..52df0a98 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tblib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_threading.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_threading.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_threading.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_threading.cpython-39.pyc index d669fc65..309b2769 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_threading.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_threading.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc index 6c632374..4373a20c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_tracer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util.cpython-39.pyc index a01e1193..45163d7e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc index f022ba66..c3b4879f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_util_py2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc index dec0247e..730220b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/_waiter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ares.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ares.cpython-39.pyc new file mode 100644 index 00000000..be847d5e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ares.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc index 60551ee7..a85990bf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/backdoor.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc index 93ecba43..9ae4a213 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/baseserver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/builtins.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/builtins.cpython-39.pyc index 0bd99a0d..5d80d789 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc index 5e24f429..472422fb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/contextvars.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/core.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/core.cpython-39.pyc index 7f45a5cb..6c6aa454 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/event.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/event.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/event.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/event.cpython-39.pyc index 0f7fda6a..de23539e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/event.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/event.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/events.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/events.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/events.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/events.cpython-39.pyc index a931ebc5..da8edb63 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/events.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/events.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc index d434c8ca..2b5570c8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc index c1a3030d..d68b32a2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/fileobject.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc index fcc7c26c..d132c505 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/greenlet.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/hub.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/hub.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/hub.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/hub.cpython-39.pyc index 342e9f26..08ea5f82 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/hub.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/hub.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/local.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/local.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/local.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/local.cpython-39.pyc index b4948090..7252a9e7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/local.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/local.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/lock.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/lock.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/lock.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/lock.cpython-39.pyc index 5e7fe960..8e888fc8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/lock.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/lock.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/monkey.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/monkey.cpython-39.pyc index 8d97fff8..83990569 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/os.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/os.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/os.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/os.cpython-39.pyc index 5759a12c..e1bedeb8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/os.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/os.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pool.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pool.cpython-39.pyc index 90e2ac26..668f0407 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc index b0aa6b6c..4037ad1f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/pywsgi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/queue.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/queue.cpython-39.pyc index c6f6bd7a..5eed5dc9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc index 1864d8f3..f996ce5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_ares.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc index 96e787a6..926febbe 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/resolver_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/select.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/select.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/select.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/select.cpython-39.pyc index 383deadd..4c8a3099 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/select.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/select.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/selectors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/selectors.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/selectors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/selectors.cpython-39.pyc index 956961e4..08b80c5e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/selectors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/selectors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/server.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/server.cpython-39.pyc index fd3cd1c3..29c619ac 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/signal.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/signal.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/signal.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/signal.cpython-39.pyc index 05396ffc..413b1863 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/signal.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/signal.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/socket.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/socket.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/socket.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/socket.cpython-39.pyc index 52817fb7..a16771d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/socket.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/socket.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ssl.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ssl.cpython-39.pyc index cfe3cced..6dc8afec 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/ssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/ssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc index c408ceea..19837222 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/subprocess.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/thread.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/thread.cpython-39.pyc index 077beb0e..9f4d2e9e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threading.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threading.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threading.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threading.cpython-39.pyc index 061c7c2f..df2c1a82 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threading.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threading.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc index 9818f7ab..ff1aacd9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/threadpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/time.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/time.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/time.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/time.cpython-39.pyc index 2c3853cd..11eba218 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/time.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/time.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/timeout.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/timeout.cpython-39.pyc index 23b50a51..6cd3e6dd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/util.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/util.cpython-39.pyc index ad866085..af717add 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/win32util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/win32util.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/win32util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/win32util.cpython-39.pyc index 6e7d72e9..cbe3be8f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/__pycache__/win32util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/__pycache__/win32util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_abstract_linkable.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_abstract_linkable.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_abstract_linkable.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_abstract_linkable.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_config.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_config.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_config.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_config.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc similarity index 51% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc index dcdca1a3..cc0cc60c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc index 0584a488..af6f2aae 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/callback.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc index 52685b7a..52fe0e76 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/loop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc index 8787af18..62743f64 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/__pycache__/watcher.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/callback.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/callback.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/callback.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/callback.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/loop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/loop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/loop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/loop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/watcher.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/watcher.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ffi/watcher.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ffi/watcher.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_fileobjectcommon.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_fileobjectcommon.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_fileobjectcommon.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_fileobjectcommon.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_fileobjectposix.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_fileobjectposix.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_fileobjectposix.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_fileobjectposix.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_abstract_linkable.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_abstract_linkable.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..82f1cbdd Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_abstract_linkable.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_greenlet_primitives.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_greenlet_primitives.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..a0e8b0f3 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_greenlet_primitives.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_local.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_local.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..b191d970 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_local.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_primitives.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_primitives.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..c2ca73f3 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_hub_primitives.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_ident.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_ident.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..a6c8176e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_ident.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_imap.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_imap.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..7b4ec4fa Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_imap.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_semaphore.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_semaphore.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..e06a957f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_semaphore.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_tracer.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_tracer.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..c9b5c822 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_tracer.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_waiter.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_waiter.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..61a00e75 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_c_waiter.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cevent.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cevent.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..312e28ab Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cevent.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cgreenlet.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cgreenlet.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..3d383193 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cgreenlet.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_clocal.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_clocal.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..7fc149c0 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_clocal.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cqueue.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cqueue.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..4a7c31ac Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_gevent_cqueue.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_greenlet_primitives.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_greenlet_primitives.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_greenlet_primitives.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_greenlet_primitives.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_hub_local.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_hub_local.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_hub_local.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_hub_local.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_hub_primitives.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_hub_primitives.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_hub_primitives.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_hub_primitives.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ident.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ident.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ident.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ident.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_imap.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_imap.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_imap.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_imap.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_interfaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_interfaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_interfaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_interfaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_monitor.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_monitor.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_monitor.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_monitor.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_patcher.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_patcher.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_patcher.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_patcher.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_semaphore.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_semaphore.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_semaphore.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_semaphore.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_socket2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socket2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_socket2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socket2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_socket3.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socket3.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_socket3.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socket3.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_socketcommon.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socketcommon.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_socketcommon.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_socketcommon.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ssl2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ssl2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ssl2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ssl2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_ssl3.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ssl3.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_ssl3.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_ssl3.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_sslgte279.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_sslgte279.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_sslgte279.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_sslgte279.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_tblib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_tblib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_tblib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_tblib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_threading.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_threading.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_threading.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_threading.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_tracer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_tracer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_tracer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_tracer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_util_py2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_util_py2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_util_py2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_util_py2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/_waiter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_waiter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/_waiter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/_waiter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/ares.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/ares.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/ares.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/ares.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/backdoor.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/backdoor.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/backdoor.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/backdoor.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/baseserver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/baseserver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/baseserver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/baseserver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/contextvars.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/contextvars.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/contextvars.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/contextvars.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/event.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/event.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/event.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/event.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/events.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/events.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/events.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/events.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/fileobject.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/fileobject.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/fileobject.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/fileobject.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/greenlet.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/greenlet.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/greenlet.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/greenlet.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/hub.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/hub.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/hub.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/hub.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3928d64b Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc index 33606988..eac37053 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/_corecffi_build.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc index 97e3688e..59369de8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/corecffi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc index a1f8d731..13acda05 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/__pycache__/watcher.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/_corecffi.abi3.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/_corecffi.abi3.so new file mode 100644 index 00000000..2ec9b4dd Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/_corecffi.abi3.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/_corecffi_build.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/_corecffi_build.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/_corecffi_build.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/_corecffi_build.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/corecext.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/corecext.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..797d0fb9 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/corecext.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/corecffi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/corecffi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/corecffi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/corecffi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libev/watcher.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/watcher.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libev/watcher.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libev/watcher.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..c585970e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc index 25581da1..ed8ba52d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/_corecffi_build.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc index 6070c682..b0dac114 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/loop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc index deabbb19..db85d36e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/__pycache__/watcher.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/_corecffi.abi3.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/_corecffi.abi3.so new file mode 100644 index 00000000..3fc93da5 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/_corecffi.abi3.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/_corecffi_build.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/_corecffi_build.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/_corecffi_build.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/_corecffi_build.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/loop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/loop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/loop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/loop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/watcher.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/watcher.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/libuv/watcher.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/libuv/watcher.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/local.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/local.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/local.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/local.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/lock.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/lock.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/lock.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/lock.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/os.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/os.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/os.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/os.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/pool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/pool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/pool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/pool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/pywsgi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/pywsgi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/pywsgi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/pywsgi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc index 0b810b41..ec0e1aba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc index 2a3a1ea4..9c51ae64 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_addresses.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc index c75ec90d..5161ce13 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/_hostsfile.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc index eb2cd125..36a084fc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/ares.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc index 758a419e..0ec567e0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/blocking.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc index 060c49fc..3ea248cb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/dnspython.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc index 6ebb7452..07014a4c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/__pycache__/thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/_addresses.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/_addresses.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/_addresses.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/_addresses.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/_hostsfile.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/_hostsfile.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/_hostsfile.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/_hostsfile.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/ares.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/ares.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/ares.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/ares.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/blocking.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/blocking.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/blocking.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/blocking.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/cares.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/cares.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..13c4a94d Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/cares.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/dnspython.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/dnspython.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/dnspython.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/dnspython.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver/thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver/thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver_ares.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver_ares.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver_ares.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver_ares.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/resolver_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/resolver_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/resolver_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/select.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/select.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/select.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/select.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/selectors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/selectors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/selectors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/selectors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/signal.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/signal.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/signal.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/signal.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/socket.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/socket.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/socket.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/socket.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/ssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/ssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/ssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/ssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/subprocess.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/subprocess.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/subprocess.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/subprocess.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc index b4e54e80..230c8a48 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc index b02e7344..d993d6e4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/errorhandler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc similarity index 60% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc index 3a5604a5..f4ab1938 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/exception.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc index 94309e65..8cc16935 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/flaky.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc index 2284607d..611c99af 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/hub.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc index b13c1077..9d884662 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/leakcheck.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc index d6d2bcb9..dd8f54a6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/modules.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc index 9eb898cf..1d706980 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/monkey_test.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc index 8515319c..bb99d08d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/openfiles.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc index c5e2d693..eac2c911 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/params.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc index b824bbe7..4cd1ceba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/patched_tests_setup.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc index f3e3e032..29c48101 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/resources.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc index 59e89bc8..aa111116 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/six.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc index 7ba0810d..73e76fe8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/skipping.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc index 9319b9cb..9e7825fd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sockets.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc index 407c8e6b..cf6c5542 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/support.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc index c8a98a88..4c8d69d4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/switching.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc index b2fd681d..ac32fbdf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/sysinfo.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc index be00d6cb..3ad07bca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testcase.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc index 079bf567..c042bca7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/testrunner.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc index c289a187..b95032df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/timing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc index 6436a6de..7a81490b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/travis.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc index 159c4042..90031e42 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/__pycache__/util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc new file mode 100644 index 00000000..e91efb6c Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/coveragesite/__pycache__/sitecustomize.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/coveragesite/sitecustomize.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/coveragesite/sitecustomize.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/coveragesite/sitecustomize.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/coveragesite/sitecustomize.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/errorhandler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/errorhandler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/errorhandler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/errorhandler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/exception.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/exception.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/exception.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/exception.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/flaky.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/flaky.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/flaky.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/flaky.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/hub.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/hub.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/hub.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/hub.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/leakcheck.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/leakcheck.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/leakcheck.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/leakcheck.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/modules.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/modules.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/modules.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/modules.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/monkey_test.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/monkey_test.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/monkey_test.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/monkey_test.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/openfiles.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/openfiles.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/openfiles.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/openfiles.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/params.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/params.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/params.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/params.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/patched_tests_setup.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/patched_tests_setup.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/patched_tests_setup.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/patched_tests_setup.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/resources.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/resources.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/resources.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/resources.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/six.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/six.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/six.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/six.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/skipping.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/skipping.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/skipping.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/skipping.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/sockets.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/sockets.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/sockets.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/sockets.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/support.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/support.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/support.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/support.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/switching.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/switching.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/switching.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/switching.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/sysinfo.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/sysinfo.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/sysinfo.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/sysinfo.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/testcase.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/testcase.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/testcase.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/testcase.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/testrunner.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/testrunner.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/testrunner.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/testrunner.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/timing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/timing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/timing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/timing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/travis.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/travis.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/travis.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/travis.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/testing/util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/testing/util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/testing/util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/2_7_keycert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/2_7_keycert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/2_7_keycert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/2_7_keycert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__main__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..747fd1a0 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..2c0e4e6e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc new file mode 100644 index 00000000..5c0c4d61 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_blocks_at_top_level.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc new file mode 100644 index 00000000..d5167e50 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_import_patch.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc new file mode 100644 index 00000000..bd82e225 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_patch.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc new file mode 100644 index 00000000..cf1d6b79 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_import_wait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc new file mode 100644 index 00000000..757824df Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_at_top_level.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc new file mode 100644 index 00000000..12674f5e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/_imports_imports_at_top_level.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc new file mode 100644 index 00000000..d4d63285 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/getaddrinfo_module.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc index d970de34..4387695f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/known_failures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc index e19445e5..b2551525 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/lock_tests.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc new file mode 100644 index 00000000..ec70daa9 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__GreenletExit.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc index f6425452..12c4e845 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___config.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc index 7fd359ce..0169ad94 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___ident.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc index 7d7ed9d4..6fdd4159 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monitor.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc index a3869aea..1a4f8ad2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test___monkey_patching.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc index 5ed357dd..a7d1a3cc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__all__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc index eb4f9ab8..2f31e9ea 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc index 871dff21..e62f49ff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__api_timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc index 9069aed6..9396c580 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_host_result.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc new file mode 100644 index 00000000..e1a7a7d8 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ares_timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc index fe72d148..ddbd96ff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__backdoor.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc similarity index 51% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc index eda15ca9..0132d3a6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__close_backend_fd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc index b7f6c9d6..e3a04b32 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc index 9054f49d..7679daee 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__contextvars.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc index 9364331e..c4596ab1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc index 46a5cd90..68c25413 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_async.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc index 0a8e2f3e..5b9270cf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_callback.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc index a3a1dafa..c042af47 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_fork.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc index e2145b49..e3976a62 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_loop_run.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc index 1b452e11..62d40523 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_stat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc index fba0253b..df7ea916 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_timer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc index a7bf085b..30ed5b45 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__core_watcher.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc index dbee73c3..6eb833f4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc similarity index 68% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc index 76352018..4a1a9646 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__destroy_default_loop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc index 448b1452..98b24612 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__doctests.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc index db425f8f..302cec50 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__environ.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc index 8fa973dc..e0e7f9e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__event.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc index 618cc9e2..a696f874 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__events.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc index 71e53e85..d9ad4f04 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_echoserver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc index 6acd3c2e..e1625d31 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_portforwarder.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc index 969b7222..96d68ea0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_client.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc index 72f433c1..151480c6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_udp_server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc index 62695e0e..f7f8a6a4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_webproxy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc index c1c62a1c..2500ce6c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc index 26117580..3f4af83a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__example_wsgiserver_ssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc index 89eb7f1a..9f272212 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__examples.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc index 3c8fa651..5482c3f2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__exc_info.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc index eeb1e886..f65cfabf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__execmodules.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc index 601ec768..8756e3c5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__fileobject.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc new file mode 100644 index 00000000..bc093f5d Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__getaddrinfo_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc index 362f6d93..0f43674c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenio.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc index c6b5f2f5..721245c1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenlet.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc index 8a94fbdf..d2dace08 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenletset.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc index 81a76dae..1a0d714a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__greenness.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc index d3c2f467..cad5ed2b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc index d39f3cb6..7c0a8237 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc index d73368c0..0edca423 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__hub_join_timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc index 3952ba24..285c339b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_blocking_in_greenlet.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc new file mode 100644 index 00000000..2e55c8a6 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__import_wait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc similarity index 66% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc index 9127508f..75c81afd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue112.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc index aa7c4418..4eb58cf8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue1686.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc new file mode 100644 index 00000000..e677040b Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue230.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc index 53c752ec..30ae6148 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue330.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc index 330699f4..d6320319 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue467.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc index 98b2af32..f9f0a42b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue6.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc index 8b08c8c2..5c1b4d7e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue600.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc index 76314940..1a1a501b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue607.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc similarity index 60% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc index 5acb667c..f78843ce 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue639.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc new file mode 100644 index 00000000..69bd6055 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issue_728.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc index a0a52564..4c8d8961 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__issues461_471.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc index 42857798..4b5e0047 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__iwait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc index ba9455e2..bc99d523 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__joinall.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc index cf17f893..8210a6f5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__local.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc index 5028e612..ac606792 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__lock.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc index 32f1bb6f..8540435c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__loop_callback.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc index 6bb6f196..9be72d20 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__makefile_ref.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc index 9d73c736..c050b0af 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__memleak.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc index 7bc24010..798d8826 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc index 81d975f7..2f85cde9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_builtins_future.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc index 761ef913..f03a3d87 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_futures_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc new file mode 100644 index 00000000..9ec29658 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_hub_in_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc index 3cf54bec..66b4ef4d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_logging.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc index 754b7335..ad1c18ff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_module_run.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc new file mode 100644 index 00000000..e3cb9215 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_multiple_imports.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc index 8f3c6ba3..81b2e47d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc index 9d4c7c81..ad0a4aba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_select.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc index 798375b2..31510032 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_selectors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc index b138ffcd..cc001e2a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc new file mode 100644 index 00000000..780e294f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc index 3e0e3de0..20c17557 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_sigchld_3.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc index 97b0a6b0..f7cddab1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc index 49dad264..74b7ced1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc index e04f1d82..7bab5ed8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__monkey_ssl_warning3.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc new file mode 100644 index 00000000..0f3f0734 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__nondefaultloop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc index 08aca5ce..d42e4bcf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__order.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc index 15d4f0cd..afa44e7a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__os.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc index 7fb1b919..74ac4e54 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc index 36183538..61da5f9c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__pywsgi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc index f8fe7cad..cc163c6e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc index 97e06f32..43e31d1c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__real_greenlet.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc index 88d1c25d..1eed277c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc index 186df1d1..d52d8ba7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__refcount_core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc index 8c223b0d..ff9b03ad 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__resolver_dnspython.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc index 03de066b..209eb369 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__select.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc index 9d682c3f..1a9d96b9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__selectors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc index d06c6583..482c8880 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__semaphore.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc index 5bdb1e9f..14afa20b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc index 86d9fe35..d67f068d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__server_pywsgi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc index a0c55822..5502f417 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__signal.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc new file mode 100644 index 00000000..16029d0b Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__sleep0.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc index 450787f2..c5d9c152 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc index 29143701..8a2b8b9f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_close.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc index 9b58c3e6..812f3e79 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc index b6a5339b..e584659c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_dns6.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc index 175139b2..7c9f5194 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_errors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc index 9c7b22ba..08499555 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ex.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc index 268e24a3..3ef78d85 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_send_memoryview.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc index d5847c96..872ea56d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_ssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc index 2f173518..424dd372 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socket_timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc index e286f5cd..333aeea1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__socketpair.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc index 01c4caf6..8772ef2d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__ssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc index 1e915e9a..98bbe9bd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc index 3fece3c0..2403c2c2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_interrupted.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc new file mode 100644 index 00000000..61c67cbf Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__subprocess_poll.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc index 6e0d4403..62a38d0c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__systemerror.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc index 728c78d2..5878cd29 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc index d0686e19..ad869e8e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc index 38ef82a7..d3b0ed17 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc index 03d0ae28..d3452a5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_before_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc new file mode 100644 index 00000000..3d56ab8a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_holding_lock_while_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc index 378a47a0..c1a045f0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_monkey_in_thread.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc index 67a701ca..3c14da49 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_native_before_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc index 6f21769a..baa7652c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_no_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc index 721fceb0..329370b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_patched_local.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc index 4304c188..c0bae0e7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threading_vs_settrace.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc index 964d409e..792e7473 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc index dab20b52..4e44d0f4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__threadpool_executor_patched.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc index db0922f0..f599bfb3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc index bece02a4..8f00c84f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/__pycache__/test__util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_blocks_at_top_level.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_blocks_at_top_level.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_blocks_at_top_level.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_blocks_at_top_level.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_import_patch.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_import_patch.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_import_patch.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_import_patch.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_patch.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_patch.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_patch.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_patch.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_wait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_wait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_import_wait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_import_wait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_imports_at_top_level.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_imports_at_top_level.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_imports_at_top_level.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_imports_at_top_level.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_imports_imports_at_top_level.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_imports_imports_at_top_level.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/_imports_imports_at_top_level.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/_imports_imports_at_top_level.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/badcert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/badcert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/badcert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/badcert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/badkey.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/badkey.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/badkey.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/badkey.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/getaddrinfo_module.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/getaddrinfo_module.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/getaddrinfo_module.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/getaddrinfo_module.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/hosts_file.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/hosts_file.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/hosts_file.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/hosts_file.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/https_svn_python_org_root.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/https_svn_python_org_root.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/https_svn_python_org_root.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/https_svn_python_org_root.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/keycert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/keycert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/keycert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/keycert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/known_failures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/known_failures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/known_failures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/known_failures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/lock_tests.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/lock_tests.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/lock_tests.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/lock_tests.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__main__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc index 08b4768e..951905d1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..38d5f1e8 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc similarity index 59% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc index 362e92f1..de42735d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_no_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc index b24b8a07..bdf5fbf3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue1526_with_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc index 9bb90413..f20a24f7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/issue302monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc index 3b3fe955..dad93f53 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/script.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc index e95040a2..38f70318 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_monkey_patches.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc index 4fb5eccb..7efeb31a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/__pycache__/threadpool_no_monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue1526_no_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue1526_no_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue1526_no_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue1526_no_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue1526_with_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue1526_with_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue1526_with_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue1526_with_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue302monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue302monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/issue302monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/issue302monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/script.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/script.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/script.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/script.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/threadpool_monkey_patches.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/threadpool_monkey_patches.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/threadpool_monkey_patches.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/threadpool_monkey_patches.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/threadpool_no_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/threadpool_no_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/monkey_package/threadpool_no_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/monkey_package/threadpool_no_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/nullcert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/nullcert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/nullcert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/nullcert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/server.crt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/server.crt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/server.crt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/server.crt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/server.key b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/server.key similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/server.key rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/server.key diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/sha256.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/sha256.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/sha256.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/sha256.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__GreenletExit.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__GreenletExit.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__GreenletExit.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__GreenletExit.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___config.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___config.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___config.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___config.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___ident.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___ident.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___ident.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___ident.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___monitor.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___monitor.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___monitor.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___monitor.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___monkey_patching.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___monkey_patching.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test___monkey_patching.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test___monkey_patching.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__all__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__all__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__all__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__all__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__api.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__api.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__api.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__api.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__api_timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__api_timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__api_timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__api_timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ares_host_result.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ares_host_result.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ares_host_result.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ares_host_result.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ares_timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ares_timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ares_timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ares_timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__backdoor.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__backdoor.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__backdoor.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__backdoor.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__close_backend_fd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__close_backend_fd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__close_backend_fd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__close_backend_fd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__contextvars.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__contextvars.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__contextvars.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__contextvars.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_async.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_async.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_async.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_async.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_callback.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_callback.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_callback.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_callback.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_fork.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_fork.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_fork.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_fork.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_loop_run.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_loop_run.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_loop_run.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_loop_run.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_stat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_stat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_stat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_stat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_timer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_timer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_timer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_timer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_watcher.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_watcher.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__core_watcher.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__core_watcher.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__destroy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__destroy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__destroy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__destroy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__destroy_default_loop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__destroy_default_loop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__destroy_default_loop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__destroy_default_loop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__doctests.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__doctests.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__doctests.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__doctests.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__environ.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__environ.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__environ.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__environ.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__event.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__event.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__event.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__event.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__events.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__events.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__events.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__events.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_echoserver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_echoserver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_echoserver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_echoserver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_portforwarder.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_portforwarder.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_portforwarder.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_portforwarder.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_udp_client.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_udp_client.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_udp_client.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_udp_client.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_udp_server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_udp_server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_udp_server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_udp_server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_webproxy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_webproxy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_webproxy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_webproxy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_wsgiserver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_wsgiserver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_wsgiserver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_wsgiserver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_wsgiserver_ssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_wsgiserver_ssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__example_wsgiserver_ssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__example_wsgiserver_ssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__examples.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__examples.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__examples.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__examples.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__exc_info.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__exc_info.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__exc_info.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__exc_info.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__execmodules.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__execmodules.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__execmodules.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__execmodules.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__fileobject.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__fileobject.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__fileobject.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__fileobject.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__getaddrinfo_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__getaddrinfo_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__getaddrinfo_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__getaddrinfo_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenio.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenio.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenio.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenio.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenlet.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenlet.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenlet.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenlet.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenletset.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenletset.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenletset.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenletset.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenness.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenness.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__greenness.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__greenness.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub_join.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub_join.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub_join.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub_join.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub_join_timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub_join_timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__hub_join_timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__hub_join_timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__import_blocking_in_greenlet.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__import_blocking_in_greenlet.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__import_blocking_in_greenlet.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__import_blocking_in_greenlet.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__import_wait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__import_wait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__import_wait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__import_wait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue112.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue112.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue112.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue112.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue1686.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue1686.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue1686.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue1686.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue230.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue230.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue230.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue230.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue330.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue330.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue330.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue330.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue467.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue467.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue467.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue467.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue6.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue6.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue6.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue6.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue600.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue600.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue600.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue600.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue607.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue607.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue607.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue607.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue639.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue639.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue639.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue639.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue_728.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue_728.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issue_728.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issue_728.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issues461_471.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issues461_471.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__issues461_471.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__issues461_471.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__iwait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__iwait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__iwait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__iwait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__joinall.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__joinall.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__joinall.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__joinall.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__local.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__local.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__local.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__local.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__lock.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__lock.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__lock.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__lock.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__loop_callback.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__loop_callback.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__loop_callback.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__loop_callback.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__makefile_ref.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__makefile_ref.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__makefile_ref.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__makefile_ref.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__memleak.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__memleak.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__memleak.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__memleak.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_builtins_future.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_builtins_future.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_builtins_future.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_builtins_future.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_futures_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_futures_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_futures_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_futures_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_hub_in_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_hub_in_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_hub_in_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_hub_in_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_logging.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_logging.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_logging.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_logging.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_module_run.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_module_run.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_module_run.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_module_run.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_multiple_imports.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_multiple_imports.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_multiple_imports.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_multiple_imports.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_select.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_select.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_select.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_select.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_selectors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_selectors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_selectors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_selectors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld_2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld_2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld_2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld_2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld_3.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld_3.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_sigchld_3.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_sigchld_3.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning3.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning3.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__monkey_ssl_warning3.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__monkey_ssl_warning3.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__nondefaultloop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__nondefaultloop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__nondefaultloop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__nondefaultloop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__order.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__order.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__order.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__order.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__os.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__os.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__os.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__os.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__pool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__pool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__pool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__pool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__pywsgi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__pywsgi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__pywsgi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__pywsgi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__real_greenlet.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__real_greenlet.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__real_greenlet.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__real_greenlet.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__refcount.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__refcount.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__refcount.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__refcount.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__refcount_core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__refcount_core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__refcount_core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__refcount_core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__resolver_dnspython.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__resolver_dnspython.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__resolver_dnspython.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__resolver_dnspython.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__select.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__select.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__select.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__select.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__selectors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__selectors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__selectors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__selectors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__semaphore.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__semaphore.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__semaphore.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__semaphore.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__server_pywsgi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__server_pywsgi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__server_pywsgi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__server_pywsgi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__signal.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__signal.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__signal.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__signal.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__sleep0.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__sleep0.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__sleep0.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__sleep0.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_close.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_close.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_close.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_close.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_dns.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_dns.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_dns.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_dns.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_dns6.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_dns6.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_dns6.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_dns6.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_errors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_errors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_errors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_errors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_ex.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_ex.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_ex.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_ex.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_send_memoryview.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_send_memoryview.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_send_memoryview.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_send_memoryview.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_ssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_ssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_ssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_ssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socket_timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socket_timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socketpair.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socketpair.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__socketpair.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__socketpair.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__ssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__ssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess_interrupted.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess_interrupted.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess_interrupted.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess_interrupted.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess_poll.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess_poll.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__subprocess_poll.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__subprocess_poll.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__systemerror.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__systemerror.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__systemerror.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__systemerror.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_before_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_before_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_before_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_before_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_holding_lock_while_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_holding_lock_while_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_holding_lock_while_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_holding_lock_while_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_monkey_in_thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_monkey_in_thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_monkey_in_thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_monkey_in_thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_native_before_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_native_before_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_native_before_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_native_before_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_no_monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_no_monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_no_monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_no_monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_patched_local.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_patched_local.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_patched_local.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_patched_local.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_vs_settrace.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_vs_settrace.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threading_vs_settrace.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threading_vs_settrace.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threadpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threadpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threadpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threadpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threadpool_executor_patched.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threadpool_executor_patched.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__threadpool_executor_patched.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__threadpool_executor_patched.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test__util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test__util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test_server.crt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test_server.crt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test_server.crt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test_server.crt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test_server.key b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test_server.key similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/test_server.key rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/test_server.key diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_do_leakchecks.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_do_leakchecks.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_do_leakchecks.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_do_leakchecks.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_monkeypatch.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_monkeypatch.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_monkeypatch.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_monkeypatch.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_use_resolver.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_use_resolver.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/tests_that_dont_use_resolver.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/tests_that_dont_use_resolver.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/tests/wrongcert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/wrongcert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/tests/wrongcert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/tests/wrongcert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/thread.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/thread.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/thread.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/thread.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/threading.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/threading.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/threading.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/threading.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/threadpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/threadpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/threadpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/threadpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/time.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/time.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/time.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/time.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent/win32util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/win32util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent/win32util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent/win32util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/DESCRIPTION.rst b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/DESCRIPTION.rst similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/DESCRIPTION.rst rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/DESCRIPTION.rst diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/metadata.json b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/metadata.json similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/metadata.json rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/metadata.json diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/gevent_websocket-0.10.1.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc index c566444c..93e88dd2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc index f520a707..b95b0bfc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/_compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc index 7cd4d1d2..54c3f975 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc index c28c2edd..3b88ab9b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/handler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc index 24f22706..a34327b4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/logging.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc index 937af1f4..8d754ad4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/resource.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc index 4bdc7f74..523ef47a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/server.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc index 4b974706..84c50c72 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utf8validator.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc index 5e24977f..c5744530 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc index 7ce62e6c..36dbf25e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/__pycache__/websocket.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/_compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/_compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/_compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/_compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..611376d9 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc new file mode 100644 index 00000000..1d8d1b06 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/__pycache__/workers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/workers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/workers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/gunicorn/workers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/gunicorn/workers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/handler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/handler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/handler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/handler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/logging.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/logging.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/logging.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/logging.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..f556e9e7 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc index cc6f141d..2a42185a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc index 1dedf3ad..3b0ee92b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/__pycache__/wamp.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/wamp.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/wamp.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/protocols/wamp.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/protocols/wamp.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/resource.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/resource.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/resource.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/resource.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/server.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/server.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/server.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/server.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/utf8validator.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/utf8validator.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/utf8validator.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/utf8validator.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/websocket.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/websocket.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/geventwebsocket/websocket.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/geventwebsocket/websocket.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/AUTHORS b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/AUTHORS similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/AUTHORS rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/AUTHORS diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/gevent_websocket-0.10.1.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/LICENSE.PSF b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/LICENSE.PSF similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/LICENSE.PSF rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/LICENSE.PSF diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/RECORD similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/RECORD index 81e7a720..5aa89326 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/RECORD @@ -1,15 +1,15 @@ -../../include/site/python3.9/greenlet/greenlet.h,sha256=63uaNbRd8ebE-dysD_SY2GwqbdRam2qSeSPfnaUNn6E,4245 +../../../include/site/python3.9/greenlet/greenlet.h,sha256=63uaNbRd8ebE-dysD_SY2GwqbdRam2qSeSPfnaUNn6E,4245 greenlet-1.1.1.dist-info/AUTHORS,sha256=swW28t2knVRxRkaEQNZtO7MP9Sgnompb7B6cNgJM8Gk,849 greenlet-1.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 greenlet-1.1.1.dist-info/LICENSE,sha256=dpgx1uXfrywggC-sz_H6-0wgJd2PYlPfpH_K1Z1NCXk,1434 greenlet-1.1.1.dist-info/LICENSE.PSF,sha256=5f88I8EQ5JTNfXNsEP2W1GJFe6_soxCEDbZScpjH1Gs,2424 greenlet-1.1.1.dist-info/METADATA,sha256=Up1Ef9PXfrEcg9b4G51ta6OvVL6qeOxmIY8zYMUxuqM,3643 greenlet-1.1.1.dist-info/RECORD,, -greenlet-1.1.1.dist-info/WHEEL,sha256=jr7ubY0Lkz_yXH9FfFe9PTtLhGOsf62dZkNvTYrJINE,100 +greenlet-1.1.1.dist-info/WHEEL,sha256=a60ds3Ma82hx_sQpOqkP7xcMHCqlDvAwFM7jtmOVcmY,148 greenlet-1.1.1.dist-info/top_level.txt,sha256=YSnRsCRoO61JGlP57o8iKL6rdLWDWuiyKD8ekpWUsDc,9 greenlet/__init__.py,sha256=BTT9mY3LoEtIeIHADAx6KPRnIMqvJzUQ0ORAX96-pZQ,1270 greenlet/__pycache__/__init__.cpython-39.pyc,, -greenlet/_greenlet.cp39-win_amd64.pyd,sha256=GWjVj4qbzTJDYr9jdGaal7DTb2YldpoUVlP88pQG5P8,30720 +greenlet/_greenlet.cpython-39-x86_64-linux-gnu.so,sha256=3PEMtOQNljL9H8uKwCGVFgNTcuPD4Jds7AAUqfVJfvA,129960 greenlet/greenlet.c,sha256=Iin6baBr-fSsNAn_m5gREVisEIkAgbg9iG2q0n-ffsc,59657 greenlet/greenlet.h,sha256=63uaNbRd8ebE-dysD_SY2GwqbdRam2qSeSPfnaUNn6E,4245 greenlet/platform/setup_switch_x64_masm.cmd,sha256=ZpClUJeU0ujEPSTWNSepP0W2f9XiYQKA8QKSoVou8EU,143 @@ -53,9 +53,9 @@ greenlet/tests/__pycache__/test_tracing.cpython-39.pyc,, greenlet/tests/__pycache__/test_version.cpython-39.pyc,, greenlet/tests/__pycache__/test_weakref.cpython-39.pyc,, greenlet/tests/_test_extension.c,sha256=Tceb6kMFPSvAPW2LJ_zUlj--Wz_DtLzIPmgZcqkqAEU,5402 -greenlet/tests/_test_extension.cp39-win_amd64.pyd,sha256=WRnKg4ch9jIFN0zqe9v0vYp61LHthui4ik9g48CMKMc,13824 -greenlet/tests/_test_extension_cpp.cp39-win_amd64.pyd,sha256=e8xCj9U_GM_EPu3dQZx-NnigH6dguC7HFl39YJJWL8E,12800 +greenlet/tests/_test_extension.cpython-39-x86_64-linux-gnu.so,sha256=C7oOA8Hs7M5F4LvSC2QHwh8hSfp-_fOTMDu_NIJJHb0,34632 greenlet/tests/_test_extension_cpp.cpp,sha256=zKfz0FxBXicq-53rItZ_NP8M406OBtyQFdH5bv_pRmk,3212 +greenlet/tests/_test_extension_cpp.cpython-39-x86_64-linux-gnu.so,sha256=e7E2BF7VV_-rRWNPkGUOP6Vok7mKx9GWZz_yKTCkGMk,47368 greenlet/tests/test_contextvars.py,sha256=d69XSuRrdU80xAPmzdObLjrjXnbTQChG0MgsvBF_nGM,9205 greenlet/tests/test_cpp.py,sha256=SXMuqsHTYTxFPBrasdbx5Sgplc89wvYEuPZvwafD-3k,488 greenlet/tests/test_extension_interface.py,sha256=1FhUkxL-NrxmQV_sxUdlt8tvIWpDcGi27JcdQ6VyvFc,2521 diff --git a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/WHEEL similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/WHEEL index d1267fcc..de868223 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/gevent-21.8.0.dist-info/WHEEL +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/WHEEL @@ -1,5 +1,6 @@ Wheel-Version: 1.0 Generator: bdist_wheel (0.36.2) Root-Is-Purelib: false -Tag: cp39-cp39-win_amd64 +Tag: cp39-cp39-manylinux_2_17_x86_64 +Tag: cp39-cp39-manylinux2014_x86_64 diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet-1.1.1.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc similarity index 66% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc index 9907d1bf..d4fc0684 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..230e2f1a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/greenlet.c b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/greenlet.c similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/greenlet.c rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/greenlet.c diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/greenlet.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/greenlet.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/greenlet.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/greenlet.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/setup_switch_x64_masm.cmd b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/setup_switch_x64_masm.cmd similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/setup_switch_x64_masm.cmd rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/setup_switch_x64_masm.cmd diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_aarch64_gcc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_aarch64_gcc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_aarch64_gcc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_aarch64_gcc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_alpha_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_alpha_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_alpha_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_alpha_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_amd64_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_amd64_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_amd64_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_amd64_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_arm32_gcc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_arm32_gcc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_arm32_gcc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_arm32_gcc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_arm32_ios.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_arm32_ios.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_arm32_ios.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_arm32_ios.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_csky_gcc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_csky_gcc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_csky_gcc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_csky_gcc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_m68k_gcc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_m68k_gcc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_m68k_gcc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_m68k_gcc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_mips_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_mips_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_mips_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_mips_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc64_aix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc64_aix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc64_aix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc64_aix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc64_linux.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc64_linux.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc64_linux.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc64_linux.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_aix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_aix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_aix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_aix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_linux.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_linux.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_linux.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_linux.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_macosx.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_macosx.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_macosx.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_macosx.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_ppc_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_ppc_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_riscv_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_riscv_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_riscv_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_riscv_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_s390_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_s390_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_s390_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_s390_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_sparc_sun_gcc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_sparc_sun_gcc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_sparc_sun_gcc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_sparc_sun_gcc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x32_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x32_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x32_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x32_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_masm.asm b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_masm.asm similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_masm.asm rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_masm.asm diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_masm.obj b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_masm.obj similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_masm.obj rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_masm.obj diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_msvc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_msvc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x64_msvc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x64_msvc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x86_msvc.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x86_msvc.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x86_msvc.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x86_msvc.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x86_unix.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x86_unix.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/platform/switch_x86_unix.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/platform/switch_x86_unix.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/slp_platformselect.h b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/slp_platformselect.h similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/slp_platformselect.h rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/slp_platformselect.h diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..e6fef27a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc index cccbaf38..5ffb0a99 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc index 10a5157a..c5f5a220 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc index 17ad6f2b..f6096e10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc index 935ec142..2fb09550 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_gc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc index b301f12d..8294339e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc index 1a03ceed..cba98af1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc index 47c3d673..3505b602 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc index b0af1b4e..120aae7f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc index 132db186..1de76d4a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc index ed2f655c..ae1d8dba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_throw.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc index 1bcd59bd..df6aff2f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc index df7ffc90..146f2f8e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc index 3675fdfb..3d17accf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension.c b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension.c similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension.c rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension.c diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..4243d9f9 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension_cpp.cpp b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension_cpp.cpp similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/_test_extension_cpp.cpp rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension_cpp.cpp diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension_cpp.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension_cpp.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..8b8ce212 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/_test_extension_cpp.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_contextvars.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_contextvars.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_contextvars.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_contextvars.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_cpp.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_cpp.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_cpp.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_cpp.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_extension_interface.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_extension_interface.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_extension_interface.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_extension_interface.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_gc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_gc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_gc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_gc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_generator.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_generator.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_generator.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_generator.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_generator_nested.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_generator_nested.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_generator_nested.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_generator_nested.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_greenlet.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_greenlet.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_greenlet.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_greenlet.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_leaks.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_leaks.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_leaks.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_leaks.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_stack_saved.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_stack_saved.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_stack_saved.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_stack_saved.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_throw.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_throw.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_throw.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_throw.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_tracing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_tracing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_tracing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_tracing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_weakref.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_weakref.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet/tests/test_weakref.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/greenlet/tests/test_weakref.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/greenlet-1.1.1.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/LICENSE.md b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/LICENSE.md similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/LICENSE.md rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/LICENSE.md diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna-3.2.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/__init__.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/__init__.cpython-39.pyc index 810509c6..e9596dbb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/codec.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/codec.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/codec.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/codec.cpython-39.pyc index ad29083c..e5dbcc4c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/codec.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/codec.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/compat.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/compat.cpython-39.pyc index 88d881ad..d9113dc2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/core.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/core.cpython-39.pyc index 69372e06..815d3baa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/idnadata.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/idnadata.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/idnadata.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/idnadata.cpython-39.pyc index f5d39feb..6f1a4115 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/idnadata.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/idnadata.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/intranges.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/intranges.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/intranges.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/intranges.cpython-39.pyc index fa03a6f0..1b90e8fa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/intranges.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/intranges.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/package_data.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/package_data.cpython-39.pyc new file mode 100644 index 00000000..62bb048e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/package_data.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/uts46data.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/uts46data.cpython-39.pyc index 93df27eb..0bcf8788 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/__pycache__/uts46data.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/codec.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/codec.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/codec.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/codec.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/idnadata.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/idnadata.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/idnadata.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/idnadata.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/intranges.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/intranges.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/intranges.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/intranges.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/package_data.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/package_data.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/package_data.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/package_data.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/py.typed b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/py.typed similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/py.typed rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/py.typed diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/uts46data.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/idna/uts46data.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna/uts46data.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/idna/uts46data.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..84061430 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc index 12448e25..ee58b8fc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/fixer_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/main.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/main.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/main.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/main.cpython-39.pyc index 123ea95b..518ade96 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/__pycache__/main.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/__pycache__/main.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixer_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixer_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixer_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixer_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc index 82c41010..1ec050e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc index 165c01c1..9f5e4276 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_UserDict.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc index d1a30a31..63696c93 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_absolute_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc index 40c8c477..048f67d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_add__future__imports_except_unicode_literals.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc index e1583771..9660a1de 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_basestring.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc index 0cd7e1d2..c2d568e2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_bytes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc index 0f794c70..2aff3fd2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_cmp.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc index e58a6dcd..f9d2e431 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc index d3db4577..9b0c7ce2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_division_safe.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc index 108203bf..803a21e2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_execfile.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc index 06b8fd31..6b738864 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc index a4d50884..c7707f0c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc index 2880fe8c..a9a179e1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_future_standard_library_urllib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc index e54b0bea..56ca2dd4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_input.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc index 5425a0d0..09265fd9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_metaclass.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc index 0673027f..ae65281a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_next_call.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc index 47c29096..0bd473a5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_object.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc index 843b2aee..6d85aed8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_oldstr_wrap.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc index ed77c62f..8d204794 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_order___future__imports.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc index 0796a418..e63163a0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc index 082aa415..6f3e51dc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_print_with_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc index 05eec284..ab409492 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_raise.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc index bd9db0d7..e4511abf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_remove_old__future__imports.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc index db5f7c8c..bec20c35 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_keep_u.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc similarity index 68% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc index 8bd89f52..1eb25f68 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_unicode_literals_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc index 3fe908bb..788df6d8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/__pycache__/fix_xrange_with_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_UserDict.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_UserDict.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_UserDict.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_UserDict.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_absolute_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_absolute_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_absolute_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_absolute_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_add__future__imports_except_unicode_literals.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_add__future__imports_except_unicode_literals.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_add__future__imports_except_unicode_literals.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_add__future__imports_except_unicode_literals.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_basestring.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_basestring.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_basestring.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_basestring.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_bytes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_bytes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_bytes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_bytes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_cmp.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_cmp.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_cmp.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_cmp.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_division.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_division.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_division.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_division.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_division_safe.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_division_safe.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_division_safe.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_division_safe.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_execfile.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_execfile.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_execfile.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_execfile.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_standard_library.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_standard_library.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_standard_library.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_standard_library.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_standard_library_urllib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_standard_library_urllib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_future_standard_library_urllib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_future_standard_library_urllib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_input.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_input.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_input.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_input.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_metaclass.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_metaclass.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_metaclass.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_metaclass.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_next_call.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_next_call.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_next_call.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_next_call.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_object.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_object.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_object.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_object.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_oldstr_wrap.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_oldstr_wrap.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_oldstr_wrap.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_oldstr_wrap.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_order___future__imports.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_order___future__imports.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_order___future__imports.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_order___future__imports.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_print.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_print.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_print.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_print.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_print_with_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_print_with_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_print_with_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_print_with_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_raise.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_raise.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_raise.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_raise.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_remove_old__future__imports.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_remove_old__future__imports.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_remove_old__future__imports.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_remove_old__future__imports.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_unicode_keep_u.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_unicode_keep_u.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_unicode_keep_u.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_unicode_keep_u.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_unicode_literals_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_unicode_literals_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_unicode_literals_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_unicode_literals_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_xrange_with_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_xrange_with_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/fixes/fix_xrange_with_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/fixes/fix_xrange_with_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libfuturize/main.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/main.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libfuturize/main.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libfuturize/main.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a020387a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc index a19fc5da..31656bcf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/__pycache__/main.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc index f29073fe..7de9cec1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc index ed67bae1..60987060 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/feature_base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc index 2a212879..e37c2bda 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all__future__imports.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc index 76ba66a6..9d2c50f4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_all_future_builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc index 27f8aa77..a3031059 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_add_future_standard_library_import.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc index 28dfc35e..07d2b8f8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_annotations.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc index 791800c2..c29b4eba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_division.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc index 68ae53bf..140ce273 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_features.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc index 688a4491..47b423dc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_fullargspec.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc index 56cd01cb..b796a816 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_future_builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc index e9f424c1..9fb5909c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_getcwd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc index 1246326f..a859410b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc index 1a7e8d45..662f5428 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_imports2.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc index 642f5492..ba543418 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_kwargs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc index 26b5fa16..d852d50b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_memoryview.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc index 932b21fc..8d27e73f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_metaclass.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc index 1a5634ba..b3ab7593 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_newstyle.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc index 57e0013d..4cfea1a5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_next.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc index 25831dbe..d17b74f7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_printfunction.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc index 7ee2e676..452f48bf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc index 7c4f45d4..b5c0bcb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_raise_.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc index 1a6af533..d39a2eaf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_throw.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc index c2884e97..4f8fe57e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/__pycache__/fix_unpacking.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/feature_base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/feature_base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/feature_base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/feature_base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_all__future__imports.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_all__future__imports.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_all__future__imports.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_all__future__imports.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_all_future_builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_all_future_builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_all_future_builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_all_future_builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_future_standard_library_import.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_future_standard_library_import.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_add_future_standard_library_import.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_add_future_standard_library_import.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_annotations.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_annotations.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_annotations.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_annotations.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_division.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_division.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_division.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_division.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_features.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_features.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_features.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_features.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_fullargspec.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_fullargspec.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_fullargspec.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_fullargspec.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_future_builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_future_builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_future_builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_future_builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_getcwd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_getcwd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_getcwd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_getcwd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_imports.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_imports.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_imports.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_imports.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_imports2.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_imports2.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_imports2.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_imports2.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_kwargs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_kwargs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_kwargs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_kwargs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_memoryview.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_memoryview.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_memoryview.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_memoryview.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_metaclass.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_metaclass.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_metaclass.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_metaclass.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_newstyle.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_newstyle.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_newstyle.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_newstyle.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_next.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_next.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_next.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_next.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_printfunction.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_printfunction.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_printfunction.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_printfunction.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_raise.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_raise.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_raise.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_raise.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_raise_.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_raise_.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_raise_.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_raise_.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_throw.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_throw.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_throw.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_throw.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_unpacking.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_unpacking.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/fixes/fix_unpacking.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/fixes/fix_unpacking.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/libpasteurize/main.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/main.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/libpasteurize/main.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/libpasteurize/main.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/__pycache__/__init__.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/past/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/__pycache__/__init__.cpython-39.pyc index 85826d1e..01973b37 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc index 85464812..45f4e40e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc index 811cd7eb..3cf830f0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/misc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc index 797ab8fe..8bd644b5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/__pycache__/noniterators.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/misc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/misc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/misc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/misc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/builtins/noniterators.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/noniterators.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/builtins/noniterators.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/builtins/noniterators.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/translation/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/translation/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/translation/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/translation/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc index 4aeb7cce..9d3fae2d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/translation/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/__init__.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/__init__.cpython-39.pyc index 778ddefa..c11166c3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/basestring.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/basestring.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/basestring.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/basestring.cpython-39.pyc index 904126a6..7cd8b182 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/basestring.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/basestring.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/olddict.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/olddict.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/olddict.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/olddict.cpython-39.pyc index c213a357..458abf9d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/olddict.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/olddict.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc index 9da15553..4a539d49 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/__pycache__/oldstr.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/basestring.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/basestring.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/basestring.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/basestring.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/olddict.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/olddict.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/olddict.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/olddict.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/types/oldstr.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/oldstr.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/types/oldstr.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/types/oldstr.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/utils/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/utils/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/past/utils/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/utils/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc index 51d1d20f..d748c7ed 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/past/utils/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/idna-3.2.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/LICENSE.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/LICENSE.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD index 69a6d77d..3e8351a3 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD @@ -1,6 +1,6 @@ -../../Scripts/pip.exe,sha256=qXm-yZs8MVXaxT2K8EqkFlIwi3kaYIHmBzoF8HTgKd8,106372 -../../Scripts/pip3.9.exe,sha256=qXm-yZs8MVXaxT2K8EqkFlIwi3kaYIHmBzoF8HTgKd8,106372 -../../Scripts/pip3.exe,sha256=qXm-yZs8MVXaxT2K8EqkFlIwi3kaYIHmBzoF8HTgKd8,106372 +../../../bin/pip,sha256=9SKMSOg-z9c3m3chTAiabwO5A3Etqj1Z8JiljOesz9M,283 +../../../bin/pip3,sha256=9SKMSOg-z9c3m3chTAiabwO5A3Etqj1Z8JiljOesz9M,283 +../../../bin/pip3.9,sha256=9SKMSOg-z9c3m3chTAiabwO5A3Etqj1Z8JiljOesz9M,283 pip-21.2.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 pip-21.2.4.dist-info/LICENSE.txt,sha256=I6c2HCsVgQKLxiO52ivSSZeryqR4Gs5q1ESjeUT42uE,1090 pip-21.2.4.dist-info/METADATA,sha256=PGCimuD-VsKv664Ne_9navMt6I9Ym_rm5p_u6Ykgfd4,4165 diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/REQUESTED b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/REQUESTED rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/entry_points.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/entry_points.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__main__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__init__.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__init__.cpython-39.pyc index b43ce31a..288518a9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__main__.cpython-39.pyc similarity index 55% rename from IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__main__.cpython-39.pyc index 4c38432d..9444a79f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc index 796bfd10..3258c761 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc index 3536e4bc..0bbb27ba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc index 4f791246..a0fe9a9a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc index 035c58e9..e73ab7f3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc index a5c0a66c..d9ce83cf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc similarity index 51% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc index 051981ef..00fd6ce3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc index c932fa26..c01f2546 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc index cb46863b..3f7e77cc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc index 70730503..fee67b2c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/build_env.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/build_env.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..0f0937f5 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc index 216c2d67..b7f7d5ea 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc index 1cba742e..b170a7d1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc index de7effc4..0d02d403 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc index 32d299af..394690eb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc index 0080805d..82e44659 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc index 7133909f..391111a3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc index e79c437d..951a16fc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc index 4a55017a..ad09a5fa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc index 7591a877..5ad1037f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc index 55fa1ba5..87f7c5a4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc new file mode 100644 index 00000000..631d64d4 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/autocompletion.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/autocompletion.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/base_command.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/base_command.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/command_context.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/command_context.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/main.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/main.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/main_parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/main_parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/progress_bars.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/progress_bars.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/req_command.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/req_command.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/spinners.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/spinners.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/status_codes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/cli/status_codes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc index dea7153c..c6c70798 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc index 0cd3a3e6..92155983 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc index ed843ca3..1b976fa2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc index f5cc787e..aa327bff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc index 620e4d81..29dd91d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc index 9e2e538a..38b9d564 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc index 8fe3a4c6..d67051c9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc index 80b099dd..4d250023 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc index 276b1fe2..74794738 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc index 52c7efd0..7af2da3d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc index bad1c4bb..7f3b107e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/index.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc index b4b4b6bc..236b8ffa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc index df405852..bb9388de 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc index 8b6ae7aa..a83372c4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc index 423712c9..92bffb72 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc index cb3bdfcd..54d76f24 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc index b1b6a192..3dafe4f8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/check.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/check.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/completion.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/completion.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/configuration.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/configuration.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/debug.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/debug.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/download.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/download.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/freeze.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/freeze.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/hash.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/hash.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/help.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/help.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/index.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/index.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/install.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/install.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/list.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/list.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/search.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/search.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/show.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/show.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/uninstall.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/uninstall.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/commands/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/configuration.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/configuration.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc index 9b7e9e54..d12be6ef 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc index 2da0ab09..6d7f587d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc index 43c1ff7a..5b2df4ec 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc index 973d6837..743004f3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc index aa3d92fc..7b1aa8ae 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/installed.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/installed.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/sdist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/sdist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/distributions/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d7873645 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc index 6527e9a7..e63ff975 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc index b4a63c95..aa088a85 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc index 84e710ae..6851f486 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/sources.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/collector.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/collector.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/package_finder.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/package_finder.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/sources.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/index/sources.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc index bb592ec3..de124665 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc index 941310d0..8f0d69fd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc index c0abf850..b6ec9070 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc similarity index 69% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc index 6bc96f34..a542269b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/_distutils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/_distutils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/locations/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/main.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/main.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/main.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/main.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc index 38737878..e5d0d6e5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc index 94bf5eb7..d9aa8d72 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc index a0536900..73cebcb9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..f9f3edd5 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc index d78e909a..e3ec31fc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc index 6355745b..ed79d605 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc index 47fd0964..b36600bf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc index aeca69e0..aad3d3b6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc index 34ef729d..783c5e43 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc index 2d2f140b..9c7f567c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc index 3130f2c0..313ca849 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc index 06de43d3..8c64efb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc index b3148e44..4b6f6ef4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc index 4fcf37f4..0daa0697 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/candidate.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/candidate.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/direct_url.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/direct_url.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/format_control.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/format_control.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/index.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/index.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/link.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/link.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/scheme.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/scheme.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/search_scope.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/search_scope.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/selection_prefs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/selection_prefs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/target_python.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/target_python.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/models/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d185626d Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc index 2f82e2cf..4671db48 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc index 813b08a0..a7af3f0d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc index 5d98dd92..aaba041b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc index 657a3a61..6eb4cdd5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc index 8b15529b..d0735177 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc index fd6ee27b..425cf592 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc index 4a24405e..f3a4fb10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/auth.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/auth.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/download.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/download.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/session.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/session.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/xmlrpc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/network/xmlrpc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3e11d48e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc index 6aa3d8f3..38b5c513 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc index 7fc77d28..ba6f656e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc index d0c4e4fe..a0bb6d8f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..6f2b22aa Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc index 182016d1..18a24007 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc index f3067343..b08dbf50 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc index bd049e42..2bdfba14 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc index c0c6114f..ba80e814 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/metadata.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/metadata.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/check.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/check.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/freeze.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/freeze.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..274faee3 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc index c1445e66..0e9a89ea 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc index 1d4303eb..2e71a56c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc index ed0fccfa..4b04e91c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/legacy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/legacy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/install/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/prepare.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/operations/prepare.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/pyproject.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/pyproject.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc index f18b75e3..8f891227 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc index b3365d05..69743a29 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc index 91b4a5ab..4ec46d78 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc index 630d2d8d..20d7b337 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc index daf94b52..bdd9d7d5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc index d27b5e35..4374dd34 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc index 865416db..09b241c9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/constructors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/constructors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_file.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_file.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_install.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_install.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_set.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_set.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_tracker.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_tracker.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_uninstall.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/req/req_uninstall.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..898cb790 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc index 69de76dd..22bbd037 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..b4e913de Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc index 089a63ad..81a474d3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..79f677b0 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc index 37bc8242..35b72666 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc index 8faa08fe..bd23dd21 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc index edb3d13f..d1e0e890 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc index 3b422d80..7a7e510c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc index 296b73fc..4c70e940 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc index e7f45195..05630b4b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc index aa08fd93..8eb366ef 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc index 01cfd8c6..880adc24 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/self_outdated_check.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/self_outdated_check.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d37271d5 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc index 43455358..42e317b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/_log.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc index 8ebb9b40..105714bf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc index e8033f47..fd4876c9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc index a1d5eb71..93a501ee 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc index 13f919ab..c0edaeb4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc index 822f284c..15ca2375 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc index 6892e48c..7ffb4f11 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc similarity index 66% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc index 7f5ddd0b..6b89df54 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc index acfe5eb1..d375b83f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc index 2d069ec3..328297c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc index 8155633c..b979bb67 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc new file mode 100644 index 00000000..bdef27db Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc index b7c852d6..695b0d43 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc index e5436e11..fc974f50 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc index 83f6c159..84d75ef5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc index fee91ad7..c9ca4ea7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc index 4d5f7b8d..7ec36ec9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc index 0e2e3fe7..f6c0c5ae 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc index 9cf2abfe..b880c0fd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc index 2d5b0edd..58d09b61 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc index d72e4adc..66b51470 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc index 5781131a..98fe515a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc index ffec17d9..0d7e4eb7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc index 1b99a216..607a98b7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc index 8f5e47a1..7f680dd5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc index 0d995964..03eb7fb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc index 31321369..2e2aa544 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc index f662b689..f9da1178 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/_log.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/_log.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/appdirs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/appdirs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/datetime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/datetime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/deprecation.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/deprecation.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/distutils_args.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/distutils_args.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/encoding.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/encoding.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/entrypoints.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/entrypoints.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/filesystem.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/filesystem.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/filetypes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/filetypes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/glibc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/glibc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/hashes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/hashes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/inject_securetransport.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/inject_securetransport.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/logging.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/logging.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/misc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/misc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/models.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/models.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/packaging.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/packaging.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/parallel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/parallel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/pkg_resources.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/pkg_resources.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/subprocess.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/subprocess.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/temp_dir.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/temp_dir.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/unpacking.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/unpacking.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/urls.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/urls.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/virtualenv.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/virtualenv.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/utils/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc index 3ea769d7..117493a3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc index 980ef07c..6ac01ae1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc index d067b24b..fa28b51b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc index 69ca5152..8c2949ee 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc index cda74566..fd35e549 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc index 4fa99aa1..d62b1afb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/bazaar.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/bazaar.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/git.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/git.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/mercurial.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/mercurial.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/subversion.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/subversion.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_internal/wheel_builder.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_internal/wheel_builder.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a743af58 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc index f21708b1..3fe8e37e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc index f09ef246..1112ad66 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc index 99b6c5a5..9ee5c5d9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc index 4cfe7d51..74f93e85 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/appdirs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/appdirs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc similarity index 55% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc index 7bd0d0b6..9a36f1d0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc index 18cc9926..2668944d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc index e1e51c43..51197aa5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc index affead7a..35bf9e6b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc index 6de51af9..915d76f9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc index fbe864e3..848101d0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc index c2a5488c..eeac9965 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc index 102268e8..71f7121d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc index d871cc07..6259ce89 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc new file mode 100644 index 00000000..8b33d3e5 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..55abf471 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc index 25485860..b79b3785 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc index 926e9c53..e8a77736 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__main__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__main__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a0935ac2 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..7f0a2e8c Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc index baa098ef..5bb41fa4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/certifi/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc index 08270959..4826cbce 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc index 3ace8827..0c71ee11 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc index 595d8de5..fa5c945b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc index d4734e1f..5ca768f3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc index 2caafb27..a36f100b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc similarity index 66% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc index fe0e4157..df101b36 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc index 68e873d7..57aa2ac8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc new file mode 100644 index 00000000..e3ebd135 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc index ba616534..517e7d01 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc index 6dc176a8..7297adf0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc index 378be0ec..fd6830c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc index b2943707..329a1170 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc index 2f488057..e690ff52 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc index 15c1e3bb..c1c76f85 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc index b367e635..6dae544e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc index cdf5f2f3..c9c3ab25 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc index 476237e9..6fdc1c6d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc index 8721cf36..6cd16d82 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc index a2fdde3c..1edf3ae8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc index 37a08955..cc34201b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc index fcc84bdf..227fadc4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc index eb381f49..8d2047cf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc index aa63bec5..35145332 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc index d92ece03..1151d1f5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc index 3e7bad5e..8c275ea8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc index 887638c6..6c427acf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc index 2dd17a18..fbbd4b3d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc index d4777fbb..e1423ca3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc index df4785e5..e985e6bd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc index 60aa9365..1ae15d83 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc index ab96376c..db03c72b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc index 642e34c6..352b2929 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc index c15012a4..2d555150 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc index 3ba2bbb6..5a292843 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc index 95a33c85..cdbfd663 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc index 0bf524c3..e383b9e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc index d0af7ea7..1b34b955 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc index d7d39239..16f55f65 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc index 7444ba73..5acfc375 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/big5freq.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/big5freq.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/big5prober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/big5prober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/chardistribution.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/chardistribution.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/charsetprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/charsetprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..e60aea06 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc index ff2df082..89ddb610 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cp949prober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/cp949prober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/enums.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/enums.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/escprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/escprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/escsm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/escsm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euckrprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euckrprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euctwprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/euctwprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/jisfreq.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/jisfreq.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/jpcntx.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/jpcntx.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langrussianmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langrussianmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/latin1prober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/latin1prober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcssm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/mbcssm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..ba1e24af Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc index f2ba5caf..25e57e6e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/languages.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/metadata/languages.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sjisprober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/sjisprober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/universaldetector.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/universaldetector.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/utf8prober.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/utf8prober.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/chardet/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..f341ad9f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc index f9b7aaff..03dbd64c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc index 44a760e6..e8ee05f2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc index ec27c6c3..bb076ef2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc index ff6220b0..3afa6c51 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc index af708fcb..c8e1006c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/ansi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/ansi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/initialise.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/initialise.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/win32.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/win32.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/winterm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/colorama/winterm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc index 475b6d73..72038306 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc index 4d3435cd..787df10f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc index 51ae90e2..32c43bf8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc index 6e1d4865..7c10e8af 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc index bd39e537..e87f21c5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc index 298b513d..eed0982f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc index 1446f92a..437d22a9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc index befbd1ad..abe91d38 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc index 82c6f81e..5f3e7dd4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc index 435d7bac..b1f1c8f7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc index 7f560ce7..68feb28d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc index 87813164..a9cc9135 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc index 7a54b9c3..300899b0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc similarity index 51% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc index 97a8bb5c..7641f5c2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc index 6adee6e1..7c0658d2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc index 1cb466fc..3a3d3750 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc index 053d4820..8c3ed3a0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc index 59d728a0..d2776236 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/database.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/database.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/index.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/index.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/locators.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/locators.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/manifest.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/manifest.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/markers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/markers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/metadata.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/metadata.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/resources.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/resources.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/scripts.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/scripts.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/t32.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/t32.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/t64.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/t64.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/w32.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/w32.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/w64.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/w64.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distlib/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distro.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/distro.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc index c76bdfb9..10f1cb5c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc index 9dd1e0a0..01083fc0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc index 04e52fb5..fe40dfc3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc index ae405cdc..704d7fd7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc index f6f48f53..c69ae231 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc index e7f7ad44..5b945929 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc index 466dfdbe..7bbcd0db 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc index eb820107..4874cb6d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_ihatexml.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_ihatexml.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_inputstream.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_inputstream.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_tokenizer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_tokenizer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..be8e0783 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc index bd6158c8..e26e1b60 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc index 3bf3af0d..c7d5fdfc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/_base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/_base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/py.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_trie/py.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/_utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/constants.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/constants.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..50f075a7 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc similarity index 50% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc index 91af01e9..751577ad 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc index 1f92ed0b..f27371fe 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc index 02de58ab..7fc4f0d5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc index 317e3950..763d6f6d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc index 35d67cf8..119dfbf0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc index f9b36749..34974ea5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc index e4609fdb..7e2cd322 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/html5parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/html5parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/serializer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/serializer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc index 3aad5e89..e41ba534 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc index a014c131..4d7eaa4c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc index 8f58f5fb..0477705b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc index 0e9b4613..d4d03964 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc index adfbd93c..1673e602 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc index a3d5e92b..63090406 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc index 11858dde..8d08c422 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc index be930aba..f2ba3896 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc index a8e10b0c..a9d97c0b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc index 1d0e89e8..4967a261 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc index f2057f1a..e1368ac8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc index f989a5a8..029e6776 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc index a9d7eb4b..17b0ad8e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc index a0ac3dc0..178c5cb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/base.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/base.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc index f4fa66ae..267f6cc0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc index 2c80ee48..8018c5cd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc index c3dd6677..89d1aaed 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc index 2176c596..1ebfcf96 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc index afd89d93..ca832bd2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc index 881cfbb7..de3718d9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc new file mode 100644 index 00000000..0d78b730 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/uts46data.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/uts46data.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc index dca2423c..6cd6aa90 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/idna/__pycache__/uts46data.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/codec.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/codec.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/idnadata.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/idnadata.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/intranges.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/intranges.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/package_data.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/package_data.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/uts46data.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/idna/uts46data.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc index 0f538d56..eae003dc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc new file mode 100644 index 00000000..570f4e0d Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc index 51e4113c..e84ae99e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc index 0eefb60e..b24fffb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc index 689d4132..fb380164 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/_version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/_version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/ext.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/ext.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__about__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__about__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc index 02e6c12b..504b2af7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc index 109cda61..bb739078 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc index b8f3f8ef..8fe10a25 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc index 38629b42..c61c59ba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc index ab79615f..2d6fdaff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc index 73db708e..757cdf75 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc index f38487f4..a35a1196 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc index c7a86c43..bb70ebe4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc index 20cde552..3b92604e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc index 1900f4ac..efd8a400 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc index 808730cb..aeda6dfd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_structures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/_structures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/markers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/markers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/requirements.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/requirements.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/tags.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/tags.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/packaging/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..b2e0cae9 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc index b5f3b60d..5170689c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc index 38e4b34f..4e355d62 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc index fb951e4a..3fa50c3b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc index a6f02647..a18dba92 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc index 47df27b7..27db069f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc index c05500ae..66d19391 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc index 1fa52840..834dc959 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc index 8d4d6471..b18cec51 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/build.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/build.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/check.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/check.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/colorlog.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/colorlog.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/dirtools.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/dirtools.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/envbuild.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/envbuild.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc index 229fabf1..010bcca9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc index 6931d544..3faf1908 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/_in_process.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/in_process/_in_process.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/meta.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/meta.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/wrappers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pep517/wrappers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc index 733b4e24..93a949df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc index 1a882672..fd28a29b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/py31compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pkg_resources/py31compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc index 0f43c7b4..4f278f17 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc index b431a1a7..f3a333a5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc index c697f212..a07a205c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc index 489fa526..ebe2a113 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/bar.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/bar.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/counter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/counter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/spinner.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/progress/spinner.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pyparsing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/pyparsing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc index 4035f510..396c686c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__version__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__version__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc index c1f1d31f..954c5e00 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__version__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc index 319e2b1d..70a51702 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc index 27f676dc..f6bac8b9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/api.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/api.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc index 94cfe050..923c4006 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/api.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/auth.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/auth.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc index 50388de8..34ddedc1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/auth.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc index db0e2b2b..3b2b2580 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc index 1856be47..be11ba5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc index d8ee9b5d..4de2b285 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc index c2de08f6..76665037 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc index 8ef997da..bb977cb5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc index 6c4ed093..f462f433 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc index 6922912c..10e81b02 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc new file mode 100644 index 00000000..6ac4e78e Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/sessions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/sessions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc index a9f22d1f..e361261e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/sessions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/status_codes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/status_codes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc index 7c3087d6..9501fd2a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/status_codes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/structures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/structures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc index ad97f589..1d48533e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/structures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc index 91c9d1fa..0a3b1224 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__version__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__version__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/adapters.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/adapters.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/api.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/api.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/auth.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/auth.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/certs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/certs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/cookies.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/cookies.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/help.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/help.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/hooks.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/hooks.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/models.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/models.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/packages.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/packages.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/sessions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/sessions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/status_codes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/status_codes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/structures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/structures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc index cc28132d..0d5ed83d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc index e519d4b6..de6cc5f0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc index 4b36b0f3..72ce1f9a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc index 76b53e93..0f621d33 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc index 4cb66d97..0dce093d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..afe137d3 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc new file mode 100644 index 00000000..b54ea364 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/six.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/six.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/six.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/six.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc index a4e7f536..2edcba7c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc index 9895d90f..4b1b9355 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc index 0e0f4038..f76c34d0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc index 1902626e..944b7778 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc index 41bd8956..74fcee40 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc index 4fd2c68f..9f72b1e4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc index eebac727..fd8613ca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc index edaf6588..e4f5b8f4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc index 82a0d6c2..be84f185 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc similarity index 66% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc index a5614020..6ee4968e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc index e0da748c..e2d59134 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/_asyncio.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/_asyncio.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/_utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/_utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/after.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/after.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/before.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/before.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/before_sleep.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/before_sleep.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/nap.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/nap.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/retry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/retry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/stop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/stop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/tornadoweb.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/tornadoweb.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/wait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tenacity/wait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..84db7bb0 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc index 4375f22a..f72e8292 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc index c4e30793..d1a52066 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/_parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/_parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/_re.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/tomli/_re.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc index f077e9c4..696076b7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc index af3f3f24..df605dba 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc new file mode 100644 index 00000000..bda4881a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connection.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connection.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc index 1dc5bea0..d3dbef0b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connection.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc index f4e7f36e..0a7c1661 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc index 14a0ad94..f1f703d2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/fields.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/fields.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc index 8f26d9b7..6bd84840 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/fields.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc index 4d2b67db..27d88e0a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc index e3ab28ac..bcd106df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc index afc38acf..1263f891 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc index 19ef6710..90a48d87 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/_version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/_version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/connection.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/connection.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a8b2b295 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc index b62b9d91..b78cc8ec 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc index c512b367..e49b7c45 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc index be79f697..aeb56002 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc index b34a86b0..25b4fc35 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc index 93d40aea..9873b432 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc index 0dc5ae60..b1c92c53 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3607e7fc Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc index af2c21fc..7fb16316 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc index d5d3bb00..9a685156 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/fields.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/fields.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..be80faa2 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc index aa3e4404..881a7397 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..88f28f91 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc index 3514dab8..1b44f42f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..8f9fa8a2 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc index 8ef55c09..ea196502 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc index 0db85e80..b7c43b5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc index b1e249df..a64fa4cb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc index e0e013ff..52892e3a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc index 6021c467..8abcd425 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc index 0e25bc28..d0e6a804 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc index 2cf8eca5..6c736f82 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc index d1f99fc5..10781e4f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc index 08ae3969..5a8fad8d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc index ecaf5b8c..b94ffa0a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc index aa1a30b9..b3bb92df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc index ef9cbbd9..f218b9fb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc index 37419cdc..f6faff4e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/vendor.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/vendor.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc index 8d39a843..86a32377 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc index 930bdd78..e8763e76 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc index 15d42177..76cbed4f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc index 8aae444e..e1811ace 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc index 74285716..f263218c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/labels.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/labels.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/mklabels.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/mklabels.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/tests.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/tests.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/py.typed b/IKEA_scraper/.venv/lib/python3.9/site-packages/pip/py.typed similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip/py.typed rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pip/py.typed diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc index e6ede397..66bcf100 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3b164fa1 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc index 83c81120..b11b1c12 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc index caed1f43..4dd84f46 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/appdirs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/appdirs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc index 55af4b62..2fa1481a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc index 6083149f..c30a5387 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc index 89606c10..2fa0dc7b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc index 05c1c2ca..e39003f5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc index 7c1fa0fd..820053c4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc index d3c9c243..fac8054e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc index d9ddf2c9..c63fef98 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc index 2e790108..3d2fd9b5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc index f026372d..17d5d13b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc index 4a5697db..8d7622d2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc index 2f1c140c..134795a2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_typing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/_typing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/tags.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/tags.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/extern/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/extern/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc index 12e97883..8de0e244 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc new file mode 100644 index 00000000..6c31635f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pip-21.2.4.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing-2.4.7.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/pyparsing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pycparser-2.20.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/REQUESTED b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/REQUESTED similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/REQUESTED rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/REQUESTED diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests-2.26.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__init__.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__init__.cpython-39.pyc index 7de450c3..c38a1eef 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__version__.cpython-39.pyc similarity index 58% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__version__.cpython-39.pyc index 9bdbe735..95d0b36e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/__version__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc index d364600b..6fca9c92 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/_internal_utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/adapters.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/adapters.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/adapters.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/adapters.cpython-39.pyc index 44a6f694..50fbc6bd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/adapters.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/adapters.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/api.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/api.cpython-39.pyc index d0c8f985..62b89c81 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/api.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/auth.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/auth.cpython-39.pyc index 91eb5622..041076b0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/auth.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/certs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/certs.cpython-39.pyc similarity index 65% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/certs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/certs.cpython-39.pyc index d17ab268..8c3da376 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/certs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/certs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/compat.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/compat.cpython-39.pyc index 9f3f0ca1..f7792e67 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/cookies.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/cookies.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/cookies.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/cookies.cpython-39.pyc index f688d822..06920e62 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/cookies.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/cookies.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/exceptions.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/exceptions.cpython-39.pyc index 1c898981..a2668b71 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/help.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/help.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/help.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/help.cpython-39.pyc index b9afc1f3..6d62fd72 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/help.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/help.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/hooks.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/hooks.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/hooks.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/hooks.cpython-39.pyc index 05d070e5..cc912a6b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/hooks.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/hooks.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/models.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/models.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/models.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/models.cpython-39.pyc index 449bc6b5..15ece849 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/models.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/models.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/packages.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/packages.cpython-39.pyc similarity index 60% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/packages.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/packages.cpython-39.pyc index e9d0fca1..cd87126f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/packages.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/packages.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/sessions.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/sessions.cpython-39.pyc index bb4e1ba7..5c3802af 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/sessions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/status_codes.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/status_codes.cpython-39.pyc index b8b8edf8..c132afbe 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/status_codes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/structures.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/structures.cpython-39.pyc index 30253311..dc20b9b5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/structures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/utils.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/utils.cpython-39.pyc index 33e7734a..223840e8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/requests/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/__version__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__version__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/__version__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/__version__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/_internal_utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/_internal_utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/_internal_utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/_internal_utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/adapters.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/adapters.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/adapters.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/adapters.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/api.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/api.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/api.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/api.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/auth.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/auth.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/auth.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/auth.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/certs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/certs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/certs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/certs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/cookies.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/cookies.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/cookies.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/cookies.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/help.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/help.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/help.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/help.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/hooks.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/hooks.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/hooks.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/hooks.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/models.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/models.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/models.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/models.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/packages.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/packages.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/packages.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/packages.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/sessions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/sessions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/sessions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/sessions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/status_codes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/status_codes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/status_codes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/status_codes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/structures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/structures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/structures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/structures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/requests/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/requests/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/pyparsing-2.4.7.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/REQUESTED b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/REQUESTED similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/REQUESTED rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/REQUESTED diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/entry_points.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/entry_points.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/entry_points.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/entry_points.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools-57.4.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc index fcdc6256..dfdb75d1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc new file mode 100644 index 00000000..34a6f56c Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc index 5a4a34ff..67d21085 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc index fafbdf8e..055c004e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc index dcd65054..f4170e2f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/config.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/config.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/config.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/config.cpython-39.pyc index 7afb9d96..fceb2084 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/config.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/config.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc index 172e25a1..08bd9d5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/depends.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/depends.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/depends.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/depends.cpython-39.pyc index eb97bc73..9074144b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/depends.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/depends.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dist.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dist.cpython-39.pyc index c1079284..cc6c9f10 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/dist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/dist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/errors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/errors.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/errors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/errors.cpython-39.pyc index b2274a9c..a722d968 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/errors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/errors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/extension.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/extension.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/extension.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/extension.cpython-39.pyc index 0145e7b9..151f4c29 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/extension.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/extension.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/glob.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/glob.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/glob.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/glob.cpython-39.pyc index 5fd7832c..42d1271b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/glob.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/glob.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/installer.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/installer.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/installer.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/installer.cpython-39.pyc index 2ee59449..284c9f94 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/installer.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/installer.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/launch.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/launch.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/launch.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/launch.cpython-39.pyc index 63272d86..a329f536 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/launch.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/launch.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc index 71859257..e4eee0a4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc index a94a38d0..784b9790 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc index f54cb988..c2bf38fa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc index 1a9d6048..a19be64c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc index 1d494c68..050a34ff 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc new file mode 100644 index 00000000..c354c937 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc index a46bb7bc..34164e32 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc index 4fb489af..172ee017 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/version.cpython-39.pyc new file mode 100644 index 00000000..eb223820 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc index e3570f4d..54b82ee1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc new file mode 100644 index 00000000..c5df4459 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_deprecation_warning.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_deprecation_warning.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc similarity index 53% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc index a4c0ed3d..2734f6ca 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc index d2db9c28..9f0be615 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc index 64990625..e79cf31f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc index 748141fb..acefdb76 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc index 6acd637a..c6741274 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc index 8fa3380b..5d3193a7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc index a7f790b9..86375ab6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc index 2cadf8d3..ac8afaf8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc index 102e6727..1db766c0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc new file mode 100644 index 00000000..cdfb817f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc index 48150be2..f31d5d9d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc index 310ec718..79ce0a6b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc index ed913b40..9beb265d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc index fe1afa9e..d1636c71 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc index b8bd43e3..521a636e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc index 1e71a753..0867b245 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc index 858faf0c..6c33b7e3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc index fb2cafca..5ce8ca65 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc index b6f5d83f..e1c465da 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc index fc45b52c..4ccd03a1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc index fb76e276..bd71f781 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc index 32a5695e..856d80f2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc new file mode 100644 index 00000000..f61da54a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc index a44fb3b4..ee67c936 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc similarity index 68% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc index d05c6a99..25cfb82b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc index f8fc20a3..344b861d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc index afb1e460..c8a88f9d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc index 2b90128e..0e93c7eb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc index 2e1912fb..875a3081 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc index 45615b9e..88e066a4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/archive_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/archive_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/bcppcompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/bcppcompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/ccompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/ccompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/cmd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/cmd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc similarity index 56% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc index 6f62848c..833f508f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc index c6e3ade2..119b1acf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc index 538f41b6..a02bbb24 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc index bfb3718e..e507c8cc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc index d30eac60..f8f7bf1b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc index ea877566..82cbc12d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc index 056a01b2..4404b18f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc index b8225fe7..84617fd2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc index a11b0e2c..811b35df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc index 9455c291..b9fe646f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc index db05ec68..d26a14ac 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc index 38ae9d1a..17abc927 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc similarity index 85% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc index 14f660cf..0de89da5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc index 00c7cb6e..1571397d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc index 88930bbf..1d6d8fd9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc index 0eb1e434..1b50400d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc index c5d0deef..3b1d2545 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc similarity index 62% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc index 1e621cea..2d18b59c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc index 6c95a31f..4a85b159 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc similarity index 70% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc index 796c6787..a5d48166 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc new file mode 100644 index 00000000..8be213df Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc index db9a5dbc..65cbb48f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc index 8731be4f..e0f8a280 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc index 3b693a55..68b785cd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_msi.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_msi.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_wininst.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/bdist_wininst.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_clib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_clib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_ext.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_ext.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_py.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_py.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/check.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/check.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/clean.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/clean.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/config.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/config.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_data.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_data.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_headers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_headers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_lib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_lib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/py37compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/py37compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/register.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/register.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/sdist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/sdist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/upload.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/command/upload.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/config.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/config.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/core.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/core.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/debug.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/debug.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dep_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dep_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dir_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dir_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/dist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/errors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/errors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/extension.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/extension.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/fancy_getopt.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/fancy_getopt.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/file_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/file_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/filelist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/filelist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/log.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/log.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/msvc9compiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/msvc9compiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/msvccompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/msvccompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/py35compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/py35compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/py38compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/py38compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/spawn.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/spawn.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/sysconfig.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/sysconfig.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/text_file.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/text_file.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/unixccompiler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/unixccompiler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/versionpredicate.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_distutils/versionpredicate.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_imp.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_imp.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_imp.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_imp.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..75c64df2 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc index cfb1b47d..3229a5fa 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc index 2d289f88..61996843 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..da430736 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc index 65019289..e36732a3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc index 656b6773..64b4aee5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/ordered_set.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/ordered_set.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__about__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__about__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc index 4e8622f4..729e2cc0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc similarity index 54% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc index 68703ec1..e0ae968f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc index 9e2f66ac..e33ac9c1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc index c6de3bd1..76a1884f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc similarity index 78% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc index 5bb6e2ea..133f41a0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc index 79af13f7..20d98f33 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc index 7d6a8614..f5b12b5a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc index e7fc2180..8073ecb6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc index 2630aef0..2a3093b8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc index 0f80583b..ff7e31de 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc index 644f6cb0..caea730e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_typing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/_typing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/packaging/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/pyparsing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/_vendor/pyparsing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/archive_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/archive_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/archive_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/archive_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/build_meta.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/build_meta.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/build_meta.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/build_meta.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/cli-32.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/cli-32.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/cli-64.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/cli-64.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/cli.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/cli.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/cli.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..7aaf8e4d Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc index f7c4d3fb..ec9a63a1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc index 1d2bac8d..cc49c327 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc index 362e29b3..aeb7ef21 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc index 3a5a3865..f393af70 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc index 1befd00a..55369f5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc index 72de58ae..07cf5c7a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc index 74680bb9..c8272871 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc similarity index 79% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc index ef8d2ae7..bfcfc01d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc index c22901ee..46625c91 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc index ca7c280f..ddd1da8c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc index abcfb459..a44e84ab 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc similarity index 83% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc index d0995760..da37c220 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc index 6cd0009b..429c8fab 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc index d1c3b4b0..1d62c03f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc index bae188d2..8ba5cbd8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc index cd023e64..940d9cc1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc index 2ac274d8..37d092bc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc similarity index 75% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc index 774d5088..d73af975 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc index 27cf6a98..06431189 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc index 991d4051..3d0cca0f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc index 9ce4ecb2..416790eb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc similarity index 74% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc index add0cd8d..30614e0f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc index e151cb2d..400cd1d4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/alias.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/alias.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/alias.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/alias.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/bdist_egg.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/bdist_egg.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/bdist_rpm.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/bdist_rpm.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_clib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_clib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_ext.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_ext.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_py.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/build_py.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/develop.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/develop.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/develop.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/develop.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/dist_info.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/dist_info.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/easy_install.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/easy_install.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/egg_info.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/egg_info.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_egg_info.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_egg_info.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_lib.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_lib.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_scripts.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/install_scripts.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/launcher manifest.xml b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/launcher manifest.xml rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/py36compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/py36compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/register.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/register.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/register.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/register.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/rotate.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/rotate.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/saveopts.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/saveopts.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/sdist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/sdist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/setopt.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/setopt.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/test.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/test.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/test.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/test.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/upload.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/upload.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/upload.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/upload.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/command/upload_docs.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/command/upload_docs.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/config.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/config.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/config.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/config.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/dep_util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/dep_util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/dep_util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/dep_util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/depends.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/depends.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/depends.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/depends.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/dist.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/dist.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/dist.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/dist.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/errors.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/errors.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/errors.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/errors.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/extension.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extension.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/extension.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extension.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/extern/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/extern/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc index a87bf650..ccb1fcf4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/glob.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/glob.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/glob.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/glob.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/gui-32.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/gui-32.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/gui-64.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/gui-64.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/gui.exe b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui.exe similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/gui.exe rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/gui.exe diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/installer.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/installer.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/installer.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/installer.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/launch.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/launch.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/launch.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/launch.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/lib2to3_ex.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/lib2to3_ex.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/lib2to3_ex.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/lib2to3_ex.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/monkey.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/monkey.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/monkey.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/monkey.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/msvc.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/msvc.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/msvc.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/msvc.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/namespaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/namespaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/namespaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/namespaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/package_index.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/package_index.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/package_index.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/package_index.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/py34compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/py34compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/py34compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/py34compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/sandbox.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/sandbox.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/sandbox.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/sandbox.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/script (dev).tmpl b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/script (dev).tmpl rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/script.tmpl b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/script.tmpl similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/script.tmpl rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/script.tmpl diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/unicode_utils.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/unicode_utils.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/wheel.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/wheel.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/wheel.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/wheel.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools/windows_support.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/windows_support.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools/windows_support.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/setuptools/windows_support.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/requests-2.26.0.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/LICENSE.md b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/LICENSE.md similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/LICENSE.md rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/LICENSE.md diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve-2.2.1.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__meta__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__meta__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__meta__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__meta__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc index 83f32696..a58433c3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc index e2fa4bc2..5c8024dc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/__meta__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc index 7a0d40ab..4efac792 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_match.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc index 68d72a59..77601f39 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_parser.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc index 4a2e2ffd..43cc1691 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/css_types.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/util.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/util.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/util.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/util.cpython-39.pyc index e483786a..126756cc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/__pycache__/util.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/__pycache__/util.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_match.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_match.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_match.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_match.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_parser.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_parser.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_parser.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_parser.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_types.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_types.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/css_types.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/css_types.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve/util.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/util.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve/util.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/soupsieve/util.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/setuptools-57.4.0.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/LICENSE.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/LICENSE.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/LICENSE.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/LICENSE.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3-1.26.6.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc similarity index 90% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc index 629c4b49..77c47b49 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc index afc8b2a3..f26a2a81 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_collections.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_version.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_version.cpython-39.pyc new file mode 100644 index 00000000..fd5dc5e2 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/_version.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connection.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connection.cpython-39.pyc index a0086957..b0e1b576 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connection.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc index 1d7adc60..70926ce7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/connectionpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc index a1ee02a5..eb2fe5fd 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/fields.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/fields.cpython-39.pyc index b8f395a4..3405ae5e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/fields.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc index dfab8027..64f7ff19 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc index f4043777..b3ed6dfb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/poolmanager.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/request.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/request.cpython-39.pyc index b35a0a7f..c0741579 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/response.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/response.cpython-39.pyc index 7c5af885..03ce45c2 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/_collections.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/_collections.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/_collections.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/_collections.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/_version.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/_version.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/_version.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/_version.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/connection.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/connection.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/connection.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/connection.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/connectionpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/connectionpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..97532e07 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc index 2db4b75b..f9f452a7 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc index c2661634..f52f7284 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/appengine.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc index 8afdaaa6..912f87e3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc index 888e6abb..2746bab6 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc index 9a8055e3..fee3095d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc index eb7baf11..93b227f8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/__pycache__/socks.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_appengine_environ.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_appengine_environ.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_appengine_environ.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_appengine_environ.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..48b7e83a Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc index 63d9f4bd..cf5a9d48 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc index ad26680a..bed1cf88 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/bindings.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/bindings.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/bindings.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/bindings.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/low_level.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/low_level.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/_securetransport/low_level.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/_securetransport/low_level.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/appengine.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/appengine.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/appengine.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/appengine.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/ntlmpool.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/ntlmpool.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/ntlmpool.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/ntlmpool.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/pyopenssl.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/pyopenssl.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/securetransport.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/securetransport.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/securetransport.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/securetransport.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/socks.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/contrib/socks.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/fields.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/fields.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/fields.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/fields.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/filepost.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/filepost.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/filepost.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/filepost.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..08052a34 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc index d49115c9..3ccd9f1d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/__pycache__/six.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..5ec5b51f Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc index a44645b9..3a2e89e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/makefile.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/makefile.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/backports/makefile.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/backports/makefile.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/six.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/six.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/six.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/six.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..0f4484e8 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc index 0925268a..5645f2e4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/_implementation.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/_implementation.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/packages/ssl_match_hostname/_implementation.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/packages/ssl_match_hostname/_implementation.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/poolmanager.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/poolmanager.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc similarity index 80% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc index 1f520266..44c71b29 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc index a0855ab9..f18cd1f5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/connection.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc similarity index 71% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc index 698ad412..cf432142 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/proxy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc similarity index 73% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc index 452a856d..75222ec4 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/queue.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc similarity index 92% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc index 172fda8f..6a1f52bc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/request.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc index 8a88abd8..a7274883 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/response.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc index 2fecb72a..365d0bdf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/retry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc index 3968946d..80762d78 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssl_.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc index 7f6d823a..52af5f32 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/ssltransport.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc index d3070b3b..13f94900 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/timeout.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc index 2d6533ff..c18d7c71 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/url.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc index edaee3a7..62dd5a83 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/__pycache__/wait.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/connection.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/connection.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/connection.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/connection.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/proxy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/proxy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/queue.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/queue.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/queue.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/queue.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/request.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/request.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/request.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/request.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/response.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/response.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/response.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/response.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/retry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/retry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/retry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/retry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/ssl_.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/ssl_.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/ssltransport.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/ssltransport.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/timeout.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/timeout.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/url.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/url.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/url.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/url.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3/util/wait.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/wait.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3/util/wait.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/urllib3/util/wait.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/AUTHORS.rst b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/AUTHORS.rst similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/AUTHORS.rst rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/AUTHORS.rst diff --git a/IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/soupsieve-2.2.1.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/LICENSE b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/LICENSE similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/LICENSE rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/LICENSE diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft-0.6.1.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/whichcraft.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0-py3.6-nspkg.pth b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0-py3.6-nspkg.pth similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0-py3.6-nspkg.pth rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0-py3.6-nspkg.pth diff --git a/IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/urllib3-1.26.6.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/LICENSE.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/LICENSE.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/LICENSE.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/LICENSE.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/RECORD similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/RECORD diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/WHEEL similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/WHEEL diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/namespace_packages.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/namespace_packages.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/namespace_packages.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/namespace_packages.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.event-4.5.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.event-4.5.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0-py3.9-nspkg.pth b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0-py3.9-nspkg.pth similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0-py3.9-nspkg.pth rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0-py3.9-nspkg.pth diff --git a/IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/INSTALLER b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/INSTALLER similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/whichcraft-0.6.1.dist-info/INSTALLER rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/INSTALLER diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/LICENSE.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/LICENSE.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/LICENSE.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/LICENSE.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/METADATA b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/METADATA similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/METADATA rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/METADATA diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/RECORD b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/RECORD similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/RECORD rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/RECORD index 7001804c..81f1b26a 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/RECORD +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/RECORD @@ -1,9 +1,9 @@ -zope.interface-5.4.0-py3.9-nspkg.pth,sha256=v_t1oIorEnrHsL8_S45xOGNzLyFVAQCg1XkrPrk0VV8,530 +zope.interface-5.4.0-py3.9-nspkg.pth,sha256=SWEVH-jEWsKYrL0qoC6GBJaStx_iKxGoAY9PQycFVC4,529 zope.interface-5.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 zope.interface-5.4.0.dist-info/LICENSE.txt,sha256=PmcdsR32h1FswdtbPWXkqjg-rKPCDOo_r1Og9zNdCjw,2070 zope.interface-5.4.0.dist-info/METADATA,sha256=zkoU-kTshIqvr_lcTZhotYmbQQ9XRtNlxouF0dXOejo,40632 zope.interface-5.4.0.dist-info/RECORD,, -zope.interface-5.4.0.dist-info/WHEEL,sha256=jr7ubY0Lkz_yXH9FfFe9PTtLhGOsf62dZkNvTYrJINE,100 +zope.interface-5.4.0.dist-info/WHEEL,sha256=C-sg6l2ppbqlkU_0fUt0o5fTSvsM-h9TfVKAh4ryMfI,111 zope.interface-5.4.0.dist-info/namespace_packages.txt,sha256=QpUHvpO4wIuZDeEgKY8qZCtD-tAukB0fn_f6utzlb98,5 zope.interface-5.4.0.dist-info/top_level.txt,sha256=QpUHvpO4wIuZDeEgKY8qZCtD-tAukB0fn_f6utzlb98,5 zope/interface/__init__.py,sha256=n3r9PajonfuD_4EJn_XT9DwRtt3JcgU9-ebbTgV17rA,3623 @@ -23,7 +23,7 @@ zope/interface/__pycache__/verify.cpython-39.pyc,, zope/interface/_compat.py,sha256=5FoI0eLiOZ7x664mIfdMBsusxhrzYpEruoIaAwy-CQ8,5191 zope/interface/_flatten.py,sha256=nY3YJjWfeslmcWfjfxVYkoZb2lFrVGbw30xF_sAyQ60,1056 zope/interface/_zope_interface_coptimizations.c,sha256=Hqz-ObWSJIUgTN7NtFWInG5NUuLI5WwosNmFaAjyk9g,58093 -zope/interface/_zope_interface_coptimizations.cp39-win_amd64.pyd,sha256=3C38BfdaB4BVoM8QoODGiXYlBTDZvpjr117F_6hp1hM,34304 +zope/interface/_zope_interface_coptimizations.cpython-39-x86_64-linux-gnu.so,sha256=BVXlbJdlkjr7qBfEpPswVWkHbWbE16Mtcwqpw-KAM4k,179072 zope/interface/adapter.py,sha256=sNiGpxPMsBTblkb_gK_LxCK8fgDqCX6ZWy7I_cMecPE,36498 zope/interface/advice.py,sha256=CpHhuAT8nbaaymDBEXuxvJv9ZRMEtq7fgTmoUOwsS3g,7612 zope/interface/common/__init__.py,sha256=6oLVayU_bWd4HCX7guqlxYORQr6odBzlnCobBLQpfAI,10457 diff --git a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/WHEEL b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/WHEEL similarity index 67% rename from IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/WHEEL rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/WHEEL index d1267fcc..a98f9116 100644 --- a/IKEA_scraper/.venv/Lib/site-packages/cffi-1.14.6.dist-info/WHEEL +++ b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 Generator: bdist_wheel (0.36.2) Root-Is-Purelib: false -Tag: cp39-cp39-win_amd64 +Tag: cp39-cp39-manylinux2010_x86_64 diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/namespace_packages.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/namespace_packages.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/namespace_packages.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/namespace_packages.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/top_level.txt b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/top_level.txt similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope.interface-5.4.0.dist-info/top_level.txt rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope.interface-5.4.0.dist-info/top_level.txt diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/event/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__init__.py diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..455a47ab Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc index 64c4f1b5..0aba4895 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/classhandler.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/tests.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/tests.cpython-39.pyc similarity index 82% rename from IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/tests.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/tests.cpython-39.pyc index 73bd692d..0464b1df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/event/__pycache__/tests.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/__pycache__/tests.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/classhandler.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/classhandler.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/event/classhandler.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/classhandler.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/event/tests.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/tests.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/event/tests.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/event/tests.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc similarity index 86% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc index d0d5b2b1..f6bf947b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc similarity index 94% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc index 60c8966e..2b4b2e1b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_compat.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc similarity index 57% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc index 285a5e38..56f90306 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/_flatten.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc index 97133e79..f7c467ac 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/adapter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc index 375a8c0f..f659c227 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/advice.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc index 954a01fe..01bf2b5b 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/declarations.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/document.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/document.cpython-39.pyc similarity index 84% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/document.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/document.cpython-39.pyc index 33aa7f05..f4af09ea 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/document.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/document.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc index 9de0c5ff..f8e6ab04 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc index 617a259b..1a5ef90a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interface.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc index e172e8cf..206d6453 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/interfaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc index 07f9af36..78ca71bb 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/registry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc index bfacdcb0..bafc167d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/ro.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc index f65abb1f..df75db48 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/__pycache__/verify.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_compat.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_compat.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/_compat.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_compat.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_flatten.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_flatten.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/_flatten.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_flatten.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/_zope_interface_coptimizations.c b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_zope_interface_coptimizations.c similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/_zope_interface_coptimizations.c rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_zope_interface_coptimizations.c diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_zope_interface_coptimizations.cpython-39-x86_64-linux-gnu.so b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_zope_interface_coptimizations.cpython-39-x86_64-linux-gnu.so new file mode 100644 index 00000000..ba276310 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/_zope_interface_coptimizations.cpython-39-x86_64-linux-gnu.so differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/adapter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/adapter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/adapter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/adapter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/advice.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/advice.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/advice.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/advice.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc index c0771b47..935ee464 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc index 02eeaba6..979867b9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc index 81e20dd9..c54dd3a3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/collections.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc index 974f9465..5ea48d43 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/idatetime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc index 67f7e7da..36419265 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/interfaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc index d5600b63..904351e9 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/io.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc index b3780e6f..3671aa02 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/mapping.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc index 9900ecbe..cf395f5d 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/numbers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc similarity index 96% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc index 3ddb3754..861bd873 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/__pycache__/sequence.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/collections.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/collections.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/collections.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/collections.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/idatetime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/idatetime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/idatetime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/idatetime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/interfaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/interfaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/interfaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/interfaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/io.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/io.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/io.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/io.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/mapping.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/mapping.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/mapping.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/mapping.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/numbers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/numbers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/numbers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/numbers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/sequence.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/sequence.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/sequence.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/sequence.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc index 4ba040ce..caa0b7df 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc index ecb66e1d..8fd211d0 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/basemapping.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc index 99b31186..8fdc06b1 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_builtins.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc similarity index 81% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc index 9501b204..957b3887 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_collections.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc similarity index 77% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc index ce725a3d..a5f07aa8 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_idatetime.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc similarity index 52% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc index 5632d43a..ece8a174 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_import_interfaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc similarity index 72% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc index 115ee456..5700147f 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_io.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc similarity index 64% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc index 6426a82d..e780b30e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/__pycache__/test_numbers.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/basemapping.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/basemapping.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/basemapping.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/basemapping.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_builtins.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_builtins.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_builtins.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_builtins.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_collections.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_collections.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_collections.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_collections.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_idatetime.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_idatetime.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_idatetime.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_idatetime.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_import_interfaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_import_interfaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_import_interfaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_import_interfaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_io.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_io.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_io.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_io.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_numbers.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_numbers.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/common/tests/test_numbers.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/common/tests/test_numbers.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/declarations.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/declarations.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/declarations.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/declarations.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/document.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/document.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/document.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/document.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/interface.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/interface.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/interface.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/interface.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/interfaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/interfaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/interfaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/interfaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/registry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/registry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/registry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/registry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/ro.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/ro.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/ro.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/ro.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__init__.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__init__.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__init__.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__init__.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc similarity index 93% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc index 17da6610..dc105389 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc similarity index 76% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc index a3c0a65d..1c975aad 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/advisory_testing.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc new file mode 100644 index 00000000..f05d64a3 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/dummy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc similarity index 61% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc index 4c909b19..ec0463ac 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/idummy.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc new file mode 100644 index 00000000..4e0a90e0 Binary files /dev/null and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/m1.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc similarity index 91% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc index 8ea2112f..f311202a 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/odd.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc index 92ee2bb7..93b3d3b3 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_adapter.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc index 3fe08ade..74fd7250 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_advice.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc index 8ecb1b33..38863d63 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_declarations.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc similarity index 98% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc index f42e5a57..862be1bf 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_document.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc similarity index 63% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc index 748da24f..0e4d5934 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_element.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc similarity index 95% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc index f669dd45..dd8e5b30 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_exceptions.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc index aac14cc6..046afe14 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interface.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc similarity index 89% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc index 229e002b..d865df33 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_interfaces.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc similarity index 88% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc index 040a4a71..8ffab6bc 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_odd_declarations.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc similarity index 99% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc index 18fde1b3..9232b3be 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_registry.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc index d91c8fb0..6754309e 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_ro.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc similarity index 87% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc index 1c64d1a2..7277ec3c 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_sorting.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc similarity index 97% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc index 6b9612bd..a61194a5 100644 Binary files a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc and b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/__pycache__/test_verify.cpython-39.pyc differ diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/advisory_testing.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/advisory_testing.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/advisory_testing.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/advisory_testing.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/dummy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/dummy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/dummy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/dummy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/idummy.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/idummy.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/idummy.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/idummy.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/m1.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/m1.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/m1.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/m1.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/odd.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/odd.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/odd.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/odd.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_adapter.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_adapter.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_adapter.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_adapter.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_advice.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_advice.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_advice.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_advice.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_declarations.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_declarations.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_declarations.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_declarations.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_document.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_document.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_document.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_document.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_element.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_element.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_element.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_element.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_exceptions.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_exceptions.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_exceptions.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_exceptions.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_interface.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_interface.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_interface.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_interface.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_interfaces.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_interfaces.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_interfaces.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_interfaces.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_odd_declarations.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_odd_declarations.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_odd_declarations.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_odd_declarations.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_registry.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_registry.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_registry.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_registry.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_ro.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_ro.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_ro.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_ro.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_sorting.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_sorting.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_sorting.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_sorting.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_verify.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_verify.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/tests/test_verify.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/tests/test_verify.py diff --git a/IKEA_scraper/.venv/Lib/site-packages/zope/interface/verify.py b/IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/verify.py similarity index 100% rename from IKEA_scraper/.venv/Lib/site-packages/zope/interface/verify.py rename to IKEA_scraper/.venv/lib/python3.9/site-packages/zope/interface/verify.py diff --git a/IKEA_scraper/.venv/lib64 b/IKEA_scraper/.venv/lib64 new file mode 120000 index 00000000..7951405f --- /dev/null +++ b/IKEA_scraper/.venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/IKEA_scraper/.venv/pyvenv.cfg b/IKEA_scraper/.venv/pyvenv.cfg index c74066a9..b28a46fc 100644 --- a/IKEA_scraper/.venv/pyvenv.cfg +++ b/IKEA_scraper/.venv/pyvenv.cfg @@ -1,3 +1,3 @@ -home = C:\Users\User\AppData\Local\Programs\Python\Python39 +home = /usr/bin include-system-site-packages = false version = 3.9.7