From eaedd828b71f93e0441864e145ddfb88ec585d63 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 20:40:29 -0800 Subject: [PATCH 001/126] fix missing stderr redirect breaking docker hub autobuild --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 10e153e3..24ed751b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -171,10 +171,10 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$T # Save version info && ( \ which curl && curl --version | head -n1 \ - && which wget && wget --version | head -n1 \ - && which yt-dlp && yt-dlp --version | head -n1 \ - && which git && git --version | head -n1 \ - && which rg && rg --version | head -n1 \ + && which wget && wget --version 2>&1 | head -n1 \ + && which yt-dlp && yt-dlp --version 2>&1 | head -n1 \ + && which git && git --version 2>&1 | head -n1 \ + && which rg && rg --version 2>&1 | head -n1 \ && echo -e '\n\n' \ ) | tee -a /VERSION.txt From 9c0b637bf4f2fc0ac50ff4b28f4d9759719f9f88 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:27:25 -0800 Subject: [PATCH 002/126] Create jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/jekyll-gh-pages.yml diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml new file mode 100644 index 00000000..fa8ac1b1 --- /dev/null +++ b/.github/workflows/jekyll-gh-pages.yml @@ -0,0 +1,51 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +on: + # Runs on pushes targeting the default branch + push: + branches: ["dev"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 From 6092a273301168d8b3d2cc564a4a5f9c785f46f9 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:30:24 -0800 Subject: [PATCH 003/126] Update jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index fa8ac1b1..3e704b94 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -27,7 +27,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 1 - name: Setup Pages uses: actions/configure-pages@v3 - name: Build with Jekyll From dc346c06d061bd5c1d137fec7b139d105e3659fd Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:34:25 -0800 Subject: [PATCH 004/126] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94ef4154..68bb112d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- +

ArchiveBox
Open-source self-hosted web archiving.


From c6a4fe325fe6cef695f568f3e0ac83c0e48733a9 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:34:48 -0800 Subject: [PATCH 005/126] Update jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 3e704b94..a5f941ef 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -19,7 +19,7 @@ permissions: # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "pages" - cancel-in-progress: false + cancel-in-progress: true jobs: # Build job @@ -36,7 +36,7 @@ jobs: - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 with: - source: ./ + source: ./website destination: ./_site - name: Upload artifact uses: actions/upload-pages-artifact@v2 From 083d8b9965b72523b4ef6c42047776aea0b6f245 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 20:57:31 -0800 Subject: [PATCH 006/126] fix Dockerfile lint issues --- Dockerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 24ed751b..3a700784 100644 --- a/Dockerfile +++ b/Dockerfile @@ -208,7 +208,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$T # Install Node dependencies WORKDIR "$CODE_DIR" -COPY --chown=root:root --chmod=755 "package.json" "package-lock.json" "$CODE_DIR/" +COPY --chown=root:root --chmod=755 "package.json" "package-lock.json" "$CODE_DIR"/ RUN --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-$TARGETARCH$TARGETVARIANT \ echo "[+] Installing NPM extractor dependencies from package.json into $NODE_MODULES..." \ && npm ci --prefer-offline --no-audit --cache /root/.npm \ @@ -222,9 +222,9 @@ RUN --mount=type=cache,target=/root/.npm,sharing=locked,id=npm-$TARGETARCH$TARGE # Install ArchiveBox Python dependencies WORKDIR "$CODE_DIR" -COPY --chown=root:root --chmod=755 "./pyproject.toml" "requirements.txt" "$CODE_DIR/" +COPY --chown=root:root --chmod=755 "./pyproject.toml" "requirements.txt" "$CODE_DIR"/ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$TARGETVARIANT --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-$TARGETARCH$TARGETVARIANT \ - echo "[+] Installing PIP ArchiveBox dependencies from requirements.txt for ${TARGETPLATFORM}..." \ + echo "[+] Installing PIP ArchiveBox dependencies from requirements.txt for ${TARGETPLATFORM}..." \ && apt-get update -qq \ && apt-get install -qq -y -t bookworm-backports --no-install-recommends \ build-essential \ @@ -239,7 +239,6 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$T && pip install -r requirements.txt \ && apt-get purge -y \ build-essential \ - # these are only needed to build CPython libs, we discard after build phase to shrink layer size && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* From 716f68c34a83ea27cb85f67e87d150b25f4830f6 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:29:07 -0800 Subject: [PATCH 007/126] bump vendor dependency versions --- archivebox/vendor/django-taggit | 2 +- archivebox/vendor/package-lock.json | 1 + archivebox/vendor/package.json | 1 + archivebox/vendor/pocket | 2 +- archivebox/vendor/python-atomicwrites | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) create mode 120000 archivebox/vendor/package-lock.json create mode 120000 archivebox/vendor/package.json diff --git a/archivebox/vendor/django-taggit b/archivebox/vendor/django-taggit index 1e4dca37..9aaac8ff 160000 --- a/archivebox/vendor/django-taggit +++ b/archivebox/vendor/django-taggit @@ -1 +1 @@ -Subproject commit 1e4dca37e534ca70e99c39fb4198970eb8aad5aa +Subproject commit 9aaac8ffffc9ac2030c503955e7d35ccc24ab26e diff --git a/archivebox/vendor/package-lock.json b/archivebox/vendor/package-lock.json new file mode 120000 index 00000000..322001ae --- /dev/null +++ b/archivebox/vendor/package-lock.json @@ -0,0 +1 @@ +../../package-lock.json \ No newline at end of file diff --git a/archivebox/vendor/package.json b/archivebox/vendor/package.json new file mode 120000 index 00000000..138a42cd --- /dev/null +++ b/archivebox/vendor/package.json @@ -0,0 +1 @@ +../../package.json \ No newline at end of file diff --git a/archivebox/vendor/pocket b/archivebox/vendor/pocket index 3a0c5c76..e7970b63 160000 --- a/archivebox/vendor/pocket +++ b/archivebox/vendor/pocket @@ -1 +1 @@ -Subproject commit 3a0c5c76832b0e92923383af3f9831ece7901c2f +Subproject commit e7970b63feafc8941c325111c5ce3706698a18b5 diff --git a/archivebox/vendor/python-atomicwrites b/archivebox/vendor/python-atomicwrites index c35cd32e..4183999d 160000 --- a/archivebox/vendor/python-atomicwrites +++ b/archivebox/vendor/python-atomicwrites @@ -1 +1 @@ -Subproject commit c35cd32eb364d5a4210e64bf38fd1a55f329f316 +Subproject commit 4183999d9b7e81af85dee070d5311299bdf5164c From 823138887cac13f4b2ae68c59e14e3be0409d279 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:38:10 -0800 Subject: [PATCH 008/126] move gh pages content to subdirectory --- CNAME => website/CNAME | 0 website/README.md | 1 + _config.yml => website/_config.yml | 0 {assets => website/assets}/README.md | 0 {assets => website/assets}/css/style.scss | 0 icon.png => website/icon.png | Bin 6 files changed, 1 insertion(+) rename CNAME => website/CNAME (100%) create mode 120000 website/README.md rename _config.yml => website/_config.yml (100%) rename {assets => website/assets}/README.md (100%) rename {assets => website/assets}/css/style.scss (100%) rename icon.png => website/icon.png (100%) diff --git a/CNAME b/website/CNAME similarity index 100% rename from CNAME rename to website/CNAME diff --git a/website/README.md b/website/README.md new file mode 120000 index 00000000..32d46ee8 --- /dev/null +++ b/website/README.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/_config.yml b/website/_config.yml similarity index 100% rename from _config.yml rename to website/_config.yml diff --git a/assets/README.md b/website/assets/README.md similarity index 100% rename from assets/README.md rename to website/assets/README.md diff --git a/assets/css/style.scss b/website/assets/css/style.scss similarity index 100% rename from assets/css/style.scss rename to website/assets/css/style.scss diff --git a/icon.png b/website/icon.png similarity index 100% rename from icon.png rename to website/icon.png From c778ea3eead08b4c95432b979af2859ad264462f Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:39:23 -0800 Subject: [PATCH 009/126] remove old stdeb.cfg config --- deb_dist | 2 +- stdeb.cfg | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) delete mode 100644 stdeb.cfg diff --git a/deb_dist b/deb_dist index 88e4b7e5..92f8fe8f 160000 --- a/deb_dist +++ b/deb_dist @@ -1 +1 @@ -Subproject commit 88e4b7e5a6c8998f781e45be1e264c48f3ed5e65 +Subproject commit 92f8fe8f34bd5dabadb080676755e56fe5fcaf73 diff --git a/stdeb.cfg b/stdeb.cfg deleted file mode 100644 index a6ee7e69..00000000 --- a/stdeb.cfg +++ /dev/null @@ -1,11 +0,0 @@ -[DEFAULT] -Source: archivebox -Package: archivebox -Package3: archivebox -Suite: focal -Suite3: focal -Build-Depends: debhelper, dh-python, python3-all, python3-pip, python3-setuptools, python3-wheel, python3-stdeb -Depends3: nodejs, wget, curl, git, ffmpeg, yt-dlp, ripgrep, python3-all, python3-pip, python3-setuptools, python3-croniter, python3-crontab, python3-dateparser, python3-django, python3-django-extensions, python3-django-jsonfield, python3-mypy-extensions, python3-requests, python3-w3lib -X-Python3-Version: >= 3.9 -XS-Python-Version: >= 3.9 -Setup-Env-Vars: DEB_BUILD_OPTIONS=nocheck From ab64a867160385c5884c1bd3600dadfaa901d7aa Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:50:03 -0800 Subject: [PATCH 010/126] Update jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index a5f941ef..9dd5326d 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -1,5 +1,5 @@ # Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll with GitHub Pages dependencies preinstalled +name: Build Jekyll GitHub Pages ArchiveBox.io Website on: # Runs on pushes targeting the default branch @@ -31,6 +31,10 @@ jobs: with: submodules: true fetch-depth: 1 + - name: Copy README.md into place + run: | + rm ./website/README.md + cp ./README.md ./website/README.md - name: Setup Pages uses: actions/configure-pages@v3 - name: Build with Jekyll From 74e03fd6f943aa12ac820acaa5190612548760b8 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 22:50:35 -0800 Subject: [PATCH 011/126] Update jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 9dd5326d..75786914 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -1,5 +1,5 @@ # Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Build Jekyll GitHub Pages ArchiveBox.io Website +name: Build GitHub Pages website on: # Runs on pushes targeting the default branch From 4523d6817f2fbf23e5001f006379f929c3a8ef98 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 23:43:53 -0800 Subject: [PATCH 012/126] readme fixes --- README.md | 2 +- archivebox/logging_util.py | 4 +- archivebox/system.py | 8 +- archivebox/vendor/django-taggit | 2 +- pdm.lock | 871 +++++++++++++++++++++++++++++++- 5 files changed, 879 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 68bb112d..9a561a28 100644 --- a/README.md +++ b/README.md @@ -989,7 +989,7 @@ https://stackoverflow.com/questions/1074212/how-can-i-see-the-raw-sql-queries-dj
Click to expand... -```bash| +```bash # docker-compose.yml: services: archivebox: diff --git a/archivebox/logging_util.py b/archivebox/logging_util.py index a52cf82a..d43bb086 100644 --- a/archivebox/logging_util.py +++ b/archivebox/logging_util.py @@ -517,8 +517,8 @@ def log_shell_welcome_msg(): from .cli import list_subcommands print('{green}# ArchiveBox Imports{reset}'.format(**ANSI)) - print('{green}from core.models import Snapshot, User{reset}'.format(**ANSI)) - print('{green}from archivebox import *\n {}{reset}'.format("\n ".join(list_subcommands().keys()), **ANSI)) + print('{green}from archivebox.core.models import Snapshot, ArchiveResult, Tag, User{reset}'.format(**ANSI)) + print('{green}from archivebox.cli import *\n {}{reset}'.format("\n ".join(list_subcommands().keys()), **ANSI)) print() print('[i] Welcome to the ArchiveBox Shell!') print(' https://github.com/ArchiveBox/ArchiveBox/wiki/Usage#Shell-Usage') diff --git a/archivebox/system.py b/archivebox/system.py index 37927ba2..d80a2cb5 100644 --- a/archivebox/system.py +++ b/archivebox/system.py @@ -185,17 +185,19 @@ def dedupe_cron_jobs(cron: CronTab) -> CronTab: class suppress_output(object): - ''' + """ A context manager for doing a "deep suppression" of stdout and stderr in Python, i.e. will suppress all print, even if the print originates in a compiled C/Fortran sub-function. - This will not suppress raised exceptions, since exceptions are printed + + This will not suppress raised exceptions, since exceptions are printed to stderr just before a script exits, and after the context manager has exited (at least, I think that is why it lets exceptions through). with suppress_stdout_stderr(): rogue_function() - ''' + """ + def __init__(self, stdout=True, stderr=True): # Open a pair of null files # Save the actual stdout (1) and stderr (2) file descriptors. diff --git a/archivebox/vendor/django-taggit b/archivebox/vendor/django-taggit index 9aaac8ff..3847b3cb 160000 --- a/archivebox/vendor/django-taggit +++ b/archivebox/vendor/django-taggit @@ -1 +1 @@ -Subproject commit 9aaac8ffffc9ac2030c503955e7d35ccc24ab26e +Subproject commit 3847b3cb32cd80448a1ef4c319951a2a4a6a971c diff --git a/pdm.lock b/pdm.lock index 39a1d1ec..53329a63 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2,11 +2,21 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "ldap", "sonic"] +groups = ["default", "build", "debug", "dev", "doc", "ldap", "lint", "sonic", "test"] strategy = ["cross_platform"] lock_version = "4.4" content_hash = "sha256:3355b57d87304093c9176a6387d80f5c5226b169964d8039f14a5998046faf4d" +[[package]] +name = "alabaster" +version = "0.7.13" +requires_python = ">=3.6" +summary = "A configurable sidebar-enabled Sphinx theme" +files = [ + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, +] + [[package]] name = "appnope" version = "0.1.3" @@ -41,6 +51,29 @@ files = [ {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, ] +[[package]] +name = "babel" +version = "2.13.1" +requires_python = ">=3.7" +summary = "Internationalization utilities" +dependencies = [ + "setuptools; python_version >= \"3.12\"", +] +files = [ + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, +] + +[[package]] +name = "blinker" +version = "1.7.0" +requires_python = ">=3.8" +summary = "Fast, simple object-to-object and broadcast signaling" +files = [ + {file = "blinker-1.7.0-py3-none-any.whl", hash = "sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9"}, + {file = "blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"}, +] + [[package]] name = "brotli" version = "1.1.0" @@ -135,6 +168,35 @@ files = [ {file = "brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13"}, ] +[[package]] +name = "cachecontrol" +version = "0.13.1" +requires_python = ">=3.7" +summary = "httplib2 caching for requests" +dependencies = [ + "msgpack>=0.5.2", + "requests>=2.16.0", +] +files = [ + {file = "cachecontrol-0.13.1-py3-none-any.whl", hash = "sha256:95dedbec849f46dda3137866dc28b9d133fc9af55f5b805ab1291833e4457aa4"}, + {file = "cachecontrol-0.13.1.tar.gz", hash = "sha256:f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b"}, +] + +[[package]] +name = "cachecontrol" +version = "0.13.1" +extras = ["filecache"] +requires_python = ">=3.7" +summary = "httplib2 caching for requests" +dependencies = [ + "cachecontrol==0.13.1", + "filelock>=3.8.0", +] +files = [ + {file = "cachecontrol-0.13.1-py3-none-any.whl", hash = "sha256:95dedbec849f46dda3137866dc28b9d133fc9af55f5b805ab1291833e4457aa4"}, + {file = "cachecontrol-0.13.1.tar.gz", hash = "sha256:f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b"}, +] + [[package]] name = "certifi" version = "2023.7.22" @@ -280,6 +342,15 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "commonmark" +version = "0.9.1" +summary = "Python parser for the CommonMark Markdown spec" +files = [ + {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, + {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, +] + [[package]] name = "croniter" version = "2.0.1" @@ -320,6 +391,15 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +[[package]] +name = "distlib" +version = "0.3.7" +summary = "Distribution utilities" +files = [ + {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"}, + {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"}, +] + [[package]] name = "django" version = "3.1.14" @@ -349,6 +429,20 @@ files = [ {file = "django_auth_ldap-4.1.0-py3-none-any.whl", hash = "sha256:68870e7921e84b1a9867e268a9c8a3e573e8a0d95ea08bcf31be178f5826ff36"}, ] +[[package]] +name = "django-debug-toolbar" +version = "3.2.4" +requires_python = ">=3.6" +summary = "A configurable set of panels that display various debug information about the current request/response." +dependencies = [ + "Django>=2.2", + "sqlparse>=0.2.0", +] +files = [ + {file = "django-debug-toolbar-3.2.4.tar.gz", hash = "sha256:644bbd5c428d3283aa9115722471769cac1bec189edf3a0c855fd8ff870375a9"}, + {file = "django_debug_toolbar-3.2.4-py3-none-any.whl", hash = "sha256:6b633b6cfee24f232d73569870f19aa86c819d750e7f3e833f2344a9eb4b4409"}, +] + [[package]] name = "django-extensions" version = "3.1.5" @@ -362,6 +456,57 @@ files = [ {file = "django_extensions-3.1.5-py3-none-any.whl", hash = "sha256:9238b9e016bb0009d621e05cf56ea8ce5cce9b32e91ad2026996a7377ca28069"}, ] +[[package]] +name = "django-stubs" +version = "4.2.6" +requires_python = ">=3.8" +summary = "Mypy stubs for Django" +dependencies = [ + "django", + "django-stubs-ext>=4.2.5", + "tomli; python_version < \"3.11\"", + "types-PyYAML", + "types-pytz", + "typing-extensions", +] +files = [ + {file = "django-stubs-4.2.6.tar.gz", hash = "sha256:e60b43de662a199db4b15c803c06669e0ac5035614af291cbd3b91591f7dcc94"}, + {file = "django_stubs-4.2.6-py3-none-any.whl", hash = "sha256:2fcd257884a68dfa02de41ee5410ec805264d9b07d9b5b119e4dea82c7b8345e"}, +] + +[[package]] +name = "django-stubs-ext" +version = "4.2.5" +requires_python = ">=3.8" +summary = "Monkey-patching and extensions for django-stubs" +dependencies = [ + "django", + "typing-extensions", +] +files = [ + {file = "django-stubs-ext-4.2.5.tar.gz", hash = "sha256:8c4d1fb5f68419b3b2474c659681a189803e27d6a5e5abf5aa0da57601b58633"}, + {file = "django_stubs_ext-4.2.5-py3-none-any.whl", hash = "sha256:921cd7ae4614e74c234bc0fe86ee75537d163addfe1fc6f134bf03e29d86c01e"}, +] + +[[package]] +name = "djdt-flamegraph" +version = "0.2.13" +summary = "Flamegraphs for Django Debug Toolbar" +files = [ + {file = "djdt_flamegraph-0.2.13-py2.py3-none-any.whl", hash = "sha256:b3252b8cc9b586829166cc158b26952626cd6f41a3ffa92dceef2f5dbe5b99a0"}, + {file = "djdt_flamegraph-0.2.13.tar.gz", hash = "sha256:c07a71be58484636e021d4c49b129fd819f24c9128849cb59558e5141192dbf3"}, +] + +[[package]] +name = "docutils" +version = "0.18.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "Docutils -- Python Documentation Utilities" +files = [ + {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, + {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, +] + [[package]] name = "exceptiongroup" version = "1.1.3" @@ -382,6 +527,57 @@ files = [ {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, ] +[[package]] +name = "filelock" +version = "3.13.1" +requires_python = ">=3.8" +summary = "A platform independent file lock." +files = [ + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, +] + +[[package]] +name = "findpython" +version = "0.4.0" +requires_python = ">=3.7" +summary = "A utility to find python versions on your system" +dependencies = [ + "packaging>=20", +] +files = [ + {file = "findpython-0.4.0-py3-none-any.whl", hash = "sha256:087148ac5935f9be458f36a05f3fa479efdf2c629f5d386c73ea481cfecff15e"}, + {file = "findpython-0.4.0.tar.gz", hash = "sha256:18b14d115678da18ae92ee22d7001cc30915ea531053f77010ee05a39680f438"}, +] + +[[package]] +name = "flake8" +version = "6.1.0" +requires_python = ">=3.8.1" +summary = "the modular source code checker: pep8 pyflakes and co" +dependencies = [ + "mccabe<0.8.0,>=0.7.0", + "pycodestyle<2.12.0,>=2.11.0", + "pyflakes<3.2.0,>=3.1.0", +] +files = [ + {file = "flake8-6.1.0-py2.py3-none-any.whl", hash = "sha256:ffdfce58ea94c6580c77888a86506937f9a1a227dfcd15f245d694ae20a6b6e5"}, + {file = "flake8-6.1.0.tar.gz", hash = "sha256:d5b3857f07c030bdb5bf41c7f53799571d75c4491748a3adcd47de929e34cd23"}, +] + +[[package]] +name = "homebrew-pypi-poet" +version = "0.10.0" +summary = "Writes Homebrew stanzas for pypi packages" +dependencies = [ + "jinja2", + "setuptools", +] +files = [ + {file = "homebrew-pypi-poet-0.10.0.tar.gz", hash = "sha256:e09e997e35a98f66445f9a39ccb33d6d93c5cd090302a59f231707eac0bf378e"}, + {file = "homebrew_pypi_poet-0.10.0-py2.py3-none-any.whl", hash = "sha256:65824f97aea0e713c4ac18aa2ef4477aca69426554eac842eeaaddf97df3fc47"}, +] + [[package]] name = "idna" version = "3.4" @@ -392,6 +588,66 @@ files = [ {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] +[[package]] +name = "imagesize" +version = "1.4.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "Getting image size from png/jpeg/jpeg2000/gif file" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + +[[package]] +name = "importlib-metadata" +version = "6.8.0" +requires_python = ">=3.8" +summary = "Read metadata from Python packages" +dependencies = [ + "zipp>=0.5", +] +files = [ + {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, + {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +requires_python = ">=3.7" +summary = "brain-dead simple config-ini parsing" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "installer" +version = "0.7.0" +requires_python = ">=3.7" +summary = "A library for installing Python wheels." +files = [ + {file = "installer-0.7.0-py3-none-any.whl", hash = "sha256:05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53"}, + {file = "installer-0.7.0.tar.gz", hash = "sha256:a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631"}, +] + +[[package]] +name = "ipdb" +version = "0.13.13" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "IPython-enabled pdb" +dependencies = [ + "decorator; python_version > \"3.6\" and python_version < \"3.11\"", + "decorator; python_version >= \"3.11\"", + "ipython>=7.31.1; python_version > \"3.6\" and python_version < \"3.11\"", + "ipython>=7.31.1; python_version >= \"3.11\"", + "tomli; python_version > \"3.6\" and python_version < \"3.11\"", +] +files = [ + {file = "ipdb-0.13.13-py3-none-any.whl", hash = "sha256:45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4"}, + {file = "ipdb-0.13.13.tar.gz", hash = "sha256:e3ac6018ef05126d442af680aad863006ec19d02290561ac88b8b1c0b0cfc726"}, +] + [[package]] name = "ipython" version = "8.17.2" @@ -429,6 +685,81 @@ files = [ {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, ] +[[package]] +name = "jinja2" +version = "3.1.2" +requires_python = ">=3.7" +summary = "A very fast and expressive template engine." +dependencies = [ + "MarkupSafe>=2.0", +] +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +requires_python = ">=3.8" +summary = "Python port of markdown-it. Markdown parsing, done right!" +dependencies = [ + "mdurl~=0.1", +] +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[[package]] +name = "markupsafe" +version = "2.1.3" +requires_python = ">=3.7" +summary = "Safely add untrusted strings to HTML/XML markup." +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + [[package]] name = "matplotlib-inline" version = "0.1.6" @@ -442,6 +773,79 @@ files = [ {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, ] +[[package]] +name = "mccabe" +version = "0.7.0" +requires_python = ">=3.6" +summary = "McCabe checker, plugin for flake8" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +requires_python = ">=3.7" +summary = "Markdown URL utilities" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "msgpack" +version = "1.0.7" +requires_python = ">=3.8" +summary = "MessagePack serializer" +files = [ + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681"}, + {file = "msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9"}, + {file = "msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"}, + {file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"}, + {file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5"}, + {file = "msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9"}, + {file = "msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f"}, + {file = "msgpack-1.0.7-cp39-cp39-win32.whl", hash = "sha256:f26a07a6e877c76a88e3cecac8531908d980d3d5067ff69213653649ec0f60ad"}, + {file = "msgpack-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:1dc93e8e4653bdb5910aed79f11e165c85732067614f180f70534f056da97db3"}, + {file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"}, +] + [[package]] name = "mutagen" version = "1.47.0" @@ -452,6 +856,41 @@ files = [ {file = "mutagen-1.47.0.tar.gz", hash = "sha256:719fadef0a978c31b4cf3c956261b3c58b6948b32023078a2117b1de09f0fc99"}, ] +[[package]] +name = "mypy" +version = "1.7.0" +requires_python = ">=3.8" +summary = "Optional static typing for Python" +dependencies = [ + "mypy-extensions>=1.0.0", + "tomli>=1.1.0; python_version < \"3.11\"", + "typing-extensions>=4.1.0", +] +files = [ + {file = "mypy-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5da84d7bf257fd8f66b4f759a904fd2c5a765f70d8b52dde62b521972a0a2357"}, + {file = "mypy-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3637c03f4025f6405737570d6cbfa4f1400eb3c649317634d273687a09ffc2f"}, + {file = "mypy-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b633f188fc5ae1b6edca39dae566974d7ef4e9aaaae00bc36efe1f855e5173ac"}, + {file = "mypy-1.7.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d6ed9a3997b90c6f891138e3f83fb8f475c74db4ccaa942a1c7bf99e83a989a1"}, + {file = "mypy-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fe46e96ae319df21359c8db77e1aecac8e5949da4773c0274c0ef3d8d1268a9"}, + {file = "mypy-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:df67fbeb666ee8828f675fee724cc2cbd2e4828cc3df56703e02fe6a421b7401"}, + {file = "mypy-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a79cdc12a02eb526d808a32a934c6fe6df07b05f3573d210e41808020aed8b5d"}, + {file = "mypy-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f65f385a6f43211effe8c682e8ec3f55d79391f70a201575def73d08db68ead1"}, + {file = "mypy-1.7.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e81ffd120ee24959b449b647c4b2fbfcf8acf3465e082b8d58fd6c4c2b27e46"}, + {file = "mypy-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:f29386804c3577c83d76520abf18cfcd7d68264c7e431c5907d250ab502658ee"}, + {file = "mypy-1.7.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:87c076c174e2c7ef8ab416c4e252d94c08cd4980a10967754f91571070bf5fbe"}, + {file = "mypy-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cb8d5f6d0fcd9e708bb190b224089e45902cacef6f6915481806b0c77f7786d"}, + {file = "mypy-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93e76c2256aa50d9c82a88e2f569232e9862c9982095f6d54e13509f01222fc"}, + {file = "mypy-1.7.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cddee95dea7990e2215576fae95f6b78a8c12f4c089d7e4367564704e99118d3"}, + {file = "mypy-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:d01921dbd691c4061a3e2ecdbfbfad029410c5c2b1ee88946bf45c62c6c91210"}, + {file = "mypy-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c1b06b4b109e342f7dccc9efda965fc3970a604db70f8560ddfdee7ef19afb05"}, + {file = "mypy-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf7a2f0a6907f231d5e41adba1a82d7d88cf1f61a70335889412dec99feeb0f8"}, + {file = "mypy-1.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551d4a0cdcbd1d2cccdcc7cb516bb4ae888794929f5b040bb51aae1846062901"}, + {file = "mypy-1.7.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:55d28d7963bef00c330cb6461db80b0b72afe2f3c4e2963c99517cf06454e665"}, + {file = "mypy-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:870bd1ffc8a5862e593185a4c169804f2744112b4a7c55b93eb50f48e7a77010"}, + {file = "mypy-1.7.0-py3-none-any.whl", hash = "sha256:96650d9a4c651bc2a4991cf46f100973f656d69edc7faf91844e87fe627f7e96"}, + {file = "mypy-1.7.0.tar.gz", hash = "sha256:1e280b5697202efa698372d2f39e9a6713a0395a756b1c6bd48995f8d72690dc"}, +] + [[package]] name = "mypy-extensions" version = "1.0.0" @@ -462,6 +901,16 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "packaging" +version = "23.2" +requires_python = ">=3.7" +summary = "Core utilities for Python packages" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + [[package]] name = "parso" version = "0.8.3" @@ -472,6 +921,37 @@ files = [ {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, ] +[[package]] +name = "pdm" +version = "2.10.1" +requires_python = ">=3.7" +summary = "A modern Python package and dependency manager supporting the latest PEP standards" +dependencies = [ + "blinker", + "cachecontrol[filecache]>=0.13.0", + "certifi", + "findpython<1.0.0a0,>=0.4.0", + "importlib-metadata>=3.6; python_version < \"3.10\"", + "installer<0.8,>=0.7", + "packaging!=22.0,>=20.9", + "platformdirs", + "pyproject-hooks", + "python-dotenv>=0.15", + "requests-toolbelt", + "resolvelib>=1.0.1", + "rich>=12.3.0", + "shellingham>=1.3.2", + "tomli>=1.1.0; python_version < \"3.11\"", + "tomlkit<1,>=0.11.1", + "truststore; python_version >= \"3.10\"", + "unearth>=0.12.1", + "virtualenv>=20", +] +files = [ + {file = "pdm-2.10.1-py3-none-any.whl", hash = "sha256:2b2853b83830ed110a8a1eb3feb62cf4e55165de4809a5278bc9453c788898d3"}, + {file = "pdm-2.10.1.tar.gz", hash = "sha256:d166531c659fc4905933546544dd2e16cf648c2ba6d898c82126ad6a42117a81"}, +] + [[package]] name = "pexpect" version = "4.8.0" @@ -484,6 +964,26 @@ files = [ {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, ] +[[package]] +name = "platformdirs" +version = "3.11.0" +requires_python = ">=3.7" +summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +files = [ + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, +] + +[[package]] +name = "pluggy" +version = "1.3.0" +requires_python = ">=3.8" +summary = "plugin and hook calling mechanisms for python" +files = [ + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, +] + [[package]] name = "prompt-toolkit" version = "3.0.40" @@ -538,6 +1038,16 @@ files = [ {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, ] +[[package]] +name = "pycodestyle" +version = "2.11.1" +requires_python = ">=3.8" +summary = "Python style guide checker" +files = [ + {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, + {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, +] + [[package]] name = "pycparser" version = "2.21" @@ -577,6 +1087,16 @@ files = [ {file = "pycryptodomex-3.19.0.tar.gz", hash = "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"}, ] +[[package]] +name = "pyflakes" +version = "3.1.0" +requires_python = ">=3.8" +summary = "passive checker of Python programs" +files = [ + {file = "pyflakes-3.1.0-py2.py3-none-any.whl", hash = "sha256:4132f6d49cb4dae6819e5379898f2b8cce3c5f23994194c24b77d5da2e36f774"}, + {file = "pyflakes-3.1.0.tar.gz", hash = "sha256:a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"}, +] + [[package]] name = "pygments" version = "2.16.1" @@ -587,6 +1107,37 @@ files = [ {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, ] +[[package]] +name = "pyproject-hooks" +version = "1.0.0" +requires_python = ">=3.7" +summary = "Wrappers to call pyproject.toml-based build backend hooks." +dependencies = [ + "tomli>=1.1.0; python_version < \"3.11\"", +] +files = [ + {file = "pyproject_hooks-1.0.0-py3-none-any.whl", hash = "sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8"}, + {file = "pyproject_hooks-1.0.0.tar.gz", hash = "sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5"}, +] + +[[package]] +name = "pytest" +version = "7.4.3" +requires_python = ">=3.7" +summary = "pytest: simple powerful testing with Python" +dependencies = [ + "colorama; sys_platform == \"win32\"", + "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", + "iniconfig", + "packaging", + "pluggy<2.0,>=0.12", + "tomli>=1.0.0; python_version < \"3.11\"", +] +files = [ + {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, + {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, +] + [[package]] name = "python-crontab" version = "3.0.0" @@ -612,6 +1163,16 @@ files = [ {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] +[[package]] +name = "python-dotenv" +version = "1.0.0" +requires_python = ">=3.8" +summary = "Read key-value pairs from a .env file and set them as environment variables" +files = [ + {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, + {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, +] + [[package]] name = "python-ldap" version = "3.4.3" @@ -634,6 +1195,20 @@ files = [ {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] +[[package]] +name = "recommonmark" +version = "0.7.1" +summary = "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects." +dependencies = [ + "commonmark>=0.8.1", + "docutils>=0.11", + "sphinx>=1.3.1", +] +files = [ + {file = "recommonmark-0.7.1-py2.py3-none-any.whl", hash = "sha256:1b1db69af0231efce3fa21b94ff627ea33dee7079a01dd0a7f8482c3da148b3f"}, + {file = "recommonmark-0.7.1.tar.gz", hash = "sha256:bdb4db649f2222dcd8d2d844f0006b958d627f732415d399791ee436a3686d67"}, +] + [[package]] name = "regex" version = "2023.10.3" @@ -717,6 +1292,62 @@ files = [ {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "A utility belt for advanced users of python-requests" +dependencies = [ + "requests<3.0.0,>=2.0.1", +] +files = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] + +[[package]] +name = "resolvelib" +version = "1.0.1" +summary = "Resolve abstract dependencies into concrete ones" +files = [ + {file = "resolvelib-1.0.1-py2.py3-none-any.whl", hash = "sha256:d2da45d1a8dfee81bdd591647783e340ef3bcb104b54c383f70d422ef5cc7dbf"}, + {file = "resolvelib-1.0.1.tar.gz", hash = "sha256:04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309"}, +] + +[[package]] +name = "rich" +version = "13.6.0" +requires_python = ">=3.7.0" +summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +dependencies = [ + "markdown-it-py>=2.2.0", + "pygments<3.0.0,>=2.13.0", +] +files = [ + {file = "rich-13.6.0-py3-none-any.whl", hash = "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245"}, + {file = "rich-13.6.0.tar.gz", hash = "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"}, +] + +[[package]] +name = "setuptools" +version = "68.2.2" +requires_python = ">=3.8" +summary = "Easily download, build, install, upgrade, and uninstall Python packages" +files = [ + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +requires_python = ">=3.7" +summary = "Tool to Detect Surrounding Shell" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + [[package]] name = "six" version = "1.16.0" @@ -727,6 +1358,15 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[package]] +name = "snowballstemmer" +version = "2.2.0" +summary = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + [[package]] name = "sonic-client" version = "1.0.0" @@ -736,6 +1376,138 @@ files = [ {file = "sonic_client-1.0.0-py3-none-any.whl", hash = "sha256:291bf292861e97a2dd765ff0c8754ea9631383680d31a63ec3da6f5aa5f4beda"}, ] +[[package]] +name = "sphinx" +version = "7.2.6" +requires_python = ">=3.9" +summary = "Python documentation generator" +dependencies = [ + "Jinja2>=3.0", + "Pygments>=2.14", + "alabaster<0.8,>=0.7", + "babel>=2.9", + "colorama>=0.4.5; sys_platform == \"win32\"", + "docutils<0.21,>=0.18.1", + "imagesize>=1.3", + "importlib-metadata>=4.8; python_version < \"3.10\"", + "packaging>=21.0", + "requests>=2.25.0", + "snowballstemmer>=2.0", + "sphinxcontrib-applehelp", + "sphinxcontrib-devhelp", + "sphinxcontrib-htmlhelp>=2.0.0", + "sphinxcontrib-jsmath", + "sphinxcontrib-qthelp", + "sphinxcontrib-serializinghtml>=1.1.9", +] +files = [ + {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"}, + {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"}, +] + +[[package]] +name = "sphinx-rtd-theme" +version = "1.3.0" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "Read the Docs theme for Sphinx" +dependencies = [ + "docutils<0.19", + "sphinx<8,>=1.6", + "sphinxcontrib-jquery<5,>=4", +] +files = [ + {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, + {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, +] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.7" +requires_python = ">=3.9" +summary = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +dependencies = [ + "Sphinx>=5", +] +files = [ + {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"}, + {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"}, +] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.5" +requires_python = ">=3.9" +summary = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +dependencies = [ + "Sphinx>=5", +] +files = [ + {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"}, + {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"}, +] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.4" +requires_python = ">=3.9" +summary = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +dependencies = [ + "Sphinx>=5", +] +files = [ + {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"}, + {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"}, +] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +requires_python = ">=2.7" +summary = "Extension to include jQuery on newer Sphinx releases" +dependencies = [ + "Sphinx>=1.8", +] +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +requires_python = ">=3.5" +summary = "A sphinx extension which renders display math in HTML via JavaScript" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.6" +requires_python = ">=3.9" +summary = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +dependencies = [ + "Sphinx>=5", +] +files = [ + {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"}, + {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"}, +] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.9" +requires_python = ">=3.9" +summary = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +dependencies = [ + "Sphinx>=5", +] +files = [ + {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"}, + {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"}, +] + [[package]] name = "sqlparse" version = "0.4.4" @@ -760,6 +1532,26 @@ files = [ {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] +[[package]] +name = "tomli" +version = "2.0.1" +requires_python = ">=3.7" +summary = "A lil' TOML parser" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tomlkit" +version = "0.12.2" +requires_python = ">=3.7" +summary = "Style preserving TOML library" +files = [ + {file = "tomlkit-0.12.2-py3-none-any.whl", hash = "sha256:eeea7ac7563faeab0a1ed8fe12c2e5a51c61f933f2502f7e9db0241a65163ad0"}, + {file = "tomlkit-0.12.2.tar.gz", hash = "sha256:df32fab589a81f0d7dc525a4267b6d7a64ee99619cbd1eeb0fae32c1dd426977"}, +] + [[package]] name = "traitlets" version = "5.13.0" @@ -770,6 +1562,34 @@ files = [ {file = "traitlets-5.13.0.tar.gz", hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"}, ] +[[package]] +name = "truststore" +version = "0.8.0" +requires_python = ">= 3.10" +summary = "Verify certificates using native system trust stores" +files = [ + {file = "truststore-0.8.0-py3-none-any.whl", hash = "sha256:e37a5642ae9fc48caa8f120b6283d77225d600d224965a672c9e8ef49ce4bb4c"}, + {file = "truststore-0.8.0.tar.gz", hash = "sha256:dc70da89634944a579bfeec70a7a4523c53ffdb3cf52d1bb4a431fda278ddb96"}, +] + +[[package]] +name = "types-pytz" +version = "2023.3.1.1" +summary = "Typing stubs for pytz" +files = [ + {file = "types-pytz-2023.3.1.1.tar.gz", hash = "sha256:cc23d0192cd49c8f6bba44ee0c81e4586a8f30204970fc0894d209a6b08dab9a"}, + {file = "types_pytz-2023.3.1.1-py3-none-any.whl", hash = "sha256:1999a123a3dc0e39a2ef6d19f3f8584211de9e6a77fe7a0259f04a524e90a5cf"}, +] + +[[package]] +name = "types-pyyaml" +version = "6.0.12.12" +summary = "Typing stubs for PyYAML" +files = [ + {file = "types-PyYAML-6.0.12.12.tar.gz", hash = "sha256:334373d392fde0fdf95af5c3f1661885fa10c52167b14593eb856289e1855062"}, + {file = "types_PyYAML-6.0.12.12-py3-none-any.whl", hash = "sha256:c05bc6c158facb0676674b7f11fe3960db4f389718e19e62bd2b84d6205cfd24"}, +] + [[package]] name = "typing-extensions" version = "4.8.0" @@ -803,6 +1623,20 @@ files = [ {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, ] +[[package]] +name = "unearth" +version = "0.12.1" +requires_python = ">=3.7" +summary = "A utility to fetch and download python packages" +dependencies = [ + "packaging>=20", + "requests>=2.25", +] +files = [ + {file = "unearth-0.12.1-py3-none-any.whl", hash = "sha256:a5a5c51ca44965cbe3618116bd592bb0bbe3705af5fe14e5792660d904aad7c8"}, + {file = "unearth-0.12.1.tar.gz", hash = "sha256:4caad941b60f51e50fdc109866234d407910aef77f1233aa1b6b5d168c7427ee"}, +] + [[package]] name = "urllib3" version = "2.1.0" @@ -813,6 +1647,21 @@ files = [ {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] +[[package]] +name = "virtualenv" +version = "20.24.6" +requires_python = ">=3.7" +summary = "Virtual Python Environment builder" +dependencies = [ + "distlib<1,>=0.3.7", + "filelock<4,>=3.12.2", + "platformdirs<4,>=3.9.1", +] +files = [ + {file = "virtualenv-20.24.6-py3-none-any.whl", hash = "sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381"}, + {file = "virtualenv-20.24.6.tar.gz", hash = "sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"}, +] + [[package]] name = "w3lib" version = "2.1.2" @@ -901,6 +1750,16 @@ files = [ {file = "websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, ] +[[package]] +name = "wheel" +version = "0.41.3" +requires_python = ">=3.7" +summary = "A built-package format for Python" +files = [ + {file = "wheel-0.41.3-py3-none-any.whl", hash = "sha256:488609bc63a29322326e05560731bf7bfea8e48ad646e1f5e40d366607de0942"}, + {file = "wheel-0.41.3.tar.gz", hash = "sha256:4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841"}, +] + [[package]] name = "yt-dlp" version = "2023.10.13" @@ -918,3 +1777,13 @@ files = [ {file = "yt-dlp-2023.10.13.tar.gz", hash = "sha256:e026ea1c435ff36eef1215bc4c5bb8c479938b90054997ba99f63a4541fe63b4"}, {file = "yt_dlp-2023.10.13-py2.py3-none-any.whl", hash = "sha256:2b069f22675532eebacdfd6372b1825651a751fef848de9ae6efe6491b2dc38a"}, ] + +[[package]] +name = "zipp" +version = "3.17.0" +requires_python = ">=3.8" +summary = "Backport of pathlib-compatible object wrapper for zip files" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] From 1e4457690e0aa409193a8be96183d66373a99293 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 23:51:42 -0800 Subject: [PATCH 013/126] bump docs build --- docs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs b/docs index bfc5f76a..7a6f3bc8 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit bfc5f76a61faee5c0c04bae03fe2b88cff1c39c5 +Subproject commit 7a6f3bc86e67d6441360108ebe7a0744fa50671c From 79a69ca031533c8a9cfa6cf6fc9b40561bac1cdc Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 23:56:12 -0800 Subject: [PATCH 015/126] add .readthedocs.yaml config --- .readthedocs.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..90f67af5 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,29 @@ +# Read the Docs configuration file for Sphinx projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.12" + nodejs: "22" + +# Build documentation in the "docs/" directory with Sphinx +sphinx: + configuration: docs/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + +Optionally build your docs in additional formats such as PDF and ePub +formats: + - pdf + - epub + +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: requirements.txt \ No newline at end of file From 93d284a67b54636f961c7c1b7eeae622ed54d9e8 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 23:58:12 -0800 Subject: [PATCH 016/126] fix yaml typo --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 90f67af5..99a8b5c5 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -16,7 +16,7 @@ sphinx: # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs # builder: "dirhtml" -Optionally build your docs in additional formats such as PDF and ePub +# Optionally build your docs in additional formats such as PDF and ePub formats: - pdf - epub From 282e033b3c51ebd80d58eb8f4e15bebc4ba6b8a0 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 13 Nov 2023 23:58:34 -0800 Subject: [PATCH 017/126] fix nodejs sphinx requirement --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 99a8b5c5..bba4bdf2 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,7 +8,7 @@ build: os: ubuntu-22.04 tools: python: "3.12" - nodejs: "22" + nodejs: "20" # Build documentation in the "docs/" directory with Sphinx sphinx: From 65bf98bcd256a2ed1c4e8cc9cc36951219e48c71 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:01:44 -0800 Subject: [PATCH 018/126] remove python-ldap from requirements.txt --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 6ec3d070..770ac3e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,6 @@ croniter==2.0.1 dateparser==1.1.8 decorator==5.1.1 django==3.1.14 -django-auth-ldap==4.1.0 django-extensions==3.1.5 executing==2.0.1 idna==3.4 @@ -31,7 +30,6 @@ pycryptodomex==3.19.0 pygments==2.16.1 python-crontab==3.0.0 python-dateutil==2.8.2 -python-ldap==3.4.3 pytz==2023.3.post1 regex==2023.10.3 requests==2.31.0 From 8b93641c4bcdabf5854225213d7ed3cec0f2b874 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:05:08 -0800 Subject: [PATCH 019/126] clone submodules --- .readthedocs.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index bba4bdf2..be8350af 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,6 +3,10 @@ version: 2 +submodules: + include: all + recursive: true + # Set the OS, Python version and other tools you might need build: os: ubuntu-22.04 From 7665c803da775f98e0f389190882a879a24731a8 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:10:10 -0800 Subject: [PATCH 020/126] add requirements.txt to docs subfolder --- .readthedocs.yaml | 2 +- docs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index be8350af..eb093893 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -30,4 +30,4 @@ formats: # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: install: - - requirements: requirements.txt \ No newline at end of file + - requirements: docs/requirements.txt \ No newline at end of file diff --git a/docs b/docs index 7a6f3bc8..f6afdb28 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 7a6f3bc86e67d6441360108ebe7a0744fa50671c +Subproject commit f6afdb2886b6467b901c82b4a8449b2ac94e2fb5 From 8bb448c6147687db5352e8176954fbc2f832b3b1 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:11:45 -0800 Subject: [PATCH 021/126] install both sets of requirements --- .readthedocs.yaml | 1 + docs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index eb093893..7224eee9 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -30,4 +30,5 @@ formats: # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: install: + - requirements: requirements.txt - requirements: docs/requirements.txt \ No newline at end of file diff --git a/docs b/docs index f6afdb28..98e83eea 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit f6afdb2886b6467b901c82b4a8449b2ac94e2fb5 +Subproject commit 98e83eeabb5fc1a57de278bb165c3236f2938e67 From d3d05f5f64f4112ac4386e3288e3b9cb472109da Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:21:09 -0800 Subject: [PATCH 022/126] add fallback version detection mode --- archivebox/config.py | 10 +++++++++- archivebox/main.py | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/archivebox/config.py b/archivebox/config.py index 99a1847c..9a5e0d35 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -377,7 +377,15 @@ ALLOWED_IN_OUTPUT_DIR = { } def get_version(config): - return importlib.metadata.version(__package__ or 'archivebox') + try: + return importlib.metadata.version(__package__ or 'archivebox') + except importlib.metadata.PackageNotFoundError: + pyproject_config = (config['PACKAGE_DIR'] / 'pyproject.toml').read_text() + for line in pyproject_config: + if line.startswith('version = '): + return line.split(' = ', 1)[-1].strip('"') + + raise Exception('Failed to detect installed archivebox version!') def get_commit_hash(config): try: diff --git a/archivebox/main.py b/archivebox/main.py index 5ce1e288..b0e45bac 100755 --- a/archivebox/main.py +++ b/archivebox/main.py @@ -217,8 +217,8 @@ def version(quiet: bool=False, print(VERSION) if not quiet: - # 0.6.3 - # ArchiveBox v0.6.3 Cpython Linux Linux-4.19.121-linuxkit-x86_64-with-glibc2.28 x86_64 (in Docker) (in TTY) + # 0.7.1 + # ArchiveBox v0.7.1 Cpython Linux Linux-4.19.121-linuxkit-x86_64-with-glibc2.28 x86_64 (in Docker) (in TTY) # DEBUG=False IN_DOCKER=True IN_QEMU=False IS_TTY=True TZ=UTC FS_ATOMIC=True FS_REMOTE=False FS_PERMS=644 FS_USER=501:20 SEARCH_BACKEND=ripgrep p = platform.uname() From 6188dcdcbd6c7cccd17a8cfb1599b4b03e928be8 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:38:37 -0800 Subject: [PATCH 023/126] return placeholder version during docs build --- archivebox/config.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/archivebox/config.py b/archivebox/config.py index 9a5e0d35..775be8e4 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -380,10 +380,14 @@ def get_version(config): try: return importlib.metadata.version(__package__ or 'archivebox') except importlib.metadata.PackageNotFoundError: - pyproject_config = (config['PACKAGE_DIR'] / 'pyproject.toml').read_text() - for line in pyproject_config: - if line.startswith('version = '): - return line.split(' = ', 1)[-1].strip('"') + try: + pyproject_config = (config['PACKAGE_DIR'] / 'pyproject.toml').read_text() + for line in pyproject_config: + if line.startswith('version = '): + return line.split(' = ', 1)[-1].strip('"') + except FileNotFoundError: + # building docs, pyproject.toml is not available + return 'dev' raise Exception('Failed to detect installed archivebox version!') From 3f8ff7913a5d19315332327bd55a4ede7dbf580b Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:45:53 -0800 Subject: [PATCH 024/126] override theme css --- docs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs b/docs index 98e83eea..a1b69c51 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 98e83eeabb5fc1a57de278bb165c3236f2938e67 +Subproject commit a1b69c51ba9b249c0b2a6efd141dbb792fc36ad2 From f6ea21eabf25ed3dc42ed51419b114dddda6d95a Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 00:52:29 -0800 Subject: [PATCH 025/126] bump version in package.json --- archivebox/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archivebox/package.json b/archivebox/package.json index f3d5b736..9f903598 100644 --- a/archivebox/package.json +++ b/archivebox/package.json @@ -1,6 +1,6 @@ { "name": "archivebox", - "version": "0.7.0", + "version": "0.7.1", "description": "ArchiveBox: The self-hosted internet archive", "author": "Nick Sweeting ", "repository": "github:ArchiveBox/ArchiveBox", From 0b950b3253b5ccef6f324aede8e9e1f2e6723822 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 28 Mar 2023 02:58:49 -0600 Subject: [PATCH 026/126] make get_commit_hash more precisce by using exact ref --- archivebox/config.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/archivebox/config.py b/archivebox/config.py index 775be8e4..4e434c12 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -393,7 +393,10 @@ def get_version(config): def get_commit_hash(config): try: - return list((config['PACKAGE_DIR'] / '../.git/refs/heads/').glob('*'))[0].read_text().strip() + git_dir = config['PACKAGE_DIR'] / '../') + ref = (git_dir / 'HEAD').read_text().strip().split(' ')[-1] + commit_hash = git_dir.joinpath(ref).read_text().strip() + return commit_hash except Exception: return None From f0033f75d07d856d9b3c60ea679f3b6241806ba5 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Thu, 4 May 2023 01:43:34 -0700 Subject: [PATCH 027/126] config.py lint fixes --- archivebox/config.py | 6 +++--- archivebox/extractors/__init__.py | 2 +- bin/build_docker.sh | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/archivebox/config.py b/archivebox/config.py index 4e434c12..a047ff20 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -53,6 +53,7 @@ from .config_stubs import ( ### Pre-Fetch Minimal System Config +TIMEZONE = 'UTC' SYSTEM_USER = getpass.getuser() or os.getlogin() try: @@ -81,7 +82,6 @@ CONFIG_SCHEMA: Dict[str, ConfigDefaultDict] = { 'IN_QEMU': {'type': bool, 'default': False}, 'PUID': {'type': int, 'default': os.getuid()}, 'PGID': {'type': int, 'default': os.getgid()}, - # TODO: 'SHOW_HINTS': {'type: bool, 'default': True}, }, 'GENERAL_CONFIG': { @@ -393,7 +393,7 @@ def get_version(config): def get_commit_hash(config): try: - git_dir = config['PACKAGE_DIR'] / '../') + git_dir = config['PACKAGE_DIR'] / '../' ref = (git_dir / 'HEAD').read_text().strip().split(' ')[-1] commit_hash = git_dir.joinpath(ref).read_text().strip() return commit_hash @@ -1195,7 +1195,7 @@ def check_dependencies(config: ConfigDict=CONFIG, show_help: bool=True) -> None: if config['USE_YOUTUBEDL'] and config['MEDIA_TIMEOUT'] < 20: stderr(f'[!] Warning: MEDIA_TIMEOUT is set too low! (currently set to MEDIA_TIMEOUT={config["MEDIA_TIMEOUT"]} seconds)', color='red') - stderr(' Youtube-dl will fail to archive all media if set to less than ~20 seconds.') + stderr(' youtube-dl/yt-dlp will fail to archive any media if set to less than ~20 seconds.') stderr(' (Setting it somewhere over 60 seconds is recommended)') stderr() stderr(' If you want to disable media archiving entirely, set SAVE_MEDIA=False instead:') diff --git a/archivebox/extractors/__init__.py b/archivebox/extractors/__init__.py index edcf218b..2515b8fd 100644 --- a/archivebox/extractors/__init__.py +++ b/archivebox/extractors/__init__.py @@ -184,7 +184,7 @@ def archive_link(link: Link, overwrite: bool=False, methods: Optional[Iterable[s link.url, command, ts - ) + "\n")) + ) + "\n" + str(e) + "\n")) #f.write(f"\n> {command}; ts={ts} version={config['VERSION']} docker={config['IN_DOCKER']} is_tty={config['IS_TTY']}\n") # print(' ', stats) diff --git a/bin/build_docker.sh b/bin/build_docker.sh index c88ed54c..e427c0a6 100755 --- a/bin/build_docker.sh +++ b/bin/build_docker.sh @@ -74,6 +74,7 @@ echo "[+] Generating requirements.txt and pdm.lock from pyproject.toml..." pdm lock --group=':all' --strategy="cross_platform" --production pdm export --group=':all' --production --without-hashes -o requirements.txt + echo "[+] Building archivebox:$VERSION docker image..." # docker builder prune # docker build . --no-cache -t archivebox-dev \ From 2b421c56bba9bebb85364578537fcd40d7ddf8b9 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Thu, 4 May 2023 01:43:47 -0700 Subject: [PATCH 028/126] require builx for for docker builds --- bin/build_docker.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/build_docker.sh b/bin/build_docker.sh index e427c0a6..2de9f676 100755 --- a/bin/build_docker.sh +++ b/bin/build_docker.sh @@ -50,6 +50,7 @@ function create_builder() { docker buildx use xbuilder && return 0 echo "[+] Creating new xbuilder for: $SELECTED_PLATFORMS" echo + docker pull 'moby/buildkit:buildx-stable-1' # Switch to buildx builder if already present / previously created docker buildx create --name xbuilder --driver docker-container --bootstrap --use --platform "$SELECTED_PLATFORMS" || true From 6761ed368c75337d21f89c282bcbf982b081ad41 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 02:04:49 -0800 Subject: [PATCH 029/126] wip pre-0.7.1 side fixes --- .vscode/settings.json | 3 + archivebox/config.py | 1 + archivebox/core/admin.py | 19 +- archivebox/core/apps.py | 2 +- archivebox/core/settings.py | 1 + archivebox/logging_util.py | 6 +- archivebox/static | 1 + archivebox/templates/admin/private_index.html | 1 + docker-compose.yml | 3 +- etc/crontabs/archivebox | 8 + package-lock.json | 1740 +++++++++++++++++ screenshot.png | Bin 0 -> 42845 bytes 12 files changed, 1772 insertions(+), 13 deletions(-) create mode 100644 .vscode/settings.json create mode 120000 archivebox/static create mode 100644 etc/crontabs/archivebox create mode 100644 screenshot.png diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..163c9840 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.formatting.provider": "black" +} diff --git a/archivebox/config.py b/archivebox/config.py index a047ff20..2895f207 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -786,6 +786,7 @@ def find_chrome_binary() -> Optional[str]: # Precedence: Chromium, Chrome, Beta, Canary, Unstable, Dev # make sure data dir finding precedence order always matches binary finding order default_executable_paths = ( + # '~/Library/Caches/ms-playwright/chromium-*/chrome-mac/Chromium.app/Contents/MacOS/Chromium', 'chromium-browser', 'chromium', '/Applications/Chromium.app/Contents/MacOS/Chromium', diff --git a/archivebox/core/admin.py b/archivebox/core/admin.py index 0329d9b0..ce4612a7 100644 --- a/archivebox/core/admin.py +++ b/archivebox/core/admin.py @@ -48,22 +48,23 @@ class TagInline(admin.TabularInline): from django.contrib.admin.helpers import ActionForm from django.contrib.admin.widgets import AutocompleteSelectMultiple -class AutocompleteTags: - model = Tag - search_fields = ['name'] +# class AutocompleteTags: +# model = Tag +# search_fields = ['name'] +# name = 'tags' -class AutocompleteTagsAdminStub: - name = 'admin' +# class AutocompleteTagsAdminStub: +# name = 'admin' class SnapshotActionForm(ActionForm): tags = forms.ModelMultipleChoiceField( queryset=Tag.objects.all(), required=False, - widget=AutocompleteSelectMultiple( - AutocompleteTags(), - AutocompleteTagsAdminStub(), - ), + # widget=AutocompleteSelectMultiple( + # # AutocompleteTags(), + # # AutocompleteTagsAdminStub(), + # ), ) # TODO: allow selecting actions for specific extractors? is this useful? diff --git a/archivebox/core/apps.py b/archivebox/core/apps.py index 5182da05..21b95877 100644 --- a/archivebox/core/apps.py +++ b/archivebox/core/apps.py @@ -3,4 +3,4 @@ from django.apps import AppConfig class CoreConfig(AppConfig): name = 'core' - default_auto_field = 'django.db.models.UUIDField' + # default_auto_field = 'django.db.models.UUIDField' diff --git a/archivebox/core/settings.py b/archivebox/core/settings.py index 11fd649d..8334c39b 100644 --- a/archivebox/core/settings.py +++ b/archivebox/core/settings.py @@ -268,6 +268,7 @@ AUTH_PASSWORD_VALIDATORS = [ {'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'}, ] +# DEFAULT_AUTO_FIELD = 'django.db.models.UUIDField' ################################################################################ ### Shell Settings diff --git a/archivebox/logging_util.py b/archivebox/logging_util.py index d43bb086..af98c3fb 100644 --- a/archivebox/logging_util.py +++ b/archivebox/logging_util.py @@ -393,7 +393,11 @@ def log_link_archiving_finished(link: "Link", link_dir: str, is_new: bool, stats else: _LAST_RUN_STATS.succeeded += 1 - size = get_dir_size(link_dir) + try: + size = get_dir_size(link_dir) + except FileNotFoundError: + size = (0, None, '0') + end_ts = datetime.now(timezone.utc) duration = str(end_ts - start_ts).split('.')[0] print(' {black}{} files ({}) in {}s {reset}'.format(size[2], printable_filesize(size[0]), duration, **ANSI)) diff --git a/archivebox/static b/archivebox/static new file mode 120000 index 00000000..5d01044d --- /dev/null +++ b/archivebox/static @@ -0,0 +1 @@ +templates/static \ No newline at end of file diff --git a/archivebox/templates/admin/private_index.html b/archivebox/templates/admin/private_index.html index b60f3a3e..a95a7716 100644 --- a/archivebox/templates/admin/private_index.html +++ b/archivebox/templates/admin/private_index.html @@ -88,4 +88,5 @@ {% endblock %}
+ {% endblock %} diff --git a/docker-compose.yml b/docker-compose.yml index e4ea2b5d..6eff7736 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,6 @@ services: # - ./etc/crontabs:/var/spool/cron/crontabs # uncomment this and archivebox_scheduler below to set up automatic recurring archive jobs # - ./archivebox:/app/archivebox # uncomment this to mount the ArchiveBox source code at runtime (for developers working on archivebox) # build: . # uncomment this to build the image from source code at buildtime (for developers working on archivebox) - environment: - ALLOWED_HOSTS=* # restrict this to only accept incoming traffic via specific domain name # - PUBLIC_INDEX=True # set to False to prevent anonymous users from viewing snapshot list @@ -161,4 +160,4 @@ networks: ipam: driver: default config: - - subnet: 172.20.0.0/24 \ No newline at end of file + - subnet: 172.20.0.0/24 diff --git a/etc/crontabs/archivebox b/etc/crontabs/archivebox new file mode 100644 index 00000000..fbb0acd3 --- /dev/null +++ b/etc/crontabs/archivebox @@ -0,0 +1,8 @@ +# DO NOT EDIT THIS FILE - edit the master and reinstall. +# (/tmp/tmpe3dawo9u installed on Tue Jun 13 23:21:48 2023) +# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) + +@daily cd /data && /usr/local/bin/archivebox add --depth=0 "https://example.com/3" >> /data/logs/schedule.log 2>&1 # archivebox_schedule +@daily cd /data && /usr/local/bin/archivebox add --depth=0 "https://example.com/2" >> /data/logs/schedule.log 2>&1 # archivebox_schedule +@daily cd /data && /usr/local/bin/archivebox add --depth=0 "https://example.com" >> /data/logs/schedule.log 2>&1 # archivebox_schedule +@daily cd /data && /usr/local/bin/archivebox add --depth=0 "update" >> /data/logs/schedule.log 2>&1 # archivebox_schedule diff --git a/package-lock.json b/package-lock.json index 158d57dd..bf024723 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,16 @@ { "name": "archivebox", +<<<<<<< HEAD "version": "0.7.1", +======= + "version": "0.7.0", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "archivebox", +<<<<<<< HEAD "version": "0.7.1", "license": "MIT", "dependencies": { @@ -34,6 +39,36 @@ "node": ">=14.0.0" } }, +======= + "version": "0.7.0", + "license": "MIT", + "dependencies": { + "@postlight/mercury-parser": "git+https://github.com/postlight/mercury-parser.git", + "readability-extractor": "git+https://github.com/ArchiveBox/readability-extractor.git", + "single-file": "git+https://github.com/gildas-lormeau/SingleFile.git" + } + }, + "node_modules/@babel/runtime-corejs2": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.20.7.tgz", + "integrity": "sha512-SrtIxfjwLkUFljufH1GeqYlIYzdyxP2IoCb3tVjcrTdMyB7RQyRCdkyMzvw3k/h+CStnSf2SvvQicS1Rf/fuGQ==", + "dependencies": { + "core-js": "^2.6.12", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mozilla/readability": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@mozilla/readability/-/readability-0.4.2.tgz", + "integrity": "sha512-48MJXzi4Dhy2fJ3lGjmwdEJKoMmn3oiYew9n/1OW6cZy78hAzRIyDJDBCGrg4PBFDyY4xos+H4LCFn5QVRDcfw==", + "engines": { + "node": ">=10.0.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/@postlight/ci-failed-test-reporter": { "version": "1.0.26", "resolved": "https://registry.npmjs.org/@postlight/ci-failed-test-reporter/-/ci-failed-test-reporter-1.0.26.tgz", @@ -46,15 +81,26 @@ "ciftr": "cli.js" } }, +<<<<<<< HEAD "node_modules/@postlight/parser": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@postlight/parser/-/parser-2.2.3.tgz", "integrity": "sha512-4/syRvqJARgLN4yH8qtl634WO0+KINjkijU/SmhCJqqh8/aOfv5uQf+SquFpA+JwsAsbGzYQkIxSum29riOreg==", +======= + "node_modules/@postlight/mercury-parser": { + "version": "2.2.1", + "resolved": "git+ssh://git@github.com/postlight/mercury-parser.git#9cd9662bcbfea00b773fad691a4f6e53394ff543", + "integrity": "sha512-nTyjg98Zpe2anZVjl16QzC3b9nThISzhzw59aoRMCW7gqjDb8VFU1bXrFlt9dEkxxey1ysuJ109hdCJI17TVVg==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "bundleDependencies": [ "jquery", "moment-timezone", "browser-request" ], +<<<<<<< HEAD +======= + "license": "MIT", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "@babel/runtime-corejs2": "^7.2.0", "@postlight/ci-failed-test-reporter": "^1.0", @@ -75,13 +121,18 @@ "yargs-parser": "^15.0.1" }, "bin": { +<<<<<<< HEAD "mercury-parser": "cli.js", "postlight-parser": "cli.js" +======= + "mercury-parser": "cli.js" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "engines": { "node": ">=10" } }, +<<<<<<< HEAD "node_modules/@postlight/parser/node_modules/browser-request": { "version": "0.3.2", "engines": [ @@ -107,14 +158,28 @@ }, "node_modules/@postlight/parser/node_modules/moment": { "version": "2.29.4", +======= + "node_modules/@postlight/mercury-parser/node_modules/jquery": { + "version": "3.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@postlight/mercury-parser/node_modules/moment": { + "version": "2.23.0", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "inBundle": true, "license": "MIT", "engines": { "node": "*" } }, +<<<<<<< HEAD "node_modules/@postlight/parser/node_modules/moment-timezone": { "version": "0.5.37", +======= + "node_modules/@postlight/mercury-parser/node_modules/moment-timezone": { + "version": "0.5.26", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "inBundle": true, "license": "MIT", "dependencies": { @@ -124,11 +189,14 @@ "node": "*" } }, +<<<<<<< HEAD "node_modules/@postlight/parser/node_modules/next-line": { "version": "1.1.0", "inBundle": true, "license": "MIT" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/@postman/form-data": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@postman/form-data/-/form-data-3.1.1.tgz", @@ -142,6 +210,7 @@ "node": ">= 6" } }, +<<<<<<< HEAD "node_modules/@postman/tough-cookie": { "version": "4.1.3-postman.1", "resolved": "https://registry.npmjs.org/@postman/tough-cookie/-/tough-cookie-4.1.3-postman.1.tgz", @@ -156,6 +225,8 @@ "node": ">=6" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/@postman/tunnel-agent": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@postman/tunnel-agent/-/tunnel-agent-0.6.3.tgz", @@ -167,6 +238,7 @@ "node": "*" } }, +<<<<<<< HEAD "node_modules/@puppeteer/browsers": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", @@ -240,6 +312,28 @@ "integrity": "sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==", "optional": true, "dependencies": { +======= + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "@types/node": "*" } }, @@ -249,14 +343,21 @@ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" }, "node_modules/acorn": { +<<<<<<< HEAD "version": "8.11.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", +======= + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "bin": { "acorn": "bin/acorn" }, "engines": { "node": ">=0.4.0" +<<<<<<< HEAD } }, "node_modules/acorn-globals": { @@ -276,6 +377,38 @@ "node": ">=0.4.0" } }, +======= + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "engines": { + "node": ">=0.4.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -324,6 +457,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, +<<<<<<< HEAD +======= + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -340,6 +481,7 @@ "node": ">=0.8" } }, +<<<<<<< HEAD "node_modules/ast-types": { "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", @@ -350,6 +492,12 @@ "engines": { "node": ">=4" } +======= + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/asynckit": { "version": "0.4.0", @@ -369,11 +517,14 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, +<<<<<<< HEAD "node_modules/b4a": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -398,6 +549,7 @@ } ] }, +<<<<<<< HEAD "node_modules/basic-ftp": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", @@ -406,6 +558,8 @@ "node": ">=10.0.0" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -414,6 +568,19 @@ "tweetnacl": "^0.14.3" } }, +<<<<<<< HEAD +======= + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/bluebird": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", @@ -441,6 +608,25 @@ "base64-js": "^1.1.2" } }, +<<<<<<< HEAD +======= + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browser-request": { + "version": "0.3.2", + "resolved": "git+ssh://git@github.com/postlight/browser-request.git#38faa5b85741aabfca61aa37d1ef044d68969ddf", + "integrity": "sha512-TOvTWJ0BrWcB8Ach1AvdSBuczm2fsJdBlmo8D4N8fei7xfboW9VEk67zfriCiBo3/19Xe1waSstCEcLFUeBCjA==", + "engines": [ + "node" + ], + "dependencies": { + "http-headers": "^3.0.1" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -511,6 +697,7 @@ "node": ">= 0.6" } }, +<<<<<<< HEAD "node_modules/chromium-bidi": { "version": "0.4.26", "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.26.tgz", @@ -526,6 +713,17 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", +======= + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -579,6 +777,7 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, +<<<<<<< HEAD "node_modules/cross-fetch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", @@ -587,6 +786,8 @@ "node-fetch": "^2.6.12" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", @@ -604,6 +805,7 @@ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", "engines": { "node": "*" +<<<<<<< HEAD } }, "node_modules/cssstyle": { @@ -617,6 +819,23 @@ "node": ">=14" } }, +======= + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dependencies": { + "cssom": "0.3.x" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -626,6 +845,7 @@ }, "engines": { "node": ">=0.10" +<<<<<<< HEAD } }, "node_modules/data-uri-to-buffer": { @@ -670,6 +890,41 @@ }, "engines": { "node": ">=14" +======= + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/data-urls/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/data-urls/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/debug": { @@ -701,6 +956,7 @@ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, +<<<<<<< HEAD "node_modules/degenerator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", @@ -713,6 +969,12 @@ "engines": { "node": ">= 14" } +======= + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/delayed-stream": { "version": "1.0.0", @@ -723,13 +985,23 @@ } }, "node_modules/devtools-protocol": { +<<<<<<< HEAD "version": "0.0.1159816", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1159816.tgz", "integrity": "sha512-2cZlHxC5IlgkIWe2pSDmCrDiTzbSJWywjbDDnupOImEBcG31CQgBLV8wWE+5t+C4rimcjHsbzy7CBzf9oFjboA==" +======= + "version": "0.0.818844", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz", + "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/difflib": { "version": "0.2.6", "resolved": "git+ssh://git@github.com/postlight/difflib.js.git#32e8e38c7fcd935241b9baab71bb432fd9b166ed", +<<<<<<< HEAD +======= + "integrity": "sha512-uFNs7czGYLWdMP22WQhD/vlFen/CuKzC+KiajNCj+ik2Ah/I9i2AFyMWkBjFgbVFGhv95kBHOtx7tgF6IVngqA==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "heap": ">= 0.2.0" } @@ -749,6 +1021,7 @@ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "node_modules/domexception": { +<<<<<<< HEAD "version": "4.0.0", "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", @@ -759,6 +1032,20 @@ "node": ">=12" } }, +======= + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/domhandler": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", @@ -767,6 +1054,7 @@ "domelementtype": "1" } }, +<<<<<<< HEAD "node_modules/domino": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", @@ -777,6 +1065,13 @@ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz", "integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==" }, +======= + "node_modules/dompurify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz", + "integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -835,6 +1130,7 @@ } }, "node_modules/escodegen": { +<<<<<<< HEAD "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", @@ -842,13 +1138,27 @@ "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" +======= + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "bin": { "escodegen": "bin/escodegen.js", "esgenerate": "bin/esgenerate.js" }, "engines": { +<<<<<<< HEAD "node": ">=6.0" +======= + "node": ">=4.0" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "optionalDependencies": { "source-map": "~0.6.1" @@ -867,9 +1177,15 @@ } }, "node_modules/estraverse": { +<<<<<<< HEAD "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", +======= + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "engines": { "node": ">=4.0" } @@ -919,16 +1235,27 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, +<<<<<<< HEAD "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, +<<<<<<< HEAD +======= + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -943,6 +1270,21 @@ "integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==", "engines": { "node": ">=8" +<<<<<<< HEAD +======= + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/forever-agent": { @@ -951,6 +1293,7 @@ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { "node": "*" +<<<<<<< HEAD } }, "node_modules/form-data": { @@ -987,6 +1330,28 @@ "node": ">= 4.0.0" } }, +======= + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1014,6 +1379,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, +<<<<<<< HEAD "node_modules/get-uri": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", @@ -1028,6 +1394,8 @@ "node": ">= 14" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -1055,11 +1423,14 @@ "url": "https://github.com/sponsors/isaacs" } }, +<<<<<<< HEAD "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -1087,6 +1458,7 @@ "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" }, "node_modules/html-encoding-sniffer": { +<<<<<<< HEAD "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", @@ -1095,6 +1467,13 @@ }, "engines": { "node": ">=12" +======= + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dependencies": { + "whatwg-encoding": "^1.0.1" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/htmlparser2": { @@ -1110,12 +1489,29 @@ "readable-stream": "^3.1.1" } }, +<<<<<<< HEAD "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dependencies": { "@tootallnate/once": "2", +======= + "node_modules/http-headers": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-headers/-/http-headers-3.0.2.tgz", + "integrity": "sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw==", + "dependencies": { + "next-line": "^1.1.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "agent-base": "6", "debug": "4" }, @@ -1197,11 +1593,14 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, +<<<<<<< HEAD "node_modules/ip": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -1230,12 +1629,21 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, +<<<<<<< HEAD +======= + "node_modules/jquery": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "node_modules/jsdom": { +<<<<<<< HEAD "version": "21.1.2", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", @@ -1300,6 +1708,61 @@ }, "engines": { "node": ">=14" +======= + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/jsdom/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/jsdom/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/json-schema": { @@ -1317,6 +1780,7 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, +<<<<<<< HEAD "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -1325,6 +1789,8 @@ "graceful-fs": "^4.1.6" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", @@ -1348,6 +1814,7 @@ "pako": "~1.0.2", "readable-stream": "~2.3.6", "setimmediate": "^1.0.5" +<<<<<<< HEAD } }, "node_modules/jszip/node_modules/readable-stream": { @@ -1364,10 +1831,29 @@ "util-deprecate": "~1.0.1" } }, +======= + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/jszip/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" +<<<<<<< HEAD }, "node_modules/jszip/node_modules/string_decoder": { "version": "1.1.1", @@ -1375,6 +1861,33 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" +======= + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "deprecated": "use String.prototype.padStart()" + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/lie": { @@ -1385,6 +1898,20 @@ "immediate": "~3.0.5" } }, +<<<<<<< HEAD +======= + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -1450,6 +1977,7 @@ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, +<<<<<<< HEAD "node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -1457,6 +1985,12 @@ "engines": { "node": ">=12" } +======= + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/mime-db": { "version": "1.52.0", @@ -1488,26 +2022,55 @@ "node": "*" } }, +<<<<<<< HEAD "node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, +<<<<<<< HEAD +======= + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/moment-parseformat": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/moment-parseformat/-/moment-parseformat-3.0.0.tgz", "integrity": "sha512-dVgXe6b6DLnv4CHG7a1zUe5mSXaIZ3c6lSHm/EKeVeQI2/4pwe0VRde8OyoCE1Ro2lKT5P6uT9JElF7KDLV+jw==" }, +<<<<<<< HEAD +======= + "node_modules/moment-timezone": { + "version": "0.5.26", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz", + "integrity": "sha512-sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==", + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, +<<<<<<< HEAD "node_modules/netmask": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", @@ -1535,6 +2098,32 @@ } } }, +======= + "node_modules/next-line": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz", + "integrity": "sha512-+I10J3wKNoKddNxn0CNpoZ3eTZuqxjNM3b1GImVx22+ePI+Y15P8g/j3WsbP0fhzzrFzrtjOAoq5NCCucswXOQ==" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -1544,9 +2133,15 @@ } }, "node_modules/nwsapi": { +<<<<<<< HEAD "version": "2.2.7", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" +======= + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/oauth-sign": { "version": "0.9.0", @@ -1564,6 +2159,7 @@ "wrappy": "1" } }, +<<<<<<< HEAD "node_modules/pac-proxy-agent": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", @@ -1630,12 +2226,72 @@ "node": ">= 14" } }, +======= + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/parse5": { +<<<<<<< HEAD "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", @@ -1655,6 +2311,18 @@ }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" +======= + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/path-is-absolute": { @@ -1675,10 +2343,33 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, +<<<<<<< HEAD "node_modules/postman-request": { "version": "2.88.1-postman.33", "resolved": "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.33.tgz", "integrity": "sha512-uL9sCML4gPH6Z4hreDWbeinKU0p0Ke261nU7OvII95NU22HN6Dk7T/SaVPaj6T4TsQqGKIFw6/woLZnH7ugFNA==", +======= + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "node_modules/postman-request": { + "version": "2.88.1-postman.31", + "resolved": "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.31.tgz", + "integrity": "sha512-OJbYqP7ItxQ84yHyuNpDywCZB0HYbpHJisMQ9lb1cSL3N5H3Td6a2+3l/a74UMd3u82BiGC5yQyYmdOIETP/nQ==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "@postman/form-data": "~3.1.1", "@postman/tough-cookie": "~4.1.3-postman.1", @@ -1701,12 +2392,28 @@ "qs": "~6.5.3", "safe-buffer": "^5.1.2", "stream-length": "^1.0.2", +<<<<<<< HEAD "uuid": "^8.3.2" +======= + "tough-cookie": "~2.5.0", + "uuid": "^3.3.2" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "engines": { "node": ">= 6" } }, +<<<<<<< HEAD +======= + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -1720,6 +2427,7 @@ "node": ">=0.4.0" } }, +<<<<<<< HEAD "node_modules/proxy-agent": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", @@ -1773,6 +2481,8 @@ "node": ">= 14" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -1793,14 +2503,21 @@ } }, "node_modules/punycode": { +<<<<<<< HEAD "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", +======= + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "engines": { "node": ">=6" } }, "node_modules/puppeteer-core": { +<<<<<<< HEAD "version": "21.2.1", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.2.1.tgz", "integrity": "sha512-+I8EjpWFeeFKScpQiTEnC4jGve2Wr4eA9qUMoa8S317DJPm9h7wzrT4YednZK2TQZMyPtPQ2Disb/Tg02+4Naw==", @@ -1826,6 +2543,59 @@ "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" +======= + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-5.5.0.tgz", + "integrity": "sha512-tlA+1n+ziW/Db03hVV+bAecDKse8ihFRXYiEypBe9IlLRvOCzYFG6qrCMBYK34HO/Q/Ecjc+tvkHRAfLVH+NgQ==", + "dependencies": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.818844", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "node-fetch": "^2.6.1", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-core/node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/puppeteer-core/node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dependencies": { + "agent-base": "5", + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/puppeteer-core/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "peerDependenciesMeta": { "bufferutil": { @@ -1844,11 +2614,24 @@ "node": ">=0.6" } }, +<<<<<<< HEAD +======= + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, +<<<<<<< HEAD "node_modules/queue-tick": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", @@ -1871,20 +2654,425 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", +======= + "node_modules/readability-extractor": { + "version": "0.0.2", + "resolved": "git+ssh://git@github.com/ArchiveBox/readability-extractor.git#42b243843c724a5d7a6b364d23985ff6acaeb55a", + "integrity": "sha512-B+oZuG4FwPYg5hxEafuhrwNOS8uiv/gYKlLKbIaeXXHlyznARYOqHpkHumiLMU6vkbZ3VAC7WucnWwh5jVOaBQ==", + "license": "MIT", + "dependencies": { + "@mozilla/readability": "^0.4.1", + "dompurify": "^2.2.7", + "jsdom": "^16.5.2" + }, + "bin": { + "readability-extractor": "readability-extractor" + } + }, + "node_modules/readability-extractor/node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/readability-extractor/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/readability-extractor/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/readability-extractor/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/readability-extractor/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/readability-extractor/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/readability-extractor/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/readability-extractor/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readability-extractor/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/readability-extractor/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/readability-extractor/node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/readability-extractor/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/readability-extractor/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readability-extractor/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readability-extractor/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/readability-extractor/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/readability-extractor/node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/readability-extractor/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/readability-extractor/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/readability-extractor/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readability-extractor/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" +<<<<<<< HEAD +======= }, "engines": { "node": ">= 6" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) + }, + "engines": { + "node": ">= 6" + } + }, +<<<<<<< HEAD "node_modules/regenerator-runtime": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, +======= + "node_modules/request-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", + "deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise/node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/request/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/request/node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -1912,11 +3100,14 @@ "url": "https://github.com/sponsors/isaacs" } }, +<<<<<<< HEAD "node_modules/rrweb-cssom": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1941,14 +3132,27 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, +<<<<<<< HEAD "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", +======= + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "xmlchars": "^2.2.0" }, "engines": { +<<<<<<< HEAD "node": ">=v12.22.7" } }, @@ -1963,6 +3167,33 @@ }, "engines": { "node": ">= 14.20.0" +======= + "node": ">=10" + } + }, + "node_modules/selenium-webdriver": { + "version": "4.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.7.tgz", + "integrity": "sha512-D4qnTsyTr91jT8f7MfN+OwY0IlU5+5FmlO5xlgRUV6hDEV8JyYx2NerdTEqDDkNq7RZDYc4VoPALk8l578RBHw==", + "dependencies": { + "jszip": "^3.2.2", + "rimraf": "^2.7.1", + "tmp": "0.0.30" + }, + "engines": { + "node": ">= 10.15.0" + } + }, + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/setimmediate": { @@ -1970,6 +3201,7 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, +<<<<<<< HEAD "node_modules/single-file-cli": { "version": "1.1.18", "resolved": "https://registry.npmjs.org/single-file-cli/-/single-file-cli-1.1.18.tgz", @@ -1989,6 +3221,172 @@ } }, "node_modules/single-file-cli/node_modules/iconv-lite": { +======= + "node_modules/single-file": { + "version": "0.3.16", + "resolved": "git+ssh://git@github.com/gildas-lormeau/SingleFile.git#ec9dbc7c2272bff0dc2415a44d6cdfb2b48aa7d2", + "integrity": "sha512-NwwtloJdZlPG2zKrTAlcPRowIcwQx+1U39wcyPnfsbpVZKi6FAyLpo+CV0/xVJmvdOO0DSTvimuZtnc8/gJfTw==", + "license": "AGPL-3.0-or-later", + "dependencies": { + "file-url": "^3.0.0", + "iconv-lite": "^0.6.2", + "jsdom": "^16.4.0", + "puppeteer-core": "^5.3.0", + "selenium-webdriver": "4.0.0-alpha.7", + "strong-data-uri": "^1.0.6", + "yargs": "^16.2.0" + }, + "bin": { + "single-file": "cli/single-file" + } + }, + "node_modules/single-file/node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/single-file/node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/single-file/node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/single-file/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/single-file/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/single-file/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/single-file/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/single-file/node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/single-file/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/single-file/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/single-file/node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/single-file/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/single-file/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/single-file/node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/single-file/node_modules/iconv-lite": { +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", @@ -1999,6 +3397,7 @@ "node": ">=0.10.0" } }, +<<<<<<< HEAD "node_modules/single-file-cli/node_modules/jsdom": { "version": "22.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", @@ -2030,6 +3429,43 @@ }, "engines": { "node": ">=16" +======= + "node_modules/single-file/node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "peerDependencies": { "canvas": "^2.5.0" @@ -2040,6 +3476,7 @@ } } }, +<<<<<<< HEAD "node_modules/single-file-cli/node_modules/tr46": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", @@ -2119,6 +3556,79 @@ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" }, +======= + "node_modules/single-file/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/single-file/node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/single-file/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/single-file/node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/single-file/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/single-file/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2129,9 +3639,15 @@ } }, "node_modules/sshpk": { +<<<<<<< HEAD "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", +======= + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -2152,6 +3668,17 @@ "node": ">=0.10.0" } }, +<<<<<<< HEAD +======= + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "engines": { + "node": ">=0.10.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/stream-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz", @@ -2160,6 +3687,7 @@ "bluebird": "^2.6.2" } }, +<<<<<<< HEAD "node_modules/streamx": { "version": "2.15.2", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.2.tgz", @@ -2169,6 +3697,8 @@ "queue-tick": "^1.0.1" } }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -2223,16 +3753,25 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tar-fs": { +<<<<<<< HEAD "version": "3.0.4", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", "dependencies": { +======= + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^3.1.5" } }, "node_modules/tar-stream": { +<<<<<<< HEAD "version": "3.1.6", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", @@ -2240,6 +3779,20 @@ "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" +======= + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/through": { @@ -2248,6 +3801,7 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/tmp": { +<<<<<<< HEAD "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", @@ -2270,6 +3824,28 @@ }, "engines": { "node": ">=6" +======= + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==", + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/tr46": { @@ -2283,6 +3859,7 @@ "integrity": "sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ==", "engines": { "node": "*" +<<<<<<< HEAD } }, "node_modules/tslib": { @@ -2296,6 +3873,27 @@ "integrity": "sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==", "dependencies": { "domino": "^2.1.6" +======= + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/turndown": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-5.0.3.tgz", + "integrity": "sha512-popfGXEiedpq6F5saRIAThKxq/bbEPVFnsDnUdjaDGIre9f3/OL9Yi/yPbPcZ7RYUDpekghr666bBfZPrwNnhQ==", + "dependencies": { + "jsdom": "^11.9.0" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/tweetnacl": { @@ -2303,6 +3901,20 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, +<<<<<<< HEAD +======= + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", @@ -2312,12 +3924,15 @@ "through": "^2.3.8" } }, +<<<<<<< HEAD "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "optional": true }, +======= +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", @@ -2334,6 +3949,18 @@ "punycode": "^2.1.0" } }, +<<<<<<< HEAD +======= + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -2343,17 +3970,34 @@ "requires-port": "^1.0.0" } }, +<<<<<<< HEAD +======= + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { +<<<<<<< HEAD "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { "uuid": "dist/bin/uuid" +======= + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/valid-url": { @@ -2374,6 +4018,7 @@ "extsprintf": "^1.2.0" } }, +<<<<<<< HEAD "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -2423,6 +4068,57 @@ "node": ">=12" } }, +======= + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -2432,10 +4128,20 @@ "webidl-conversions": "^3.0.0" } }, +<<<<<<< HEAD "node_modules/whatwg-url/node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" +======= + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -2459,6 +4165,7 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { +<<<<<<< HEAD "version": "8.14.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", @@ -2476,6 +4183,13 @@ "utf-8-validate": { "optional": true } +======= + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dependencies": { + "async-limiter": "~1.0.0" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/wuzzy": { @@ -2487,12 +4201,18 @@ } }, "node_modules/xml-name-validator": { +<<<<<<< HEAD "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "engines": { "node": ">=12" } +======= + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) }, "node_modules/xmlchars": { "version": "2.2.0", @@ -2508,11 +4228,19 @@ } }, "node_modules/yargs": { +<<<<<<< HEAD "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", +======= + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", @@ -2521,7 +4249,11 @@ "yargs-parser": "^21.1.1" }, "engines": { +<<<<<<< HEAD "node": ">=12" +======= + "node": ">=10" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/yargs-parser": { @@ -2534,11 +4266,19 @@ } }, "node_modules/yargs/node_modules/yargs-parser": { +<<<<<<< HEAD "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" +======= + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" +>>>>>>> 46b944b (wip pre-0.7.1 side fixes) } }, "node_modules/yauzl": { diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0dfcb530cce8a021b84e63f3290c4c2fa363b4bf GIT binary patch literal 42845 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 F{sr?|$4meK literal 0 HcmV?d00001 From 76f6cfbfdee02d19861e9b610a9aff11dddcac19 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 02:24:51 -0800 Subject: [PATCH 030/126] Update pyproject.toml and merge dev groups --- pyproject.toml | 44 +++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cb3a0c36..a7a6f461 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,10 +3,9 @@ name = "archivebox" version = "0.7.1" description = "Self-hosted internet archiving solution." authors = [ - {name = "Nick Sweeting", email = "setup.py@archivebox.io"}, + {name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}, ] dependencies = [ - # "setuptools>=68.2.2", "croniter>=0.3.34", "dateparser>=1.0.0", "django-extensions>=3.0.3", @@ -16,8 +15,7 @@ dependencies = [ "python-crontab>=2.5.1", "requests>=2.24.0", "w3lib>=1.22.0", - # "youtube-dl>=2021.04.17", - "yt-dlp>=2021.4.11", + "yt-dlp>=2023.10.13", # "playwright>=1.39.0; platform_machine != 'armv7l'", ] requires-python = ">=3.9" @@ -56,34 +54,26 @@ classifiers = [ # pdm lock -G:all # pdm install -G:all [tool.pdm.dev-dependencies] -build = [ - "setuptools", +dev = [ + # build + "setuptools>=68.2.2", "wheel", "pdm", - # "bottle", - # "stdeb", - # "twine", -] -lint = [ - "flake8", - "mypy", - "django-stubs", -] -test = [ - "pytest", -] -debug = [ - "django-debug-toolbar", - "djdt_flamegraph", - "ipdb", -] -doc = [ + "homebrew-pypi-poet>=0.10.0", + # docs "recommonmark", "sphinx", "sphinx-rtd-theme", -] -dev = [ - "homebrew-pypi-poet>=0.10.0", + # debug + "django-debug-toolbar", + "djdt_flamegraph", + "ipdb", + # test + "pytest", + # lint + "flake8", + "mypy", + "django-stubs", ] [tool.pdm.scripts] From 277364ab61fd901070d4907c661a60ad8fe5edae Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 02:29:18 -0800 Subject: [PATCH 031/126] remove extra files --- .vscode/settings.json | 3 --- screenshot.png | Bin 42845 -> 0 bytes 2 files changed, 3 deletions(-) delete mode 100644 .vscode/settings.json delete mode 100644 screenshot.png diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 163c9840..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.formatting.provider": "black" -} diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index 0dfcb530cce8a021b84e63f3290c4c2fa363b4bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42845 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 F{sr?|$4meK From f5c2cfcfe231f9d42c502e74f17e9d521ffe4b26 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 14 Nov 2023 02:30:59 -0800 Subject: [PATCH 032/126] dont alert on statics --- archivebox/templates/admin/private_index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/archivebox/templates/admin/private_index.html b/archivebox/templates/admin/private_index.html index a95a7716..b60f3a3e 100644 --- a/archivebox/templates/admin/private_index.html +++ b/archivebox/templates/admin/private_index.html @@ -88,5 +88,4 @@ {% endblock %} - {% endblock %} From b3adef6267c59dea6be27ed006f7051a4fa35a46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Nov 2023 14:49:40 +0000 Subject: [PATCH 033/126] Bump yt-dlp from 2023.10.13 to 2023.11.14 Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2023.10.13 to 2023.11.14. - [Release notes](https://github.com/yt-dlp/yt-dlp/releases) - [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md) - [Commits](https://github.com/yt-dlp/yt-dlp/compare/2023.10.13...2023.11.14) --- updated-dependencies: - dependency-name: yt-dlp dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 770ac3e3..aa1cd8b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -43,4 +43,4 @@ urllib3==2.1.0 w3lib==2.1.2 wcwidth==0.2.10 websockets==12.0 -yt-dlp==2023.10.13 +yt-dlp==2023.11.14 From f81e51a1fc336bc9bd432c1ff532bf27745ff429 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 19 Nov 2023 13:45:00 -0800 Subject: [PATCH 034/126] fix typo in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a561a28..2c93d05b 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ curl -sSL 'https://get.archivebox.io' | sh # (or see pip/brew/Docker instruct **ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline.** -Without active preservation effort, everything on the internet eventually dissapears or degrades. Archive.org does a great job as a free central archive, but they require all archives to be public, and they cant save every type of content. +Without active preservation effort, everything on the internet eventually dissapears or degrades. Archive.org does a great job as a free central archive, but they require all archives to be public, and they can't save every type of content. *ArchiveBox is an open source tool that helps you archive web content on your own (or privately within an organization): save sharable copies of browser bookmarks, preserve evidence for legal cases, backup photos on FB / Insta / Flickr, download your media from YT / Soundcloud / etc., snapshot research papers in academic citations, and more...* From 2619853e60fb7f539f1553a1f909327c6414fea9 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 19 Nov 2023 13:45:58 -0800 Subject: [PATCH 035/126] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c93d05b..104be916 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ curl -sSL 'https://get.archivebox.io' | sh # (or see pip/brew/Docker instruct Without active preservation effort, everything on the internet eventually dissapears or degrades. Archive.org does a great job as a free central archive, but they require all archives to be public, and they can't save every type of content. -*ArchiveBox is an open source tool that helps you archive web content on your own (or privately within an organization): save sharable copies of browser bookmarks, preserve evidence for legal cases, backup photos on FB / Insta / Flickr, download your media from YT / Soundcloud / etc., snapshot research papers in academic citations, and more...* +*ArchiveBox is an open source tool that helps you archive web content on your own (or privately within an organization): save copies of browser bookmarks, preserve evidence for legal cases, backup photos from FB / Insta / Flickr, download your media from YT / Soundcloud / etc., snapshot research papers & academic citations, and more...* > ➡️ *Use ArchiveBox as a [command-line package](#quickstart) and/or [self-hosted web app](#quickstart) on Linux, macOS, or in [Docker](#quickstart).* From ff12d34dbfabc0867167095ab9866d3751f80d37 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 19 Nov 2023 13:51:42 -0800 Subject: [PATCH 036/126] warn about delayed releases for some package managers --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 104be916..82240d05 100644 --- a/README.md +++ b/README.md @@ -320,6 +320,10 @@ See the pip-archive
Arch pacman / FreeBSD pkg / Nix nix (Arch/FreeBSD/NixOS/more)
+ +> [!WARNING] +> *These are contributed by external volunteers and may lag behind the official `pip` channel.* +