diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef484de2..b08cdcf5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Sith 3 CI +name: Sith CI on: push: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a1ed6db0..514d2a06 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,7 +31,7 @@ jobs: script_stop: true - # See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action + # See https://github.com/ae-utbm/sith/wiki/GitHub-Actions#deployment-action script: | export PATH="/home/sith/.local/bin:$PATH" pushd ${{secrets.SITH_PATH}} diff --git a/.github/workflows/taiste.yml b/.github/workflows/taiste.yml index ce102a8e..c6eadafc 100644 --- a/.github/workflows/taiste.yml +++ b/.github/workflows/taiste.yml @@ -1,4 +1,4 @@ -name: Sith3 taiste +name: Sith taiste on: push: @@ -30,7 +30,7 @@ jobs: script_stop: true - # See https://github.com/ae-utbm/sith3/wiki/GitHub-Actions#deployment-action + # See https://github.com/ae-utbm/sith/wiki/GitHub-Actions#deployment-action script: | export PATH="$HOME/.poetry/bin:$PATH" pushd ${{secrets.SITH_PATH}} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c844b4f8..3d0b57f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,13 +1,18 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.5.7 + rev: v0.6.9 hooks: - id: ruff # just check the code, and print the errors - id: ruff # actually fix the fixable errors, but print nothing args: ["--fix", "--silent"] # Run the formatter. - id: ruff-format + - repo: https://github.com/biomejs/pre-commit + rev: "v0.1.0" # Use the sha / tag you want to point at + hooks: + - id: biome-check + additional_dependencies: ["@biomejs/biome@1.9.3"] - repo: https://github.com/rtts/djhtml rev: 3.0.6 hooks: diff --git a/README.md b/README.md index f27dc28d..ba594fec 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,15 @@ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](#) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) -[![CI status](https://github.com/ae-utbm/sith3/actions/workflows/ci.yml/badge.svg)](#) -[![Docs status](https://github.com/ae-utbm/sith3/actions/workflows/deploy_docs.yml/badge.svg)](https://ae-utbm.github.io/sith3) +[![CI status](https://github.com/ae-utbm/sith/actions/workflows/ci.yml/badge.svg)](#) +[![Docs status](https://github.com/ae-utbm/sith/actions/workflows/deploy_docs.yml/badge.svg)](https://ae-utbm.github.io/sith) [![Built with Material for MkDocs](https://img.shields.io/badge/Material_for_MkDocs-526CFE?style=default&logo=MaterialForMkDocs&logoColor=white)](https://squidfunk.github.io/mkdocs-material/) +[![Checked with Biome](https://img.shields.io/badge/Checked_with-Biome-60a5fa?style=flat&logo=biome)](https://biomejs.dev) [![discord](https://img.shields.io/discord/971448179075731476?label=discord&logo=discord&style=default)](https://discord.gg/xk9wfpsufm) ### This is the source code of the UTBM's student association available at [https://ae.utbm.fr/](https://ae.utbm.fr/). -All documentation is in the `docs` directory and online at [https://ae-utbm.github.io/sith3](https://ae-utbm.github.io/sith3). This documentation is written in French because it targets a French audience and it's too much work to maintain two versions. The code and code comments are strictly written in English. +All documentation is in the `docs` directory and online at [https://ae-utbm.github.io/sith](https://ae-utbm.github.io/sith). This documentation is written in French because it targets a French audience and it's too much work to maintain two versions. The code and code comments are strictly written in English. #### If you want to contribute, here's how we recommend to read the docs: diff --git a/accounting/__init__.py b/accounting/__init__.py index a098e7ba..f4445e69 100644 --- a/accounting/__init__.py +++ b/accounting/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/admin.py b/accounting/admin.py index f0a3784e..29321713 100644 --- a/accounting/admin.py +++ b/accounting/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/models.py b/accounting/models.py index b0c3fab1..7eaba943 100644 --- a/accounting/models.py +++ b/accounting/models.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/tests.py b/accounting/tests.py index 3630c0e2..6dc61d08 100644 --- a/accounting/tests.py +++ b/accounting/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/urls.py b/accounting/urls.py index 029cd4cc..c8e6082c 100644 --- a/accounting/urls.py +++ b/accounting/urls.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/accounting/views.py b/accounting/views.py index 85d1a4c7..276aefcc 100644 --- a/accounting/views.py +++ b/accounting/views.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/babel.config.json b/babel.config.json index ae719f31..623ee01c 100644 --- a/babel.config.json +++ b/babel.config.json @@ -12,4 +12,4 @@ } ] ] -} \ No newline at end of file +} diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..fdfe712a --- /dev/null +++ b/biome.json @@ -0,0 +1,29 @@ +{ + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + }, + "files": { + "ignoreUnknown": false, + "ignore": ["core/static/vendored", "*.min.*", "staticfiles/generated"] + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "lineWidth": 88 + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "all": true + } + }, + "javascript": { + "globals": ["Alpine", "$", "jQuery", "gettext", "interpolate"] + } +} diff --git a/club/__init__.py b/club/__init__.py index a098e7ba..f4445e69 100644 --- a/club/__init__.py +++ b/club/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/club/admin.py b/club/admin.py index 3dab59fd..c2444c17 100644 --- a/club/admin.py +++ b/club/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/club/models.py b/club/models.py index 3c31aad1..be875632 100644 --- a/club/models.py +++ b/club/models.py @@ -35,6 +35,7 @@ from django.db.models import Q from django.urls import reverse from django.utils import timezone from django.utils.functional import cached_property +from django.utils.timezone import localdate from django.utils.translation import gettext_lazy as _ from core.models import Group, MetaGroup, Notification, Page, RealGroup, SithFile, User @@ -269,7 +270,7 @@ class Club(models.Model): class MembershipQuerySet(models.QuerySet): def ongoing(self) -> Self: """Filter all memberships which are not finished yet.""" - return self.filter(Q(end_date=None) | Q(end_date__gt=timezone.now().date())) + return self.filter(Q(end_date=None) | Q(end_date__gt=localdate())) def board(self) -> Self: """Filter all memberships where the user is/was in the board. diff --git a/club/tests.py b/club/tests.py index 6450d32d..e0de344d 100644 --- a/club/tests.py +++ b/club/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # @@ -19,7 +19,7 @@ from django.core.cache import cache from django.test import TestCase from django.urls import reverse from django.utils import timezone -from django.utils.timezone import localtime, now +from django.utils.timezone import localdate, localtime, now from django.utils.translation import gettext as _ from club.forms import MailingForm @@ -109,7 +109,7 @@ class TestMembershipQuerySet(TestClub): def test_ongoing_with_membership_ending_today(self): """Test that a membership ending the present day is considered as ended.""" - today = timezone.now().date() + today = localdate() self.richard.memberships.filter(club=self.club).update(end_date=today) current_members = list(self.club.members.ongoing().order_by("id")) expected = [ diff --git a/com/__init__.py b/com/__init__.py index a098e7ba..f4445e69 100644 --- a/com/__init__.py +++ b/com/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/admin.py b/com/admin.py index 76b966fc..84e85328 100644 --- a/com/admin.py +++ b/com/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/static/com/js/poster_list.js b/com/static/com/js/poster_list.js index 9d4090e9..8ffb97c4 100644 --- a/com/static/com/js/poster_list.js +++ b/com/static/com/js/poster_list.js @@ -1,24 +1,23 @@ -$(document).ready(function(){ +$(document).ready(() => { + $("#poster_list #view").click(() => { + $("#view").removeClass("active"); + }); - $("#poster_list #view").click(function(e){ - $("#view").removeClass("active"); - }); + $("#poster_list .poster .image").click((e) => { + let el = $(e.target); + if (el.hasClass("image")) { + el = el.find("img"); + } + $("#poster_list #view #placeholder").html(el.clone()); - $("#poster_list .poster .image").click(function(e){ - - el = $(e.target); - if(el.hasClass("image")) - el = el.find("img") - $("#poster_list #view #placeholder").html(el.clone()); - - $("#view").addClass("active"); - }); - - $(document).keyup(function(e) { - if (e.keyCode == 27) { // escape key maps to keycode `27` - e.preventDefault(); - $("#view").removeClass("active"); - } - }); + $("#view").addClass("active"); + }); + $(document).keyup((e) => { + if (e.keyCode === 27) { + // escape key maps to keycode `27` + e.preventDefault(); + $("#view").removeClass("active"); + } + }); }); diff --git a/com/static/com/js/slideshow.js b/com/static/com/js/slideshow.js index 74ac9765..952af8b8 100644 --- a/com/static/com/js/slideshow.js +++ b/com/static/com/js/slideshow.js @@ -1,118 +1,98 @@ -$(document).ready(function(){ +$(document).ready(() => { + const transitionTime = 1000; - transition_time = 1000; + let i = 0; + const max = $("#slideshow .slide").length; - i = 0; - max = $("#slideshow .slide").length; - - next_trigger = 0 - - function enterFullscreen() { - element = document.getElementById("slideshow"); - $(element).addClass("fullscreen"); - if(element.requestFullscreen) { - element.requestFullscreen(); - } else if(element.mozRequestFullScreen) { - element.mozRequestFullScreen(); - } else if(element.webkitRequestFullscreen) { - element.webkitRequestFullscreen(); - } else if(element.msRequestFullscreen) { - element.msRequestFullscreen(); - } + function enterFullscreen() { + const element = document.getElementById("slideshow"); + $(element).addClass("fullscreen"); + if (element.requestFullscreen) { + element.requestFullscreen(); + } else if (element.mozRequestFullScreen) { + element.mozRequestFullScreen(); + } else if (element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(); + } else if (element.msRequestFullscreen) { + element.msRequestFullscreen(); } + } - function exitFullscreen() { - element = document.getElementById("slideshow"); - $(element).removeClass("fullscreen"); - if (document.exitFullscreen) { - document.exitFullscreen(); - } else if (document.webkitExitFullscreen) { - document.webkitExitFullscreen(); - } else if (document.mozCancelFullScreen) { - document.mozCancelFullScreen(); - } else if (document.msExitFullscreen) { - document.msExitFullscreen(); - } + function exitFullscreen() { + const element = document.getElementById("slideshow"); + $(element).removeClass("fullscreen"); + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); } + } - function init_progress_bar() - { + function initProgressBar() { + $("#slideshow #progress_bar").css("transition", "none"); + $("#slideshow #progress_bar").removeClass("progress"); + $("#slideshow #progress_bar").addClass("init"); + } - $("#slideshow #progress_bar").css("transition", "none"); - $("#slideshow #progress_bar").removeClass("progress"); - $("#slideshow #progress_bar").addClass("init"); + function startProgressBar(displayTime) { + $("#slideshow #progress_bar").removeClass("init"); + $("#slideshow #progress_bar").addClass("progress"); + $("#slideshow #progress_bar").css("transition", `width ${displayTime}s linear`); + } + function next() { + initProgressBar(); + const slide = $($("#slideshow .slide").get(i % max)); + slide.removeClass("center"); + slide.addClass("left"); + + const nextSlide = $($("#slideshow .slide").get((i + 1) % max)); + nextSlide.removeClass("right"); + nextSlide.addClass("center"); + const displayTime = nextSlide.attr("display_time") || 2; + + $("#slideshow .bullet").removeClass("active"); + const bullet = $("#slideshow .bullet")[(i + 1) % max]; + $(bullet).addClass("active"); + + i = (i + 1) % max; + + setTimeout(() => { + const othersLeft = $("#slideshow .slide.left"); + othersLeft.removeClass("left"); + othersLeft.addClass("right"); + + startProgressBar(displayTime); + setTimeout(next, displayTime * 1000); + }, transitionTime); + } + + const displayTime = $("#slideshow .center").attr("display_time"); + initProgressBar(); + setTimeout(() => { + if (max > 1) { + startProgressBar(displayTime); + setTimeout(next, displayTime * 1000); } + }, 10); - function start_progress_bar(display_time) - { - - $("#slideshow #progress_bar").removeClass("init"); - $("#slideshow #progress_bar").addClass("progress"); - $("#slideshow #progress_bar").css("transition", "width " + display_time + "s linear") - + $("#slideshow").click(() => { + if ($("#slideshow").hasClass("fullscreen")) { + exitFullscreen(); + } else { + enterFullscreen(); } + }); - function next() - { - - init_progress_bar(); - slide = $($("#slideshow .slide").get(i % max)); - slide.removeClass("center"); - slide.addClass("left"); - - next_slide = $($("#slideshow .slide").get((i + 1) % max)); - next_slide.removeClass("right"); - next_slide.addClass("center"); - display_time = next_slide.attr("display_time") || 2; - - $("#slideshow .bullet").removeClass("active"); - bullet = $("#slideshow .bullet")[(i + 1) % max]; - $(bullet).addClass("active"); - - i = (i + 1) % max; - - setTimeout(function(){ - - others_left = $("#slideshow .slide.left"); - others_left.removeClass("left"); - others_left.addClass("right"); - - start_progress_bar(display_time); - next_trigger = setTimeout(next, display_time * 1000); - - }, transition_time); - + $(document).keyup((e) => { + if (e.keyCode === 27) { + // escape key maps to keycode `27` + e.preventDefault(); + exitFullscreen(); } - - - display_time = $("#slideshow .center").attr("display_time"); - init_progress_bar(); - setTimeout(function(){ - if(max > 1){ - start_progress_bar(display_time); - setTimeout(next, display_time * 1000); - } - }, 10); - - - $("#slideshow").click(function(e){ - if(!$("#slideshow").hasClass("fullscreen")) - { - console.log("Entering fullscreen ..."); - enterFullscreen(); - }else{ - console.log("Exiting fullscreen ..."); - exitFullscreen(); - } - }); - - $(document).keyup(function(e) { - if (e.keyCode == 27) { // escape key maps to keycode `27` - e.preventDefault(); - console.log("Exiting fullscreen ..."); - exitFullscreen(); - } - }); - + }); }); diff --git a/com/templates/com/poster_list.jinja b/com/templates/com/poster_list.jinja index 9ff3add4..8c4f5cd1 100644 --- a/com/templates/com/poster_list.jinja +++ b/com/templates/com/poster_list.jinja @@ -27,7 +27,7 @@
- {% if poster_list.count() == 0 %} + {% if poster_list.count() == 0 %}
{% trans %}No posters{% endtrans %}
{% else %} diff --git a/com/templates/com/screen_slideshow.jinja b/com/templates/com/screen_slideshow.jinja index 0118c9ce..509c0640 100644 --- a/com/templates/com/screen_slideshow.jinja +++ b/com/templates/com/screen_slideshow.jinja @@ -2,7 +2,9 @@ {% trans %}Slideshow{% endtrans %} - + + +
@@ -10,7 +12,7 @@
{% for poster in posters %}
- +
{% endfor %}
@@ -24,7 +26,5 @@
- - diff --git a/com/tests.py b/com/tests.py index 1ca29a08..1c39fa36 100644 --- a/com/tests.py +++ b/com/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/urls.py b/com/urls.py index 20323f0a..b0376936 100644 --- a/com/urls.py +++ b/com/urls.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/com/views.py b/com/views.py index 248fb30e..97f2d080 100644 --- a/com/views.py +++ b/com/views.py @@ -34,6 +34,7 @@ from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, redirect from django.urls import reverse, reverse_lazy from django.utils import timezone +from django.utils.timezone import localdate from django.utils.translation import gettext_lazy as _ from django.views.generic import DetailView, ListView, View from django.views.generic.detail import SingleObjectMixin @@ -381,8 +382,8 @@ class NewsListView(CanViewMixin, ListView): kwargs["timedelta"] = timedelta kwargs["birthdays"] = ( User.objects.filter( - date_of_birth__month=timezone.now().month, - date_of_birth__day=timezone.now().day, + date_of_birth__month=localdate().month, + date_of_birth__day=localdate().day, ) .filter(role__in=["STUDENT", "FORMER STUDENT"]) .order_by("-date_of_birth") diff --git a/core/__init__.py b/core/__init__.py index a098e7ba..f4445e69 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/admin.py b/core/admin.py index e8436db0..367c056a 100644 --- a/core/admin.py +++ b/core/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/fixtures/groups.json b/core/fixtures/groups.json index 8f385d40..91759cce 100644 --- a/core/fixtures/groups.json +++ b/core/fixtures/groups.json @@ -1 +1,14 @@ -[{"pk": 1, "fields": {"permissions": [1, 2, 3, 7, 8, 9, 4, 5, 6, 10, 11, 12, 19, 20, 21, 22, 25, 23, 24, 16, 17, 18, 13, 14, 15]}, "model": "core.group"}, {"pk": 2, "fields": {"permissions": [25]}, "model": "core.group"}, {"pk": 3, "fields": {"permissions": []}, "model": "core.group"}] \ No newline at end of file +[ + { + "pk": 1, + "fields": { + "permissions": [ + 1, 2, 3, 7, 8, 9, 4, 5, 6, 10, 11, 12, 19, 20, 21, 22, 25, 23, 24, 16, 17, 18, + 13, 14, 15 + ] + }, + "model": "core.group" + }, + { "pk": 2, "fields": { "permissions": [25] }, "model": "core.group" }, + { "pk": 3, "fields": { "permissions": [] }, "model": "core.group" } +] diff --git a/core/fixtures/pages.json b/core/fixtures/pages.json index aecf84ee..2960a792 100644 --- a/core/fixtures/pages.json +++ b/core/fixtures/pages.json @@ -1 +1,74 @@ -[{"pk": 1, "model": "core.page", "fields": {"full_name": "guy2", "owner_group": 1, "parent": null, "edit_groups": [], "name": "guy2", "view_groups": []}}, {"pk": 2, "model": "core.page", "fields": {"full_name": "guy2/bibou", "owner_group": 1, "parent": 1, "edit_group": [], "name": "bibou", "view_group": []}}, {"pk": 3, "model": "core.page", "fields": {"full_name": "guy2/bibou/troll", "owner_group": 1, "parent": 2, "edit_group": [], "name": "troll", "view_group": []}}, {"pk": 4, "model": "core.page", "fields": {"full_name": "guy", "owner_group": 1, "parent": null, "edit_group": [1], "name": "guy", "view_group": [1]}}, {"pk": 5, "model": "core.page", "fields": {"full_name": "bibou", "owner_group": 3, "parent": null, "edit_group": [1], "name": "bibou", "view_group": []}}, {"pk": 6, "model": "core.page", "fields": {"full_name": "guy2/guy", "owner_group": 1, "parent": 1, "edit_group": [], "name": "guy", "view_group": []}}] \ No newline at end of file +[ + { + "pk": 1, + "model": "core.page", + "fields": { + "full_name": "guy2", + "owner_group": 1, + "parent": null, + "edit_groups": [], + "name": "guy2", + "view_groups": [] + } + }, + { + "pk": 2, + "model": "core.page", + "fields": { + "full_name": "guy2/bibou", + "owner_group": 1, + "parent": 1, + "edit_group": [], + "name": "bibou", + "view_group": [] + } + }, + { + "pk": 3, + "model": "core.page", + "fields": { + "full_name": "guy2/bibou/troll", + "owner_group": 1, + "parent": 2, + "edit_group": [], + "name": "troll", + "view_group": [] + } + }, + { + "pk": 4, + "model": "core.page", + "fields": { + "full_name": "guy", + "owner_group": 1, + "parent": null, + "edit_group": [1], + "name": "guy", + "view_group": [1] + } + }, + { + "pk": 5, + "model": "core.page", + "fields": { + "full_name": "bibou", + "owner_group": 3, + "parent": null, + "edit_group": [1], + "name": "bibou", + "view_group": [] + } + }, + { + "pk": 6, + "model": "core.page", + "fields": { + "full_name": "guy2/guy", + "owner_group": 1, + "parent": 1, + "edit_group": [], + "name": "guy", + "view_group": [] + } + } +] diff --git a/core/fixtures/users.json b/core/fixtures/users.json index e966e7eb..137258c0 100644 --- a/core/fixtures/users.json +++ b/core/fixtures/users.json @@ -1 +1,42 @@ -[{"model": "core.user", "pk": 1, "fields": {"first_name": "Ro", "date_joined": "2015-11-19T16:05:51.764Z", "groups": [], "password": "pbkdf2_sha256$20000$MDukCN5X8Bof$rYdhppKiusj+W/1Rxpy0yuYsEyWocESEjtRsopkOc5c=", "last_name": "Ot", "nick_name": "", "username": "root", "user_permissions": [], "email": "bibou@git.an", "last_login": "2015-11-26T16:28:36.464Z", "date_of_birth": "1969-12-31T23:00:00Z", "is_superuser": true, "is_active": true, "is_staff": true}}, {"model": "core.user", "pk": 2, "fields": {"first_name": "Skia", "date_joined": "2015-11-19T16:06:29.556Z", "groups": [3], "password": "pbkdf2_sha256$20000$UK9a29p5bBEh$Jzv7xs0W9njJZiXfIdYXDydim/3YHs6awKwDmN7gSAc=", "last_name": "Kia", "nick_name": "", "username": "skia", "user_permissions": [], "email": "plop@libskia.so", "last_login": "2015-11-26T16:37:01.671Z", "date_of_birth": "1969-12-31T23:00:00Z", "is_superuser": false, "is_active": true, "is_staff": false}}] \ No newline at end of file +[ + { + "model": "core.user", + "pk": 1, + "fields": { + "first_name": "Ro", + "date_joined": "2015-11-19T16:05:51.764Z", + "groups": [], + "password": "pbkdf2_sha256$20000$MDukCN5X8Bof$rYdhppKiusj+W/1Rxpy0yuYsEyWocESEjtRsopkOc5c=", + "last_name": "Ot", + "nick_name": "", + "username": "root", + "user_permissions": [], + "email": "bibou@git.an", + "last_login": "2015-11-26T16:28:36.464Z", + "date_of_birth": "1969-12-31T23:00:00Z", + "is_superuser": true, + "is_active": true, + "is_staff": true + } + }, + { + "model": "core.user", + "pk": 2, + "fields": { + "first_name": "Skia", + "date_joined": "2015-11-19T16:06:29.556Z", + "groups": [3], + "password": "pbkdf2_sha256$20000$UK9a29p5bBEh$Jzv7xs0W9njJZiXfIdYXDydim/3YHs6awKwDmN7gSAc=", + "last_name": "Kia", + "nick_name": "", + "username": "skia", + "user_permissions": [], + "email": "plop@libskia.so", + "last_login": "2015-11-26T16:37:01.671Z", + "date_of_birth": "1969-12-31T23:00:00Z", + "is_superuser": false, + "is_active": true, + "is_staff": false + } + } +] diff --git a/core/lookups.py b/core/lookups.py index 8582aa5e..93d15df8 100644 --- a/core/lookups.py +++ b/core/lookups.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/__init__.py b/core/management/__init__.py index a098e7ba..f4445e69 100644 --- a/core/management/__init__.py +++ b/core/management/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/commands/__init__.py b/core/management/commands/__init__.py index a098e7ba..f4445e69 100644 --- a/core/management/commands/__init__.py +++ b/core/management/commands/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/commands/install_xapian.py b/core/management/commands/install_xapian.py index 8fb9c5b3..fe7b6994 100644 --- a/core/management/commands/install_xapian.py +++ b/core/management/commands/install_xapian.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/management/commands/populate.py b/core/management/commands/populate.py index 77131c98..301b1228 100644 --- a/core/management/commands/populate.py +++ b/core/management/commands/populate.py @@ -33,6 +33,7 @@ from django.core.management import call_command from django.core.management.base import BaseCommand from django.db import connection from django.utils import timezone +from django.utils.timezone import localdate from PIL import Image from accounting.models import ( @@ -914,7 +915,7 @@ Welcome to the wiki page! Membership( user=comunity, club=bar_club, - start_date=self.now, + start_date=localdate(), role=settings.SITH_CLUB_ROLES_ID["Board member"], ).save() # Adding user tutu @@ -1274,28 +1275,28 @@ Welcome to the wiki page! club=troll, role=9, description="Padawan Troll", - start_date=self.now - timedelta(days=17), + start_date=localdate() - timedelta(days=17), ).save() Membership( user=krophil, club=troll, role=10, description="Maitre Troll", - start_date=self.now - timedelta(days=200), + start_date=localdate() - timedelta(days=200), ).save() Membership( user=skia, club=troll, role=2, description="Grand Ancien Troll", - start_date=self.now - timedelta(days=400), - end_date=self.now - timedelta(days=86), + start_date=localdate() - timedelta(days=400), + end_date=localdate() - timedelta(days=86), ).save() Membership( user=richard, club=troll, role=2, description="", - start_date=self.now - timedelta(days=200), - end_date=self.now - timedelta(days=100), + start_date=localdate() - timedelta(days=200), + end_date=localdate() - timedelta(days=100), ).save() diff --git a/core/management/commands/populate_more.py b/core/management/commands/populate_more.py index d7f37bcd..f3582bae 100644 --- a/core/management/commands/populate_more.py +++ b/core/management/commands/populate_more.py @@ -9,7 +9,7 @@ from django.conf import settings from django.core.management.base import BaseCommand from django.db.models import Count, Exists, F, Min, OuterRef, Subquery, Sum from django.db.models.functions import Coalesce -from django.utils.timezone import make_aware, now +from django.utils.timezone import localdate, make_aware, now from faker import Faker from club.models import Club, Membership @@ -125,7 +125,7 @@ class Command(BaseCommand): account_id=f"{9900 + i}{self.faker.random_lowercase_letter()}", ) ) - while sub.subscription_end < now().date() and random.random() > 0.7: + while sub.subscription_end < localdate() and random.random() > 0.7: # 70% chances to subscribe again # (expect if it would make the subscription start after tomorrow) sub = prepare_subscription( @@ -331,7 +331,7 @@ class Command(BaseCommand): seller=random.choice(sellers), customer=customer, date=make_aware( - self.faker.date_time_between(customer.since, now().date()) + self.faker.date_time_between(customer.since, localdate()) ), ) ) @@ -347,7 +347,7 @@ class Command(BaseCommand): operator=random.choice(sellers), customer=customer, date=make_aware( - self.faker.date_time_between(customer.since, now().date()) + self.faker.date_time_between(customer.since, localdate()) ), is_validated=True, ) @@ -368,7 +368,7 @@ class Command(BaseCommand): active_period_start = self.faker.past_date("-10y") active_period_end = self.faker.date_between( active_period_start, - min(now().date(), active_period_start + relativedelta(years=5)), + min(localdate(), active_period_start + relativedelta(years=5)), ) for _ in range(nb_perms): counter = ( diff --git a/core/management/commands/setup.py b/core/management/commands/setup.py index 0db339a5..37451dd3 100644 --- a/core/management/commands/setup.py +++ b/core/management/commands/setup.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/markdown.py b/core/markdown.py index 5904dfbf..66225eb0 100644 --- a/core/markdown.py +++ b/core/markdown.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/middleware.py b/core/middleware.py index dc3b8303..ba9113b8 100644 --- a/core/middleware.py +++ b/core/middleware.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/core/models.py b/core/models.py index 41087c51..646cbca8 100644 --- a/core/models.py +++ b/core/models.py @@ -991,8 +991,8 @@ class SithFile(models.Model): return user.is_board_member if user.is_com_admin: return True - if self.is_in_sas: - return user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID) + if self.is_in_sas and user.is_in_group(pk=settings.SITH_GROUP_SAS_ADMIN_ID): + return True return user.id == self.owner_id def can_be_viewed_by(self, user): diff --git a/core/static/core/base.css b/core/static/core/base.css index 4358917e..e8e7e9ac 100644 --- a/core/static/core/base.css +++ b/core/static/core/base.css @@ -1,45 +1,124 @@ /*--------------------------------RESET--------------------------------*/ /*--------------------------------RESET--------------------------------*/ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; } body { - line-height: 1; + line-height: 1; } -ol, ul { - /* list-style: none;*/ +ol, +ul { + /* list-style: none;*/ } -blockquote, q { - quotes: none; +blockquote, +q { + quotes: none; } -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; } table { - border-collapse: collapse; - border-spacing: 0; + border-collapse: collapse; + border-spacing: 0; } diff --git a/core/static/core/js/script.js b/core/static/core/js/script.js index c3319c00..adb15b06 100644 --- a/core/static/core/js/script.js +++ b/core/static/core/js/script.js @@ -1,59 +1,66 @@ -$( function() { - buttons = $(".choose_file_button"); - popups = $(".choose_file_widget"); - popups.dialog({ - autoOpen: false, - modal: true, - width: "90%", - create: function (event) { - target = $(event.target); - target.parent().css({ - 'position': 'fixed', - 'top': '5%', - 'bottom': '5%', - }); - target.css("height", "300px"); - console.log(target); +$(() => { + // const buttons = $('.choose_file_button') + const popups = $(".choose_file_widget"); + popups.dialog({ + autoOpen: false, + modal: true, + width: "90%", + create: (event) => { + const target = $(event.target); + target.parent().css({ + position: "fixed", + top: "5%", + bottom: "5%", + }); + target.css("height", "300px"); + }, + buttons: [ + { + text: "Choose", + click: function () { + $(`input[name=${$(this).attr("name")}]`).attr( + "value", + $("#file_id").attr("value"), + ); + $(this).dialog("close"); }, - buttons: [ - { - text: "Choose", - click: function() { - console.log($("#file_id")); - $("input[name="+$(this).attr('name')+"]").attr('value', $("#file_id").attr('value')); - $( this ).dialog( "close" ); - }, - disabled: true, - } - ], + disabled: true, + }, + ], + }); + $(".choose_file_button") + .button() + .on("click", function () { + const popup = popups.filter(`[name=${$(this).attr("name")}]`); + popup.html( + '
', + ); + popup.dialog({ title: $(this).text() }).dialog("open"); }); - $( ".choose_file_button" ).button().on( "click", function() { - popup = popups.filter("[name="+$(this).attr('name')+"]"); - console.log(popup); - popup.html('
'); - popup.dialog({title: $(this).text()}).dialog( "open" ); - }); - $("#quick_notif li").click(function () { - $(this).hide(); - }) + $("#quick_notif li").click(function () { + $(this).hide(); + }); }); +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts function createQuickNotif(msg) { - const el = document.createElement('li') - el.textContent = msg - el.addEventListener('click', () => el.parentNode.removeChild(el)) - document.getElementById('quick_notif').appendChild(el) + const el = document.createElement("li"); + el.textContent = msg; + el.addEventListener("click", () => el.parentNode.removeChild(el)); + document.getElementById("quick_notif").appendChild(el); } +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts function deleteQuickNotifs() { - const el = document.getElementById('quick_notif') - while (el.firstChild) { - el.removeChild(el.firstChild) - } + const el = document.getElementById("quick_notif"); + while (el.firstChild) { + el.removeChild(el.firstChild); + } } -function display_notif() { - $('#header_notif').toggle().parent().toggleClass("white"); +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts +function displayNotif() { + $("#header_notif").toggle().parent().toggleClass("white"); } // You can't get the csrf token from the template in a widget @@ -62,11 +69,13 @@ function display_notif() { // Sadly, getting the cookie is not possible with CSRF_COOKIE_HTTPONLY or CSRF_USE_SESSIONS is True // So, the true workaround is to get the token from the dom // https://docs.djangoproject.com/en/2.0/ref/csrf/#acquiring-the-token-if-csrf-use-sessions-is-true +// biome-ignore lint/style/useNamingConvention: can't find it used anywhere but I will not play with the devil +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts function getCSRFToken() { - return $("[name=csrfmiddlewaretoken]").val(); + return $("[name=csrfmiddlewaretoken]").val(); } - +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts const initialUrlParams = new URLSearchParams(window.location.search); /** @@ -74,9 +83,12 @@ const initialUrlParams = new URLSearchParams(window.location.search); * @enum {number} */ const History = { - NONE: 0, - PUSH: 1, - REPLACE: 2, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + NONE: 0, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + PUSH: 1, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + REPLACE: 2, }; /** @@ -85,58 +97,29 @@ const History = { * @param {History} action * @param {URL | null} url */ -function update_query_string(key, value, action = History.REPLACE, url = null) { - if (!url){ - url = new URL(window.location.href); - } - if (value === undefined || value === null || value === "") { - // If the value is null, undefined or empty => delete it - url.searchParams.delete(key) - } else if (Array.isArray(value)) { - url.searchParams.delete(key) - value.forEach((v) => url.searchParams.append(key, v)) - } else { - url.searchParams.set(key, value); - } - - if (action === History.PUSH) { - history.pushState(null, "", url.toString()); - } else if (action === History.REPLACE) { - history.replaceState(null, "", url.toString()); - } - - return url; -} - -// TODO : If one day a test workflow is made for JS in this project -// please test this function. A all cost. -/** - * Given a paginated endpoint, fetch all the items of this endpoint, - * performing multiple API calls if necessary. - * @param {string} url The paginated endpoint to fetch - * @return {Promise} - */ -async function fetch_paginated(url) { - const max_per_page = 199; - const paginated_url = new URL(url, document.location.origin); - paginated_url.searchParams.set("page_size", max_per_page.toString()); - paginated_url.searchParams.set("page", "1"); - - let first_page = (await ( await fetch(paginated_url)).json()); - let results = first_page.results; - - const nb_pictures = first_page.count - const nb_pages = Math.ceil(nb_pictures / max_per_page); - - if (nb_pages > 1) { - let promises = []; - for (let i = 2; i <= nb_pages; i++) { - paginated_url.searchParams.set("page", i.toString()); - promises.push( - fetch(paginated_url).then(res => res.json().then(json => json.results)) - ); - } - results.push(...(await Promise.all(promises)).flat()) +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts +function updateQueryString(key, value, action = History.REPLACE, url = null) { + let ret = url; + if (!ret) { + ret = new URL(window.location.href); } - return results; + if (value === undefined || value === null || value === "") { + // If the value is null, undefined or empty => delete it + ret.searchParams.delete(key); + } else if (Array.isArray(value)) { + ret.searchParams.delete(key); + for (const v of value) { + ret.searchParams.append(key, v); + } + } else { + ret.searchParams.set(key, value); + } + + if (action === History.PUSH) { + window.history.pushState(null, "", ret.toString()); + } else if (action === History.REPLACE) { + window.history.replaceState(null, "", ret.toString()); + } + + return ret; } diff --git a/core/static/core/js/shorten.min.js b/core/static/core/js/shorten.min.js index 9aeaadf1..1723903c 100644 --- a/core/static/core/js/shorten.min.js +++ b/core/static/core/js/shorten.min.js @@ -19,4 +19,106 @@ // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -!function(e){e.fn.shorten=function(s){"use strict";var t={showChars:100,minHideChars:10,ellipsesText:"...",moreText:"more",lessText:"less",onLess:function(){},onMore:function(){},errMsg:null,force:!1};return s&&e.extend(t,s),(!e(this).data("jquery.shorten")||!!t.force)&&(e(this).data("jquery.shorten",!0),e(document).off("click",".morelink"),e(document).on({click:function(){var s=e(this);return s.hasClass("less")?(s.removeClass("less"),s.html(t.moreText),s.parent().prev().animate({},function(){s.parent().prev().prev().show()}).hide("fast",function(){t.onLess()})):(s.addClass("less"),s.html(t.lessText),s.parent().prev().animate({},function(){s.parent().prev().prev().hide()}).show("fast",function(){t.onMore()})),!1}},".morelink"),this.each(function(){var s=e(this),n=s.html();if(s.text().length>t.showChars+t.minHideChars){var r=n.substr(0,t.showChars);if(r.indexOf("<")>=0){for(var a=!1,o="",i=0,l=[],h=null,c=0,f=0;f<=t.showChars;c++)if("<"!=n[c]||a||(a=!0,"/"==(h=n.substring(c+1,n.indexOf(">",c)))[0]?h!="/"+l[0]?t.errMsg="ERROR en HTML: the top of the stack should be the tag that closes":l.shift():"br"!=h.toLowerCase()&&l.unshift(h)),a&&">"==n[c]&&(a=!1),a)o+=n.charAt(c);else if(f++,i<=t.showChars)o+=n.charAt(c),i++;else if(l.length>0){for(j=0;j";break}r=e("
").html(o+''+t.ellipsesText+"").html()}else r+=t.ellipsesText;var p='
'+r+'
'+n+'
'+t.moreText+"";s.html(p),s.find(".allcontent").hide(),e(".shortcontent p:last",s).css("margin-bottom",0)}}))}}(jQuery); \ No newline at end of file +!(function (e) { + e.fn.shorten = function (s) { + "use strict"; + var t = { + showChars: 100, + minHideChars: 10, + ellipsesText: "...", + moreText: "more", + lessText: "less", + onLess: function () {}, + onMore: function () {}, + errMsg: null, + force: !1, + }; + return ( + s && e.extend(t, s), + (!e(this).data("jquery.shorten") || !!t.force) && + (e(this).data("jquery.shorten", !0), + e(document).off("click", ".morelink"), + e(document).on( + { + click: function () { + var s = e(this); + return ( + s.hasClass("less") + ? (s.removeClass("less"), + s.html(t.moreText), + s + .parent() + .prev() + .animate({}, function () { + s.parent().prev().prev().show(); + }) + .hide("fast", function () { + t.onLess(); + })) + : (s.addClass("less"), + s.html(t.lessText), + s + .parent() + .prev() + .animate({}, function () { + s.parent().prev().prev().hide(); + }) + .show("fast", function () { + t.onMore(); + })), + !1 + ); + }, + }, + ".morelink", + ), + this.each(function () { + var s = e(this), + n = s.html(); + if (s.text().length > t.showChars + t.minHideChars) { + var r = n.substr(0, t.showChars); + if (r.indexOf("<") >= 0) { + for ( + var a = !1, o = "", i = 0, l = [], h = null, c = 0, f = 0; + f <= t.showChars; + c++ + ) + if ( + ("<" != n[c] || + a || + ((a = !0), + "/" == (h = n.substring(c + 1, n.indexOf(">", c)))[0] + ? h != "/" + l[0] + ? (t.errMsg = + "ERROR en HTML: the top of the stack should be the tag that closes") + : l.shift() + : "br" != h.toLowerCase() && l.unshift(h)), + a && ">" == n[c] && (a = !1), + a) + ) + o += n.charAt(c); + else if ((f++, i <= t.showChars)) (o += n.charAt(c)), i++; + else if (l.length > 0) { + for (j = 0; j < l.length; j++) o += ""; + break; + } + r = e("
") + .html(o + '' + t.ellipsesText + "") + .html(); + } else r += t.ellipsesText; + var p = + '
' + + r + + '
' + + n + + '
' + + t.moreText + + ""; + s.html(p), + s.find(".allcontent").hide(), + e(".shortcontent p:last", s).css("margin-bottom", 0); + } + })) + ); + }; +})(jQuery); diff --git a/core/static/core/js/sith-select2.js b/core/static/core/js/sith-select2.js index 58d801b0..4754325f 100644 --- a/core/static/core/js/sith-select2.js +++ b/core/static/core/js/sith-select2.js @@ -15,7 +15,7 @@ * ]; * document.addEventListener("DOMContentLoaded", () => sithSelect2({ * element: document.getElementById("select2-input"), - * data_source: local_data_source(data) + * dataSource: localDataSource(data) * })); * ``` * @@ -29,7 +29,7 @@ * ]; * document.addEventListener("DOMContentLoaded", () => sithSelect2({ * element: document.getElementById("select2-input"), - * data_source: local_data_source(data, { + * dataSource: localDataSource(data, { * excluded: () => data.filter((i) => i.text === "to exclude").map((i) => parseInt(i)) * }) * })); @@ -38,15 +38,15 @@ * # Remote data source * * Select2 with remote data sources are similar to those with local - * data, but with some more parameters, like `result_converter`, + * data, but with some more parameters, like `resultConverter`, * which takes a callback that must return a `Select2Object`. * * ```js * document.addEventListener("DOMContentLoaded", () => sithSelect2({ * element: document.getElementById("select2-input"), - * data_source: remote_data_source("/api/user/search", { + * dataSource: remoteDataSource("/api/user/search", { * excluded: () => [1, 2], // exclude users 1 and 2 from the search - * result_converter: (user) => Object({id: user.id, text: user.first_name}) + * resultConverter: (user) => Object({id: user.id, text: user.firstName}) * }) * })); * ``` @@ -62,8 +62,8 @@ * ```js * document.addEventListener("DOMContentLoaded", () => sithSelect2({ * element: document.getElementById("select2-input"), - * data_source: remote_data_source("/api/user/search", { - * result_converter: (user) => Object({id: user.id, text: user.first_name}), + * dataSource: remoteDataSource("/api/user/search", { + * resultConverter: (user) => Object({id: user.id, text: user.firstName}), * overrides: { * delay: 500 * } @@ -85,15 +85,15 @@ * * Sometimes, you would like to display an image besides * the text on the select items. - * In this case, fill the `picture_getter` option : + * In this case, fill the `pictureGetter` option : * * ```js * document.addEventListener("DOMContentLoaded", () => sithSelect2({ * element: document.getElementById("select2-input"), - * data_source: remote_data_source("/api/user/search", { - * result_converter: (user) => Object({id: user.id, text: user.first_name}) + * dataSource: remoteDataSource("/api/user/search", { + * resultConverter: (user) => Object({id: user.id, text: user.firstName}) * }) - * picture_getter: (user) => user.profile_pict, + * pictureGetter: (user) => user.profilePict, * })); * ``` * @@ -105,8 +105,8 @@ * *
* - *

- *

+ *

+ *

*
* * @@ -114,20 +114,20 @@ * document.addEventListener("alpine:init", () => { * Alpine.data("select2_test", () => ({ * selector: undefined, - * current_select: {id: "", text: ""}, + * currentSelect: {id: "", text: ""}, * * init() { * this.selector = sithSelect2({ * element: $(this.$refs.select), - * data_source: local_data_source( + * dataSource: localDataSource( * [{id: 1, text: "foo"}, {id: 2, text: "bar"}] * ), * }); * this.selector.on("select2:select", (event) => { * // select2 => Alpine signals here - * this.current_select = this.selector.select2("data") + * this.currentSelect = this.selector.select2("data") * }); - * this.$watch("current_selected" (value) => { + * this.$watch("currentSelected" (value) => { * // Alpine => select2 signals here * }); * }, @@ -145,10 +145,10 @@ /** * @typedef Select2Options * @property {Element} element - * @property {Object} data_source - * the data source, built with `local_data_source` or `remote_data_source` + * @property {Object} dataSource + * the data source, built with `localDataSource` or `remoteDataSource` * @property {number[]} excluded A list of ids to exclude from search - * @property {undefined | function(Object): string} picture_getter + * @property {undefined | function(Object): string} pictureGetter * A callback to get the picture field from the API response * @property {Object | undefined} overrides * Any other select2 parameter to apply on the config @@ -157,13 +157,14 @@ /** * @param {Select2Options} options */ +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts function sithSelect2(options) { const elem = $(options.element); return elem.select2({ theme: elem[0].multiple ? "classic" : "default", minimumInputLength: 2, - templateResult: select_item_builder(options.picture_getter), - ...options.data_source, + templateResult: selectItemBuilder(options.pictureGetter), + ...options.dataSource, ...(options.overrides || {}), }); } @@ -179,8 +180,9 @@ function sithSelect2(options) { * @param {Select2Object[]} source The array containing the data * @param {RemoteSourceOptions} options */ -function local_data_source(source, options) { - if (!!options.excluded) { +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts +function localDataSource(source, options) { + if (options.excluded) { const ids = options.excluded(); return { data: source.filter((i) => !ids.includes(i.id)) }; } @@ -191,7 +193,7 @@ function local_data_source(source, options) { * @typedef RemoteSourceOptions * @property {undefined | function(): number[]} excluded * A callback to the ids to exclude from the search - * @property {undefined | function(): Select2Object} result_converter + * @property {undefined | function(): Select2Object} resultConverter * A converter for a value coming from the remote api * @property {undefined | Object} overrides * Any other select2 parameter to apply on the config @@ -202,9 +204,11 @@ function local_data_source(source, options) { * @param {string} source The url of the endpoint * @param {RemoteSourceOptions} options */ -function remote_data_source(source, options) { + +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts +function remoteDataSource(source, options) { jQuery.ajaxSettings.traditional = true; - let params = { + const params = { url: source, dataType: "json", cache: true, @@ -213,24 +217,25 @@ function remote_data_source(source, options) { return { search: params.term, exclude: [ - ...(this.val() || []).map((i) => parseInt(i)), + ...(this.val() || []).map((i) => Number.parseInt(i)), ...(options.excluded ? options.excluded() : []), ], }; }, }; - if (!!options.result_converter) { - params["processResults"] = function (data) { - return { results: data.results.map(options.result_converter) }; - }; + if (options.resultConverter) { + params.processResults = (data) => ({ + results: data.results.map(options.resultConverter), + }); } - if (!!options.overrides) { + if (options.overrides) { Object.assign(params, options.overrides); } return { ajax: params }; } -function item_formatter(user) { +// biome-ignore lint/correctness/noUnusedVariables: used in other scripts +function itemFormatter(user) { if (user.loading) { return user.text; } @@ -238,23 +243,22 @@ function item_formatter(user) { /** * Build a function to display the results - * @param {null | function(Object):string} picture_getter + * @param {null | function(Object):string} pictureGetter * @return {function(string): jQuery|HTMLElement} */ -function select_item_builder(picture_getter) { +function selectItemBuilder(pictureGetter) { return (item) => { - const picture = - typeof picture_getter === "function" ? picture_getter(item) : null; - const img_html = picture + const picture = typeof pictureGetter === "function" ? pictureGetter(item) : null; + const imgHtml = picture ? `${item.text}` : ""; return $(`
- ${img_html} + ${imgHtml} ${item.text}
`); }; diff --git a/core/static/core/style.scss b/core/static/core/style.scss index a096b220..f0ec9ac6 100644 --- a/core/static/core/style.scss +++ b/core/static/core/style.scss @@ -228,6 +228,15 @@ a:not(.button) { } } +.edit-action { + color: orange; +} + +.delete-action { + color: red; +} + + #page { width: 90%; margin: 20px auto 0; diff --git a/core/static/user/js/family_graph.js b/core/static/user/js/family_graph.js deleted file mode 100644 index ab66ea96..00000000 --- a/core/static/user/js/family_graph.js +++ /dev/null @@ -1,273 +0,0 @@ -async function get_graph_data(url, godfathers_depth, godchildren_depth) { - let data = await ( - await fetch( - `${url}?godfathers_depth=${godfathers_depth}&godchildren_depth=${godchildren_depth}`, - ) - ).json(); - return [ - ...data.users.map((user) => { - return { data: user }; - }), - ...data.relationships.map((rel) => { - return { - data: { source: rel.godfather, target: rel.godchild }, - }; - }), - ]; -} - -function create_graph(container, data, active_user_id) { - let cy = cytoscape({ - boxSelectionEnabled: false, - autounselectify: true, - - container: container, - elements: data, - minZoom: 0.5, - - style: [ - // the stylesheet for the graph - { - selector: "node", - style: { - label: "data(display_name)", - "background-image": "data(profile_pict)", - width: "100%", - height: "100%", - "background-fit": "cover", - "background-repeat": "no-repeat", - shape: "ellipse", - }, - }, - - { - selector: "edge", - style: { - width: 5, - "line-color": "#ccc", - "target-arrow-color": "#ccc", - "target-arrow-shape": "triangle", - "curve-style": "bezier", - }, - }, - - { - selector: ".traversed", - style: { - "border-width": "5px", - "border-style": "solid", - "border-color": "red", - "target-arrow-color": "red", - "line-color": "red", - }, - }, - - { - selector: ".not-traversed", - style: { - "line-opacity": "0.5", - "background-opacity": "0.5", - "background-image-opacity": "0.5", - }, - }, - ], - layout: { - name: "klay", - nodeDimensionsIncludeLabels: true, - fit: true, - klay: { - addUnnecessaryBendpoints: true, - direction: "DOWN", - nodePlacement: "INTERACTIVE", - layoutHierarchy: true, - }, - }, - }); - let active_user = cy - .getElementById(active_user_id) - .style("shape", "rectangle"); - /* Reset graph */ - let reset_graph = () => { - cy.elements((element) => { - if (element.hasClass("traversed")) { - element.removeClass("traversed"); - } - if (element.hasClass("not-traversed")) { - element.removeClass("not-traversed"); - } - }); - }; - - let on_node_tap = (el) => { - reset_graph(); - /* Create path on graph if selected isn't the targeted user */ - if (el === active_user) { - return; - } - cy.elements((element) => { - element.addClass("not-traversed"); - }); - - cy.elements() - .aStar({ - root: el, - goal: active_user, - }) - .path.forEach((el) => { - el.removeClass("not-traversed"); - el.addClass("traversed"); - }); - }; - - cy.on("tap", "node", (tapped) => { - on_node_tap(tapped.target); - }); - cy.zoomingEnabled(false); - - /* Add context menu */ - if (cy.cxtmenu === undefined) { - console.error( - "ctxmenu isn't loaded, context menu won't be available on graphs", - ); - return cy; - } - cy.cxtmenu({ - selector: "node", - - commands: [ - { - content: '', - select: function (el) { - window.open(el.data().profile_url, "_blank").focus(); - }, - }, - - { - content: '', - select: function (el) { - on_node_tap(el); - }, - }, - - { - content: '', - select: function (el) { - reset_graph(); - }, - }, - ], - }); - - return cy; -} - -document.addEventListener("alpine:init", () => { - /* - This needs some constants to be set before the document has been loaded - - api_url: base url for fetching the tree as a string - active_user: id of the user to fetch the tree from - depth_min: minimum tree depth for godfathers and godchildren as an int - depth_max: maximum tree depth for godfathers and godchildren as an int - */ - const default_depth = 2; - - if ( - typeof api_url === "undefined" || - typeof active_user === "undefined" || - typeof depth_min === "undefined" || - typeof depth_max === "undefined" - ) { - console.error( - "Some constants are not set before using the family_graph script, please look at the documentation", - ); - return; - } - - function get_initial_depth(prop) { - let value = parseInt(initialUrlParams.get(prop)); - if (isNaN(value) || value < depth_min || value > depth_max) { - return default_depth; - } - return value; - } - - Alpine.data("graph", () => ({ - loading: false, - godfathers_depth: get_initial_depth("godfathers_depth"), - godchildren_depth: get_initial_depth("godchildren_depth"), - reverse: initialUrlParams.get("reverse")?.toLowerCase?.() === "true", - graph: undefined, - graph_data: {}, - - async init() { - let delayed_fetch = Alpine.debounce(async () => { - this.fetch_graph_data(); - }, 100); - ["godfathers_depth", "godchildren_depth"].forEach((param) => { - this.$watch(param, async (value) => { - if (value < depth_min || value > depth_max) { - return; - } - update_query_string(param, value, History.REPLACE); - delayed_fetch(); - }); - }); - this.$watch("reverse", async (value) => { - update_query_string("reverse", value, History.REPLACE); - this.reverse_graph(); - }); - this.$watch("graph_data", async () => { - await this.generate_graph(); - if (this.reverse) { - await this.reverse_graph(); - } - }); - this.fetch_graph_data(); - }, - - async screenshot() { - const link = document.createElement("a"); - link.href = this.graph.jpg(); - link.download = interpolate( - gettext("family_tree.%(extension)s"), - { extension: "jpg" }, - true, - ); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - }, - - async reset() { - this.reverse = false; - this.godfathers_depth = default_depth; - this.godchildren_depth = default_depth; - }, - - async reverse_graph() { - this.graph.elements((el) => { - el.position(new Object({ x: -el.position().x, y: -el.position().y })); - }); - this.graph.center(this.graph.elements()); - }, - - async fetch_graph_data() { - this.graph_data = await get_graph_data( - api_url, - this.godfathers_depth, - this.godchildren_depth, - ); - }, - - async generate_graph() { - this.loading = true; - this.graph = create_graph( - $(this.$refs.graph), - this.graph_data, - active_user, - ); - this.loading = false; - }, - })); -}); diff --git a/core/static/user/js/user_edit.js b/core/static/user/js/user_edit.js index 820726e6..8b5f981c 100644 --- a/core/static/user/js/user_edit.js +++ b/core/static/user/js/user_edit.js @@ -1,28 +1,25 @@ -function alpine_webcam_builder( - default_picture, - delete_url, - can_delete_picture, -) { +// biome-ignore lint/correctness/noUnusedVariables: used in user_edit.jinja +function alpineWebcamBuilder(defaultPicture, deleteUrl, canDeletePicture) { return () => ({ - can_edit_picture: false, + canEditPicture: false, loading: false, - is_camera_enabled: false, - is_camera_error: false, + isCameraEnabled: false, + isCameraError: false, picture: null, video: null, - picture_form: null, + pictureForm: null, init() { this.video = this.$refs.video; - this.picture_form = this.$refs.form.getElementsByTagName("input"); - if (this.picture_form.length > 0) { - this.picture_form = this.picture_form[0]; - this.can_edit_picture = true; + this.pictureForm = this.$refs.form.getElementsByTagName("input"); + if (this.pictureForm.length > 0) { + this.pictureForm = this.pictureForm[0]; + this.canEditPicture = true; // Link the displayed element to the form input - this.picture_form.onchange = (event) => { - let files = event.srcElement.files; + this.pictureForm.onchange = (event) => { + const files = event.srcElement.files; if (files.length > 0) { this.picture = (window.URL || window.webkitURL).createObjectURL( event.srcElement.files[0], @@ -34,77 +31,78 @@ function alpine_webcam_builder( } }, - get_picture() { - return this.picture || default_picture; + getPicture() { + return this.picture || defaultPicture; }, - delete_picture() { + deletePicture() { // Only remove currently displayed picture - if (!!this.picture) { - let list = new DataTransfer(); - this.picture_form.files = list.files; - this.picture_form.dispatchEvent(new Event("change")); + if (this.picture) { + const list = new DataTransfer(); + this.pictureForm.files = list.files; + this.pictureForm.dispatchEvent(new Event("change")); return; } - if (!can_delete_picture) { + if (!canDeletePicture) { return; } // Remove user picture if correct rights are available - window.open(delete_url, "_self"); + window.open(deleteUrl, "_self"); }, - enable_camera() { + enableCamera() { this.picture = null; this.loading = true; - this.is_camera_error = false; + this.isCameraError = false; navigator.mediaDevices .getUserMedia({ video: true, audio: false }) .then((stream) => { this.loading = false; - this.is_camera_enabled = true; + this.isCameraEnabled = true; this.video.srcObject = stream; this.video.play(); }) .catch((err) => { - this.is_camera_error = true; + this.isCameraError = true; this.loading = false; + throw err; }); }, - take_picture() { - let canvas = document.createElement("canvas"); + takePicture() { + const canvas = document.createElement("canvas"); const context = canvas.getContext("2d"); /* Create the image */ - let settings = this.video.srcObject.getTracks()[0].getSettings(); + const settings = this.video.srcObject.getTracks()[0].getSettings(); canvas.width = settings.width; canvas.height = settings.height; context.drawImage(this.video, 0, 0, canvas.width, canvas.height); /* Stop camera */ this.video.pause(); - this.video.srcObject.getTracks().forEach((track) => { + for (const track of this.video.srcObject.getTracks()) { if (track.readyState === "live") { track.stop(); } - }); + } canvas.toBlob((blob) => { const filename = interpolate(gettext("captured.%s"), ["webp"]); - let file = new File([blob], filename, { + const file = new File([blob], filename, { type: "image/webp", }); - let list = new DataTransfer(); + const list = new DataTransfer(); list.items.add(file); - this.picture_form.files = list.files; + this.pictureForm.files = list.files; // No change event is triggered, we trigger it manually #} - this.picture_form.dispatchEvent(new Event("change")); + this.pictureForm.dispatchEvent(new Event("change")); }, "image/webp"); canvas.remove(); - this.is_camera_enabled = false; + this.isCameraEnabled = false; }, }); } diff --git a/core/static/vendored/cytoscape/cytoscape-cxtmenu.min.js b/core/static/vendored/cytoscape/cytoscape-cxtmenu.min.js deleted file mode 100644 index 0fd2b0e7..00000000 --- a/core/static/vendored/cytoscape/cytoscape-cxtmenu.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Minified by jsDelivr using Terser v5.15.1. - * Original file: /npm/cytoscape-cxtmenu@3.5.0/cytoscape-cxtmenu.js - * - * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.cytoscapeCxtmenu=e():t.cytoscapeCxtmenu=e()}(this,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=4)}([function(t,e,i){"use strict";var n=i(2),o=i(1),a=i(3),d=a.removeEles,r=a.setStyles,l=a.createElement,s=a.getPixelRatio,c=a.getOffset;t.exports=function(t){var e=o({},n,t),i=this,a=i.container(),u=void 0,p={options:e,handlers:[],container:l({class:"cxtmenu"})},h=p.container,g=l(),f=l({tag:"canvas"}),m=[],v=f.getContext("2d"),x=100,P=2*(x+e.activePadding),b=void 0,y=void 0;function S(t,e){E.drawBg=[t,e]}function M(t,i){v.globalCompositeOperation="source-over",v.clearRect(0,0,P,P),v.fillStyle=e.fillColor;for(var n=2*Math.PI/m.length,o=Math.PI/2,a=o+n,d=0;da+e.spotlightPadding?a+e.spotlightPadding:e.indicatorSize;v.beginPath(),v.fillRect(-p/2,-p/2,p,p),v.closePath(),v.fill(),v.rotate(-u),v.translate(-s,-c),v.beginPath(),v.arc(n+e.activePadding,n+e.activePadding,a+e.spotlightPadding,0,2*Math.PI,!0),v.closePath(),v.fill(),v.globalCompositeOperation="source-over"}function C(){var t=s(),e=P,i=P;f.width=e*t,f.height=i*t,f.style.width=e+"px",f.style.height=i+"px",v.setTransform(1,0,0,1,0,0),v.scale(t,t)}a.insertBefore(h,a.firstChild),h.appendChild(g),g.appendChild(f),r(h,{position:"absolute",zIndex:e.zIndex,userSelect:"none",pointerEvents:"none"}),["mousedown","mousemove","mouseup","contextmenu"].forEach((function(t){h.addEventListener(t,(function(t){return t.preventDefault(),!1}))})),r(g,{display:"none",width:P+"px",height:P+"px",position:"absolute",zIndex:1,marginLeft:-e.activePadding+"px",marginTop:-e.activePadding+"px",userSelect:"none"}),f.width=P,f.height=P;var R=!0,E={},I=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16)};C(),function t(){E.drawBg&&M.apply(null,E.drawBg),E.drawCommands&&w.apply(null,E.drawCommands),E={},R&&I(t)}();var O,T,F,z,N,j,k,L,A,q=void 0,W=void 0,B=void 0,H={on:function(t,e,n){var o=n;return"core"===e&&(o=function(t){if(t.cyTarget===i||t.target===i)return n.apply(this,[t])}),p.handlers.push({events:t,selector:e,fn:o}),"core"===e?i.on(t,o):i.on(t,e,o),this}};function X(){R=!1,function(){for(var t=p.handlers,e=0;e0,o=(n?i.touches[0].pageX:i.pageX)-window.pageXOffset,a=(n?i.touches[0].pageY:i.pageY)-window.pageYOffset;b=void 0;var d=o-y.left-q,r=a-y.top-W;0===d&&(d=.01);var l=Math.sqrt(d*d+r*r),s=(r*r-l*l-d*d)/(-2*l*d),c=Math.acos(s),p=void 0;if(u&&u.isNode instanceof Function&&u.isNode()&&!u.isParent()&&!e.atMouse?(p=u.renderedOuterWidth(),B=p/2,B=!e.adaptativeNodeSpotlightRadius&&e.minSpotlightRadius?Math.max(B,e.minSpotlightRadius):B,B=!e.adaptativeNodeSpotlightRadius&&e.maxSpotlightRadius?Math.min(B,e.maxSpotlightRadius):B):(B=(p=1)/2,B=e.minSpotlightRadius?Math.max(B,e.minSpotlightRadius):B,B=e.maxSpotlightRadius?Math.min(B,e.maxSpotlightRadius):B),x=p/2+(e.menuRadius instanceof Function?e.menuRadius(u):Number(e.menuRadius)),lx+e.activePadding+e.outsideMenuCancel)S(x,B);else{S(x,B);var h=d*x/l,g=r*x/l;r>0&&(c=Math.PI+Math.abs(c-Math.PI));for(var f=2*Math.PI/m.length,v=Math.PI/2,P=v+f,M=0;M1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:document,i=e.querySelectorAll(t),n=0;n1?r-1:0),t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}var u="undefined"==typeof window?null:window,c=u?u.navigator:null;u&&u.document;var d=e(""),h=e({}),p=e((function(){})),f="undefined"==typeof HTMLElement?"undefined":e(HTMLElement),g=function(e){return e&&e.instanceString&&y(e.instanceString)?e.instanceString():null},v=function(t){return null!=t&&e(t)==d},y=function(t){return null!=t&&e(t)===p},m=function(e){return!E(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},b=function(t){return null!=t&&e(t)===h&&!m(t)&&t.constructor===Object},x=function(t){return null!=t&&e(t)===e(1)&&!isNaN(t)},w=function(e){return"undefined"===f?void 0:null!=e&&e instanceof HTMLElement},E=function(e){return k(e)||C(e)},k=function(e){return"collection"===g(e)&&e._private.single},C=function(e){return"collection"===g(e)&&!e._private.single},S=function(e){return"core"===g(e)},P=function(e){return"stylesheet"===g(e)},D=function(e){return null==e||!(""!==e&&!e.match(/^\s+$/))},T=function(t){return function(t){return null!=t&&e(t)===h}(t)&&y(t.then)},_=function(e,t){t||(t=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var e=[],t=0;tt?1:0},L=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t}(e)||function(e){var t,n,r,i,a,o,s,l;function u(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^hsl[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=l=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*u(h,d,n+1/3)),s=Math.round(255*u(h,d,n)),l=Math.round(255*u(h,d,n-1/3))}t=[o,s,l,a]}return t}(e)},R={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},V=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i=t||n<0||d&&e-u>=a}function v(){var e=H();if(g(e))return y(e);s=setTimeout(v,function(e){var n=t-(e-l);return d?ge(n,a-(e-u)):n}(e))}function y(e){return s=void 0,h&&r?p(e):(r=i=void 0,o)}function m(){var e=H(),n=g(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return f(l);if(d)return clearTimeout(s),s=setTimeout(v,t),p(l)}return void 0===s&&(s=setTimeout(v,t)),o}return t=pe(t)||0,j(n)&&(c=!!n.leading,a=(d="maxWait"in n)?fe(pe(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},m.flush=function(){return void 0===s?o:y(H())},m},ye=u?u.performance:null,me=ye&&ye.now?function(){return ye.now()}:function(){return Date.now()},be=function(){if(u){if(u.requestAnimationFrame)return function(e){u.requestAnimationFrame(e)};if(u.mozRequestAnimationFrame)return function(e){u.mozRequestAnimationFrame(e)};if(u.webkitRequestAnimationFrame)return function(e){u.webkitRequestAnimationFrame(e)};if(u.msRequestAnimationFrame)return function(e){u.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(me())}),1e3/60)}}(),xe=function(e){return be(e)},we=me,Ee=65599,ke=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=r*Ee+t.value|0;return r},Ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return t*Ee+e|0},Se=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},Pe=function(e){return 2097152*e[0]+e[1]},De=function(e,t){return[Ce(e[0],t[0]),Se(e[1],t[1])]},Te=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return ke({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},Ge=function(e){e.splice(0,e.length)},Ue=function(e,t,n){return n&&(t=N(n,t)),e[t]},Ze=function(e,t,n,r){n&&(t=N(n,t)),e[t]=r},$e="undefined"!=typeof Map?Map:function(){function e(){t(this,e),this._obj={}}return r(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Qe=function(){function e(n){if(t(this,e),this._obj=Object.create(null),this.size=0,null!=n){var r;r=null!=n.instanceString&&n.instanceString()===this.instanceString()?n.toArray():n;for(var i=0;i2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&S(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new Je,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];m(t.classes)?l=t.classes:v(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;ut?1:0},u=function(e,t,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=n),i<0)throw new Error("lo must be non-negative");for(null==a&&(a=e.length);in;0<=n?t++:t--)u.push(t);return u}.apply(this).reverse()).length;ag;0<=g?++h:--h)v.push(a(e,r));return v},f=function(e,t,r,i){var a,o,s;for(null==i&&(i=n),a=e[r];r>t&&i(a,o=e[s=r-1>>1])<0;)e[r]=o,r=s;return e[r]=a},g=function(e,t,r){var i,a,o,s,l;for(null==r&&(r=n),a=e.length,l=t,o=e[t],i=2*t+1;i0;){var k=m.pop(),C=g(k),S=k.id();if(d[S]=C,C!==1/0)for(var P=k.neighborhood().intersect(p),D=0;D0)for(n.unshift(t);c[i];){var a=c[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},ot={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=g.pop(),u=l.id(),v.delete(u),w++,u===d){for(var E=[],k=i,C=d,S=m[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=m[C=k.id()];return{found:!0,distance:h[u],path:this.spawn(E),steps:w}}f[u]=!0;for(var P=l._private.edges,D=0;DD&&(p[P]=D,m[P]=S,b[P]=w),!i){var T=S*u+C;!i&&p[T]>D&&(p[T]=D,m[T]=C,b[T]=w)}}}for(var _=0;_1&&void 0!==arguments[1]?arguments[1]:a,r=b(e),i=[],o=r;;){if(null==o)return t.spawn();var l=m(o),u=l.edge,c=l.pred;if(i.unshift(o[0]),o.same(n)&&i.length>0)break;null!=u&&i.unshift(u),o=c}return s.spawn(i)},hasNegativeWeightCycle:f,negativeWeightCycles:g}}},pt=Math.sqrt(2),ft=function(e,t,n){0===n.length&&Ve("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n,u=l.length-1;u>=0;u--){var c=l[u],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&l.splice(u,1)}for(var p=0;pr;){var i=Math.floor(Math.random()*t.length);t=ft(i,e,t),n--}return t},vt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/pt);if(!(i<2)){for(var l=[],u=0;u0?1:e<0?-1:0},kt=function(e,t){return Math.sqrt(Ct(e,t))},Ct=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},St=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},Mt=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},Bt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},Nt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},zt=function(e){var t,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)t=n=r=i=o[0];else if(2===o.length)t=r=o[0],i=n=o[1];else if(4===o.length){var s=a(o,4);t=s[0],n=s[1],r=s[2],i=s[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},It=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},At=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2t.y2)&&!(t.y1>e.y2)))))))},Lt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},Ot=function(e,t){return Lt(e,t.x1,t.y1)&&Lt(e,t.x2,t.y2)},Rt=function(e,t,n,r,i,a,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?nn(i,a):u,d=i/2,h=a/2,p=(c=Math.min(c,d,h))!==d,f=c!==h;if(p){var g=n-d+c-o,v=r-h-o,y=n+d-c+o,m=v;if((s=Zt(e,t,n,r,g,v,y,m,!1)).length>0)return s}if(f){var b=n+d+o,x=r-h+c-o,w=b,E=r+h-c+o;if((s=Zt(e,t,n,r,b,x,w,E,!1)).length>0)return s}if(p){var k=n-d+c-o,C=r+h+o,S=n+d-c+o,P=C;if((s=Zt(e,t,n,r,k,C,S,P,!1)).length>0)return s}if(f){var D=n-d-o,T=r-h+c-o,_=D,M=r+h-c+o;if((s=Zt(e,t,n,r,D,T,_,M,!1)).length>0)return s}var B=n-d+c,N=r-h+c;if((l=Gt(e,t,n,r,B,N,c+o)).length>0&&l[0]<=B&&l[1]<=N)return[l[0],l[1]];var z=n+d-c,I=r-h+c;if((l=Gt(e,t,n,r,z,I,c+o)).length>0&&l[0]>=z&&l[1]<=I)return[l[0],l[1]];var A=n+d-c,L=r+h-c;if((l=Gt(e,t,n,r,A,L,c+o)).length>0&&l[0]>=A&&l[1]>=L)return[l[0],l[1]];var O=n-d+c,R=r+h-c;return(l=Gt(e,t,n,r,O,R,c+o)).length>0&&l[0]<=O&&l[1]>=R?[l[0],l[1]]:[]},Vt=function(e,t,n,r,i,a,o){var s=o,l=Math.min(n,i),u=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return l-s<=e&&e<=u+s&&c-s<=t&&t<=d+s},Ft=function(e,t,n,r,i,a,o,s,l){var u=Math.min(n,o,i)-l,c=Math.max(n,o,i)+l,d=Math.min(r,s,a)-l,h=Math.max(r,s,a)+l;return!(ec||th)},jt=function(e,t,n,r,i,a,o,s){var l=[];!function(e,t,n,r,i){var a,o,s,l,u,c,d,h;0===e&&(e=1e-5),s=-27*(r/=e)+(t/=e)*(9*(n/=e)-t*t*2),a=(o=(3*n-t*t)/9)*o*o+(s/=54)*s,i[1]=0,d=t/3,a>0?(u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d):(i[5]=i[3]=0,0===a?(h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=2*h-d,i[4]=i[2]=-(h+d)):(l=(o=-o)*o*o,l=Math.acos(s/Math.sqrt(l)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)))}(1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,l);for(var u=[],c=0;c<6;c+=2)Math.abs(l[c+1])<1e-7&&l[c]>=0&&l[c]<=1&&u.push(l[c]);u.push(1),u.push(0);for(var d,h,p,f=-1,g=0;g=0?pl?(e-i)*(e-i)+(t-a)*(t-a):u-d},Yt=function(e,t,n){for(var r,i,a,o,s=0,l=0;l=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},Xt=function(e,t,n,r,i,a,o,s,l){var u,c=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d,h=Math.cos(-u),p=Math.sin(-u),f=0;f0){var g=Ht(c,-l);d=Wt(g)}else d=c;return Yt(e,t,d)},Wt=function(e){for(var t,n,r,i,a,o,s,l,u=new Array(e.length/2),c=0;c=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,m=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,m]:[y,m,v[1]*s[0]+e,v[1]*s[1]+t]:[y,m]},Ut=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},Zt=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,p=r-t,f=s-a,g=d*h-f*u,v=c*h-p*u,y=f*c-d*p;if(0!==y){var m=g/y,b=v/y;return-.001<=m&&m<=1.001&&-.001<=b&&b<=1.001||l?[e+m*c,t+m*p]:[]}return 0===g||0===v?Ut(e,n,o)===o?[o,s]:Ut(e,n,i)===i?[i,a]:Ut(i,o,n)===n?[n,r]:[]:[]},$t=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,p,f=[],g=new Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y0){var m=Ht(g,-s);u=Wt(m)}else u=g}else u=n;for(var b=0;bu&&(u=t)},d=function(e){return l[e]},h=0;h0?b.edgesTo(m)[0]:m.edgesTo(b)[0];var w=r(x);m=m.id(),h[m]>h[v]+w&&(h[m]=h[v]+w,p.nodes.indexOf(m)<0?p.push(m):p.updateItem(m),u[m]=0,l[m]=[]),h[m]==h[v]+w&&(u[m]=u[m]+u[v],l[m].push(v))}else for(var E=0;E0;){for(var P=n.pop(),D=0;D0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,l,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:Cn,o=r,s=0;s=2?Mn(e,t,n,0,Dn,Tn):Mn(e,t,n,0,Pn)},squaredEuclidean:function(e,t,n){return Mn(e,t,n,0,Dn)},manhattan:function(e,t,n){return Mn(e,t,n,0,Pn)},max:function(e,t,n){return Mn(e,t,n,-1/0,_n)}};function Nn(e,t,n,r,i,a){var o;return o=y(e)?e:Bn[e]||Bn.euclidean,0===t&&y(e)?o(i,a):o(t,n,r,i,a)}Bn["squared-euclidean"]=Bn.squaredEuclidean,Bn.squaredeuclidean=Bn.squaredEuclidean;var zn=He({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),In=function(e){return zn(e)},An=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return Nn(e,r.length,a,(function(e){return r[e](t)}),o,s)},Ln=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,l=0;ln)return!1}return!0},jn=function(e,t,n){for(var r=0;ri&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var p,f=t[o],g=t[r[o]];p="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=p,e.splice(g.index,1),t[f.key]=p;for(var v=0;vn[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?isFinite(l)||(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort((function(e,t){return e-t}));var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;io&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;u=D?(T=D,D=M,_=B):M>T&&(T=M);for(var N=0;N0?1:0;C[k%u.minIterations*t+R]=V,O+=V}if(O>0&&(k>=u.minIterations-1||k==u.maxIterations-1)){for(var F=0,j=0;j0&&r.push(i);return r}(t,a,o),X=function(e,t,n){for(var r=rr(e,t,n),i=0;il&&(s=u,l=c)}n[i]=a[s]}return r=rr(e,t,n)}(t,r,Y),W={},H=0;H1)}}));var l=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(l),components:i}},lr=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e);return e.forEach((function(o){if(o.isNode()){var s=o.id();s in t||function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}}(s)}})),{cut:a,components:r}},ur={};[nt,at,ot,lt,ct,ht,vt,sn,un,dn,pn,kn,Kn,Jn,ar,{hierholzer:function(e){if(!b(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=or(e),o=a.root,s=a.directed,l=this,u=!1;o&&(i=v(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?l.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?u=!0:n=t:1==s?r?u=!0:r=t:(s>1||o>1)&&(u=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):l.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?u=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(u)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=l[0].id());var p=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},f=[],g=[];for(g=p(i);1!=g.length;)0==c[g[0]].length?(f.unshift(l.getElementById(g.shift())),f.unshift(l.getElementById(g.shift()))):g=p(g.shift()).concat(g);for(var y in f.unshift(l.getElementById(g.shift())),c)if(c[y].length)return h;return h.found=!0,h.trail=this.spawn(f,!0),h}},{hopcroftTarjanBiconnected:sr,htbc:sr,htb:sr,hopcroftTarjanBiconnectedComponents:sr},{tarjanStronglyConnected:lr,tsc:lr,tscc:lr,tarjanStronglyConnectedComponents:lr}].forEach((function(e){L(ur,e)})); -/*! - Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable - Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) - Licensed under The MIT License (http://opensource.org/licenses/MIT) - */ -var cr=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};cr.prototype={fulfill:function(e){return dr(this,1,"fulfillValue",e)},reject:function(e){return dr(this,2,"rejectReason",e)},then:function(e,t){var n=new cr;return this.onFulfilled.push(fr(e,n,"fulfill")),this.onRejected.push(fr(t,n,"reject")),hr(this),n.proxy}};var dr=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,hr(e)),e},hr=function(e){1===e.state?pr(e,"onFulfilled",e.fulfillValue):2===e.state&&pr(e,"onRejected",e.rejectReason)},pr=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t-1};var ri=function(e,t){var n=this.__data__,r=Qr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ii(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){m(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};qi.className=qi.classNames=qi.classes;var Yi={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:I,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Yi.variable="(?:[\\w-.]|(?:\\\\"+Yi.metaChar+"))+",Yi.className="(?:[\\w-]|(?:\\\\"+Yi.metaChar+"))+",Yi.value=Yi.string+"|"+Yi.number,Yi.id=Yi.variable,function(){var e,t,n;for(e=Yi.comparatorOp.split("|"),n=0;n=0||"="!==t&&(Yi.comparatorOp+="|\\!"+t)}();var Xi=0,Wi=1,Hi=2,Ki=3,Gi=4,Ui=5,Zi=6,$i=7,Qi=8,Ji=9,ea=10,ta=11,na=12,ra=13,ia=14,aa=15,oa=16,sa=17,la=18,ua=19,ca=20,da=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*A(e,t)}(e.selector,t.selector)})),ha=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return je("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return je("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&je("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return v(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case Xi:var l=e(s);return l.substring(0,l.length-1);case Ki:var u=r.field,c=r.operator;return"["+u+n(e(c))+t(s)+"]";case Ui:var d=r.operator,h=r.field;return"["+e(d)+h+"]";case Gi:return"["+r.field+"]";case Zi:var p=r.operator;return"[["+r.field+n(e(p))+t(s)+"]]";case $i:return s;case Qi:return"#"+s;case Ji:return"."+s;case sa:case aa:return i(r.parent,a)+n(">")+i(r.child,a);case la:case oa:return i(r.ancestor,a)+" "+i(r.descendant,a);case ua:var f=i(r.left,a),g=i(r.subject,a),v=i(r.right,a);return f+(f.length>0?" ":"")+g+v;case ca:return""}},i=function(e,t){return e.checks.reduce((function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)}),"")},a="",o=0;o1&&o=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function Ba(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1];return Ma(this,e,t,Ba)},_a.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ma(this,e,t,Na)},_a.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ma(this,e,t,za)},_a.ancestors=_a.parents,(Pa=Da={data:Fi.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Fi.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Fi.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Fi.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Fi.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Fi.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Pa.data,Pa.removeAttr=Pa.removeData;var Ia,Aa,La=Da,Oa={};function Ra(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var n=0,r=this[0],i=r._private.edges,a=0;at})),minIndegree:Va("indegree",(function(e,t){return et})),minOutdegree:Va("outdegree",(function(e,t){return et}))}),L(Oa,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=u;u&&(l=l[0]);var d=c?l.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,y=g;g&&(f=f[0]);var m=y?f.position():{x:0,y:0};void 0!==t?p.position(e,t+m[e]):void 0!==i&&p.position({x:i.x+m.x,y:i.y+m.y})}}else if(!a)return;return this}}).modelPosition=Ia.point=Ia.position,Ia.modelPositions=Ia.points=Ia.positions,Ia.renderedPoint=Ia.renderedPosition,Ia.relativePoint=Ia.relativePosition;var qa,Ya,Xa=Aa;qa=Ya={},Ya.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},Ya.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Ya.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,p=d.biasComplementDiff,f=y(i.height.val-a.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Ka=function(e,t){return null==t?e:Ha(e,t.x1,t.y1,t.x2,t.y2)},Ga=function(e,t,n){return Ue(e,t,n)},Ua=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,Nt(u,1),Ha(e,u.x1,u.y1,u.x2,u.y2)}}},Za=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Ga(a,"labelWidth",n),p=Ga(a,"labelHeight",n),f=Ga(a,"labelX",n),g=Ga(a,"labelY",n),v=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,E=t.pstyle("text-background-padding").pfValue,k=p,C=h,S=C/2,P=k/2;if(m)o=f-S,s=f+S,l=g-P,u=g+P;else{switch(c.value){case"left":o=f-C,s=f;break;case"center":o=f-S,s=f+S;break;case"right":o=f,s=f+C}switch(d.value){case"top":l=g-k,u=g;break;case"center":l=g-P,u=g+P;break;case"bottom":l=g,u=g+k}}o+=v-Math.max(x,w)-E-2,s+=v+Math.max(x,w)+E+2,l+=y-Math.max(x,w)-E-2,u+=y+Math.max(x,w)+E+2;var D=n||"main",T=i.labelBounds,_=T[D]=T[D]||{};_.x1=o,_.y1=l,_.x2=s,_.y2=u,_.w=s-o,_.h=u-l;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var N=M?Ga(i.rstyle,"labelAngle",n):b.pfValue,z=Math.cos(N),I=Math.sin(N),A=(o+s)/2,L=(l+u)/2;if(!m){switch(c.value){case"left":A=s;break;case"right":A=o}switch(d.value){case"top":L=u;break;case"bottom":L=l}}var O=function(e,t){return{x:(e-=A)*z-(t-=L)*I+A,y:e*I+t*z+L}},R=O(o,l),V=O(o,u),F=O(s,l),j=O(s,u);o=Math.min(R.x,V.x,F.x,j.x),s=Math.max(R.x,V.x,F.x,j.x),l=Math.min(R.y,V.y,F.y,j.y),u=Math.max(R.y,V.y,F.y,j.y)}var q=D+"Rot",Y=T[q]=T[q]||{};Y.x1=o,Y.y1=l,Y.x2=s,Y.y2=u,Y.w=s-o,Y.h=u-l,Ha(e,o,l,s,u),Ha(i.labelBounds.all,o,l,s,u)}return e}},$a=function(e,t){var n,r,i,a,o,s,l,u=e._private.cy,c=u.styleEnabled(),d=u.headless(),h=_t(),p=e._private,f=e.isNode(),g=e.isEdge(),v=p.rstyle,y=f&&c?e.pstyle("bounds-expansion").pfValue:[0],m=function(e){return"none"!==e.pstyle("display").value},b=!c||m(e)&&(!g||m(e.source())&&m(e.target()));if(b){var x=0;c&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(x=e.pstyle("overlay-padding").value);var w=0;c&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(w=e.pstyle("underlay-padding").value);var E=Math.max(x,w),k=0;if(c&&(k=e.pstyle("width").pfValue/2),f&&t.includeNodes){var C=e.position();o=C.x,s=C.y;var S=e.outerWidth()/2,P=e.outerHeight()/2;Ha(h,n=o-S,i=s-P,r=o+S,a=s+P),c&&t.includeOutlines&&function(e,t){if(!t.cy().headless()){var n,r,i,a=t.pstyle("outline-opacity").value,o=t.pstyle("outline-width").value;if(a>0&&o>0){var s=t.pstyle("outline-offset").value,l=t.pstyle("shape").value,u=o+s,c=(e.w+2*u)/e.w,d=(e.h+2*u)/e.h,h=0;["diamond","pentagon","round-triangle"].includes(l)?(c=(e.w+2.4*u)/e.w,h=-u/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(l)?c=(e.w+2.4*u)/e.w:"star"===l?(c=(e.w+2.8*u)/e.w,d=(e.h+2.6*u)/e.h,h=-u/3.8):"triangle"===l?(c=(e.w+2.8*u)/e.w,d=(e.h+2.4*u)/e.h,h=-u/1.4):"vee"===l&&(c=(e.w+4.4*u)/e.w,d=(e.h+3.8*u)/e.h,h=.5*-u);var p=e.h*d-e.h,f=e.w*c-e.w;if(zt(e,[Math.ceil(p/2),Math.ceil(f/2)]),0!==h){var g=(r=0,i=h,{x1:(n=e).x1+r,x2:n.x2+r,y1:n.y1+i,y2:n.y2+i,w:n.w,h:n.h});Mt(e,g)}}}}(h,e)}else if(g&&t.includeEdges)if(c&&!d){var D=e.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),i=Math.min(v.srcY,v.midY,v.tgtY),a=Math.max(v.srcY,v.midY,v.tgtY),Ha(h,n-=k,i-=k,r+=k,a+=k),"haystack"===D){var T=v.haystackPts;if(T&&2===T.length){if(n=T[0].x,i=T[0].y,n>(r=T[1].x)){var _=n;n=r,r=_}if(i>(a=T[1].y)){var M=i;i=a,a=M}Ha(h,n-k,i-k,r+k,a+k)}}else if("bezier"===D||"unbundled-bezier"===D||D.endsWith("segments")||D.endsWith("taxi")){var B;switch(D){case"bezier":case"unbundled-bezier":B=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":B=v.linePts}if(null!=B)for(var N=0;N(r=A.x)){var L=n;n=r,r=L}if((i=I.y)>(a=A.y)){var O=i;i=a,a=O}Ha(h,n-=k,i-=k,r+=k,a+=k)}if(c&&t.includeEdges&&g&&(Ua(h,e,"mid-source"),Ua(h,e,"mid-target"),Ua(h,e,"source"),Ua(h,e,"target")),c)if("yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;Ha(h,h.x1+R,h.y1+V,h.x2+R,h.y2+V)}var F=p.bodyBounds=p.bodyBounds||{};It(F,h),zt(F,y),Nt(F,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,Ha(h,n-E,i-E,r+E,a+E));var j=p.overlayBounds=p.overlayBounds||{};It(j,h),zt(j,y),Nt(j,1);var q=p.labelBounds=p.labelBounds||{};null!=q.all?((l=q.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):q.all=_t(),c&&t.includeLabels&&(t.includeMainLabels&&Za(h,e,null),g&&(t.includeSourceLabels&&Za(h,e,"source"),t.includeTargetLabels&&Za(h,e,"target")))}return h.x1=Wa(h.x1),h.y1=Wa(h.y1),h.x2=Wa(h.x2),h.y2=Wa(h.y2),h.w=Wa(h.x2-h.x1),h.h=Wa(h.y2-h.y1),h.w>0&&h.h>0&&b&&(zt(h,y),Nt(h,1)),h},Qa=function(e){var t=0,n=function(e){return(e?1:0)<0&&void 0!==arguments[0]?arguments[0]:bo,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},wo.removeAllListeners=function(){return this.removeListener("*")},wo.emit=wo.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,m(t)||(t=[t]),Co(this,(function(e,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var o=function(n){var i=r[n];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||".*"===i.namespace)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&function(e,t){for(var n=0;n1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&v(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var n=[],r=0;rr&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(b(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(v(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Go.neighbourhood=Go.neighborhood,Go.closedNeighbourhood=Go.closedNeighborhood,Go.openNeighbourhood=Go.openNeighborhood,L(Go,{source:Ta((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Ta((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Qo({attr:"source"}),targets:Qo({attr:"target"})}),L(Go,{edgesWith:Ta(Jo(),"edgesWith"),edgesTo:Ta(Jo({thisIsSrc:!0}),"edgesTo")}),L(Go,{connectedEdges:Ta((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Go.componentsOf=Go.components;var ts=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new $e,a=!1;if(t){if(t.length>0&&b(t[0])&&!k(t[0])){a=!0;for(var o=[],s=new Je,l=0,u=t.length;l0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],l=[],u=0,c=i.length;u0){for(var R=e.length===i.length?i:new ts(a,e),V=0;V0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){for(var t=e._private.edges,n=0;n0&&(e?D.emitAndNotify("remove"):t&&D.emit("remove"));for(var T=0;T1e-4&&Math.abs(s.v)>1e-4;);return a?function(e){return u[e*(u.length-1)|0]}:c}}(),as=function(e,t,n,r){var i=function(e,t,n,r){var i=4,a=.001,o=1e-7,s=10,l=11,u=1/(l-1),c="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var d=0;d<4;++d)if("number"!=typeof arguments[d]||isNaN(arguments[d])||!isFinite(arguments[d]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var h=c?new Float32Array(l):new Array(l);function p(e,t){return 1-3*t+3*e}function f(e,t){return 3*t-6*e}function g(e){return 3*e}function v(e,t,n){return((p(t,n)*e+f(t,n))*e+g(t))*e}function y(e,t,n){return 3*p(t,n)*e*e+2*f(t,n)*e+g(t)}function m(t,r){for(var a=0;a0?i=l:r=l}while(Math.abs(a)>o&&++u=a?m(t,s):0===c?s:x(t,r,r+u)}var E=!1;function k(){E=!0,e===t&&n===r||b()}var C=function(i){return E||k(),e===t&&n===r?i:0===i?0:1===i?1:v(w(i),t,r)};C.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var S="generateBezier("+[e,t,n,r]+")";return C.toString=function(){return S},C}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},os={linear:function(e,t,n){return e+(t-e)*n},ease:as(.25,.1,.25,1),"ease-in":as(.42,0,1,1),"ease-out":as(0,0,.58,1),"ease-in-out":as(.42,0,.58,1),"ease-in-sine":as(.47,0,.745,.715),"ease-out-sine":as(.39,.575,.565,1),"ease-in-out-sine":as(.445,.05,.55,.95),"ease-in-quad":as(.55,.085,.68,.53),"ease-out-quad":as(.25,.46,.45,.94),"ease-in-out-quad":as(.455,.03,.515,.955),"ease-in-cubic":as(.55,.055,.675,.19),"ease-out-cubic":as(.215,.61,.355,1),"ease-in-out-cubic":as(.645,.045,.355,1),"ease-in-quart":as(.895,.03,.685,.22),"ease-out-quart":as(.165,.84,.44,1),"ease-in-out-quart":as(.77,0,.175,1),"ease-in-quint":as(.755,.05,.855,.06),"ease-out-quint":as(.23,1,.32,1),"ease-in-out-quint":as(.86,0,.07,1),"ease-in-expo":as(.95,.05,.795,.035),"ease-out-expo":as(.19,1,.22,1),"ease-in-out-expo":as(1,0,0,1),"ease-in-circ":as(.6,.04,.98,.335),"ease-out-circ":as(.075,.82,.165,1),"ease-in-out-circ":as(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return os.linear;var r=is(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":as};function ss(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function ls(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function us(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=ls(e,i),s=ls(t,i);if(x(o)&&x(s))return ss(a,o,s,n,r);if(m(o)&&m(s)){for(var l=[],u=0;u0?("spring"===d&&h.push(o.duration),o.easingImpl=os[d].apply(null,h)):o.easingImpl=os[d]}var p,f=o.easingImpl;if(p=0===o.duration?1:(n-l)/o.duration,o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),null==o.delay){var g=o.startPosition,y=o.position;if(y&&i&&!e.locked()){var m={};ds(g.x,y.x)&&(m.x=us(g.x,y.x,p,f)),ds(g.y,y.y)&&(m.y=us(g.y,y.y,p,f)),e.position(m)}var b=o.startPan,x=o.pan,w=a.pan,E=null!=x&&r;E&&(ds(b.x,x.x)&&(w.x=us(b.x,x.x,p,f)),ds(b.y,x.y)&&(w.y=us(b.y,x.y,p,f)),e.emit("pan"));var k=o.startZoom,C=o.zoom,S=null!=C&&r;S&&(ds(k,C)&&(a.zoom=Tt(a.minZoom,us(k,C,p,f),a.maxZoom)),e.emit("zoom")),(E||S)&&e.emit("viewport");var P=o.style;if(P&&P.length>0&&i){for(var D=0;D=0;t--){(0,e[t])()}e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||hs(0,d,e),cs(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var fs={animate:Fi.animate(),animation:Fi.animation(),animated:Fi.animated(),clearQueue:Fi.clearQueue(),delay:Fi.delay(),delayAnimation:Fi.delayAnimation(),stop:Fi.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){ps(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&xe((function(n){ps(n,e),t()}))}()}}},gs={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&k(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},vs=function(e){return v(e)?new ka(e):e},ys={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xo(gs,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,vs(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,vs(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,vs(t),n),this},once:function(e,t,n){return this.emitter().one(e,vs(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Fi.eventAliasesOn(ys);var ms={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ms.jpeg=ms.jpg;var bs={layout:function(e){if(null!=e)if(null!=e.name){var t=e.name,n=this.extension("layout",t);if(null!=n){var r;r=v(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$();var i=new n(L({},e,{cy:this,eles:r}));return i}Ve("No such layout `"+t+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ve("A `name` must be specified to make a layout");else Ve("Layout options must be specified to make a layout")}};bs.createLayout=bs.makeLayout=bs.layout;var xs={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Es.invalidateDimensions=Es.resize;var ks={collection:function(e,t){return v(e)?this.$(e):E(e)?e.collection():m(e)?(t||(t={}),new ts(this,e,t.unique,t.removed)):new ts(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ks.elements=ks.filter=ks.$;var Cs={};Cs.apply=function(e){for(var t=this._private.cy.collection(),n=0;n0;if(d||c&&h){var p=void 0;d&&h||d?p=l.properties:h&&(p=l.mappedProperties);for(var f=0;f1&&(g=1),s.color){var w=i.valueMin[0],E=i.valueMax[0],k=i.valueMin[1],C=i.valueMax[1],S=i.valueMin[2],P=i.valueMax[2],D=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],_=[Math.round(w+(E-w)*g),Math.round(k+(C-k)*g),Math.round(S+(P-S)*g),Math.round(D+(T-D)*g)];n={bypass:i.bypass,name:i.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,"mapping")}if(!n)return f(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),N=d.data,z=0;z0&&a>0){for(var s={},l=!1,u=0;u0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},Cs.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},Cs.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},Cs.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()})),!i.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Cs.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Ss={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(i.match(/^\s*$/))break;var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){je("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l)if(new ka(l).invalid){je("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];;){if(n.match(/^\s*$/))break;var h=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!h){je("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var p=h[1],f=h[2];if(this.properties[p])this.parse(p,f)?(d.push({name:p,val:f}),o()):(je("Skipping property: Invalid property definition in: "+r),o());else je("Skipping property: Invalid property name in: "+r),o()}if(c){a();break}this.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(o.data.regex).exec(t))){if(n)return!1;var d=o.data;return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(o.mapData.regex).exec(t))){if(n)return!1;if(c.multiple)return!1;var h=o.mapData;if(!c.color&&!c.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var f=this.parse(e,u[5]);if(!f||f.mapped)return!1;if(p.pfValue===f.pfValue||p.strValue===f.strValue)return je("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(c.color){var g=p.value,b=f.value;if(!(g[0]!==b[0]||g[1]!==b[1]||g[2]!==b[2]||g[3]!==b[3]&&(null!=g[3]&&1!==g[3]||null!=b[3]&&1!==b[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:h,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:f.value,bypass:n}}}if(c.multiple&&"multiple"!==r){var w;if(w=s?t.split(/\s+/):m(t)?t:[t],c.evenMultiple&&w.length%2!=0)return null;for(var E=[],k=[],C=[],S="",P=!1,D=0;D0?" ":"")+T.strValue}return c.validate&&!c.validate(E,k)?null:c.singleEnum&&P?1===E.length&&v(E[0])?{name:e,value:E[0],strValue:E[0],bypass:n}:null:{name:e,value:E,pfValue:C,strValue:S,bypass:n,units:k}}var _,B,N=function(){for(var r=0;rc.max||c.strictMax&&t===c.max))return null;var V={name:e,value:t,strValue:""+t+(z||""),units:z,bypass:n};return c.unitless||"px"!==z&&"em"!==z?V.pfValue=t:V.pfValue="px"!==z&&z?this.getEmSizeInPixels()*t:t,"ms"!==z&&"s"!==z||(V.pfValue="ms"===z?t:1e3*t),"deg"!==z&&"rad"!==z||(V.pfValue="rad"===z?t:(_=t,Math.PI*_/180)),"%"===z&&(V.pfValue=t/100),V}if(c.propList){var F=[],j=""+t;if("none"===j);else{for(var q=j.split(/\s*,\s*|\s+/),Y=0;Y0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(l-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),x(e)?n=e:b(e)&&(n=e.level,null!=e.position?t=yt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;x(l.x)&&(t.pan.x=l.x,o=!1),x(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(v(e)){var n=e;e=this.mutableElements().filter(n)}else E(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container,i=this;return n.sizeCache=n.sizeCache||(r?(e=i.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};As.centre=As.center,As.autolockNodes=As.autolock,As.autoungrabifyNodes=As.autoungrabify;var Ls={data:Fi.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Fi.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Fi.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Fi.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ls.attr=Ls.data,Ls.removeAttr=Ls.removeData;var Os=function(e){var t=this,n=(e=L({},e)).container;n&&!w(n)&&w(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==u&&void 0!==n&&!e.headless,o=e;o.layout=L({name:a?"grid":"null"},o.layout),o.renderer=L({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new ts(this),listeners:[],aniEles:new ts(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:x(o.zoom)?o.zoom:1,pan:{x:b(o.pan)&&x(o.pan.x)?o.pan.x:0,y:b(o.pan)&&x(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});l.styleEnabled&&t.setStyle([]);var c=L({},o,o.renderer);t.initRenderer(c);!function(e,t){if(e.some(T))return vr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];l.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(b(e)||m(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=L({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),l.ready=!0,y(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,u=_t(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(E(n.roots))e=n.roots;else if(m(n.roots)){for(var c=[],d=0;d0;){var N=_.shift(),z=T(N,M);if(z)N.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(B);else if(null===z){je("Detected double maximal shift for node `"+N.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}D();var I=0;if(n.avoidOverlap)for(var L=0;L0&&b[0].length<=3?l/2:0),d=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(c=1),{x:G+c*Math.cos(d),y:U+c*Math.sin(d)}}return{x:G+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Xs={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ws(e){this.options=L({},Xs,e)}Ws.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=_t(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var v=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(v*v+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:l+a,y:u+s}})),this};var Hs,Ks={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Gs(e){this.options=L({},Ks,e)}Gs.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=_t(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,d=0;d0)Math.abs(m[0].value-x.value)>=v&&(m=[],y.push(m));m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var E=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-w)/(y.length+E?1:0);w=Math.min(w,k)}for(var C=0,S=0;S1&&t.avoidOverlap){var _=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(_*_+M*M));C=Math.max(B,C)}P.r=C,C+=w}if(t.equidistant){for(var N=0,z=0,I=0;I=e.numIter)&&(rl(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature=e.animationThreshold&&a(),xe(t)):(gl(r,e),s())}()}else{for(;u;)u=o(l),l++;gl(r,e),s()}return this},Zs.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Zs.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var $s=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=_t(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u0){o.graphSet.push(E);for(u=0;ur.count?0:r.graph},Js=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*o)*i/(g=Math.sqrt(i*i+a*a)),l=u*a/g;else{var u,c=ll(e,i,a),d=ll(t,-1*i,-1*a),h=d.x-c.x,p=d.y-c.y,f=h*h+p*p,g=Math.sqrt(f);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/f)*h/g,l=u*p/g}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},sl=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},ll=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0n?(u.x=r,u.y=i+a/2,u):0t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t,u):0=l)?(u.x=r+a*t/2/n,u.y=i+a/2,u):0>n&&(s<=-1*l||s>=l)?(u.x=r-a*t/2/n,u.y=i-a/2,u):u},ul=function(e,t){for(var n=0;n1){var f=t.gravity*d/p,g=t.gravity*h/p;c.offsetX+=f,c.offsetY+=g}}}}},dl=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},fl=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopf&&(d+=p+t.componentSpacing,c=0,h=0,p=0)}}},vl={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function yl(e){this.options=L({},vl,e)}yl.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=_t(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),u=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(l,u);Math.min(l,u)==l?l=e:u=e},d=function(e){if(null==e)return Math.max(l,u);Math.max(l,u)==l?l=e:u=e},h=t.rows,p=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=p)l=h,u=p;else if(null!=h&&null==p)l=h,u=Math.ceil(o/l);else if(null==h&&null!=p)u=p,l=Math.ceil(o/u);else if(u*l>o){var f=c(),g=d();(f-1)*g>=o?c(f-1):(g-1)*f>=o&&d(g-1)}else for(;u*l=o?d(y+1):c(v+1)}var m=a.w/u,b=a.h/l;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=u&&(B=0,M++)},z={},I=0;I(r=qt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=jt(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return v(n,r),!0;m=m||i.source,b=b||i.target;var E=o.getArrowWidth(l,c),k=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return Ue(e,t,n)}function x(n,r){var i,a=n._private,o=f;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],l=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var u=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,p=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-p,x=s.y2+o-p;if(d){var w=Math.cos(d),E=Math.sin(d),k=function(e,t){return{x:(e-=u)*w-(t-=c)*E+u,y:e*E+t*w+c}},C=k(g,m),S=k(g,x),P=k(y,m),D=k(y,x),T=[C.x+h,C.y+p,P.x+h,P.y+p,D.x+h,D.y+p,S.x+h,S.y+p];if(Yt(e,t,T))return v(n),!0}else if(Lt(s,e,t))return v(n),!0}}n&&(l=l.interactive);for(var w=l.length-1;w>=0;w--){var E=l[w];E.isNode()?y(E)||x(E):m(E)||x(E)||x(E,"source")||x(E,"target")}return u},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],l=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=_t({x1:e=l,y1:t=c,x2:n=u,y2:r=d}),p=0;p0?-(Math.PI-a.ang):Math.PI+a.ang),Zl(t,n,Ul),zl=Gl.nx*Ul.ny-Gl.ny*Ul.nx,Il=Gl.nx*Ul.nx-Gl.ny*-Ul.ny,Ol=Math.asin(Math.max(-1,Math.min(1,zl))),Math.abs(Ol)<1e-6)return Bl=t.x,Nl=t.y,void(Vl=jl=0);Al=1,Ll=!1,Il<0?Ol<0?Ol=Math.PI+Ol:(Ol=Math.PI-Ol,Al=-1,Ll=!0):Ol>0&&(Al=-1,Ll=!0),jl=void 0!==t.radius?t.radius:r,Rl=Ol/2,ql=Math.min(Gl.len/2,Ul.len/2),i?(Fl=Math.abs(Math.cos(Rl)*jl/Math.sin(Rl)))>ql?(Fl=ql,Vl=Math.abs(Fl*Math.sin(Rl)/Math.cos(Rl))):Vl=jl:(Fl=Math.min(ql,jl),Vl=Math.abs(Fl*Math.sin(Rl)/Math.cos(Rl))),Wl=t.x+Ul.nx*Fl,Hl=t.y+Ul.ny*Fl,Bl=Wl-Ul.ny*Vl*Al,Nl=Hl+Ul.nx*Vl*Al,Yl=t.x+Gl.nx*Fl,Xl=t.y+Gl.ny*Fl,Kl=t};function Ql(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function Jl(e,t,n,r){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:($l(e,t,n,r,i),{cx:Bl,cy:Nl,radius:Vl,startX:Yl,startY:Xl,stopX:Wl,stopY:Hl,startAngle:Gl.ang+Math.PI/2*Al,endAngle:Ul.ang-Math.PI/2*Al,counterClockwise:Ll})}var eu={};function tu(e){var t=[];if(null!=e){for(var n=0;n0?Math.max(e-t,0):Math.min(e+t,0)},w=x(m,v),E=x(b,y),k=!1;"auto"===c?u=Math.abs(w)>Math.abs(E)?"horizontal":"vertical":"upward"===c||"downward"===c?(u="vertical",k=!0):"leftward"!==c&&"rightward"!==c||(u="horizontal",k=!0);var C,S="vertical"===u,P=S?E:w,D=S?b:m,T=Et(D),_=!1;(k&&(h||f)||!("downward"===c&&D<0||"upward"===c&&D>0||"leftward"===c&&D>0||"rightward"===c&&D<0)||(P=(T*=-1)*Math.abs(P),_=!0),h)?C=(p<0?1+p:p)*P:C=(p<0?P:0)+p*T;var M=function(e){return Math.abs(e)=Math.abs(P)},B=M(C),N=M(Math.abs(P)-Math.abs(C));if((B||N)&&!_)if(S){var z=Math.abs(D)<=a/2,I=Math.abs(m)<=o/2;if(z){var A=(r.x1+r.x2)/2,L=r.y1,O=r.y2;n.segpts=[A,L,A,O]}else if(I){var R=(r.y1+r.y2)/2,V=r.x1,F=r.x2;n.segpts=[V,R,F,R]}else n.segpts=[r.x1,r.y2]}else{var j=Math.abs(D)<=i/2,q=Math.abs(b)<=s/2;if(j){var Y=(r.y1+r.y2)/2,X=r.x1,W=r.x2;n.segpts=[X,Y,W,Y]}else if(q){var H=(r.x1+r.x2)/2,K=r.y1,G=r.y2;n.segpts=[H,K,H,G]}else n.segpts=[r.x2,r.y1]}else if(S){var U=r.y1+C+(l?a/2*T:0),Z=r.x1,$=r.x2;n.segpts=[Z,U,$,U]}else{var Q=r.x1+C+(l?i/2*T:0),J=r.y1,ee=r.y2;n.segpts=[Q,J,Q,ee]}if(n.isRound){var te=e.pstyle("taxi-radius").value,ne="arc-radius"===e.pstyle("radius-type").value[0];n.radii=new Array(n.segpts.length/2).fill(te),n.isArcRadius=new Array(n.segpts.length/2).fill(ne)}},eu.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,p=t.srcRs,f=t.tgtRs,g=!x(n.startX)||!x(n.startY),v=!x(n.arrowStartX)||!x(n.arrowStartY),y=!x(n.endX)||!x(n.endY),m=!x(n.arrowEndX)||!x(n.arrowEndY),b=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=kt({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=wh.poolIndex()){var p=d;d=h,h=p}var f=s.srcPos=d.position(),g=s.tgtPos=h.position(),v=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(d)],E=s.tgtShape=n.nodeShapes[t.getNodeShape(h)],k=s.srcCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,C=s.tgtCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,S=s.tgtRs=h._private.rscratch,P=s.srcRs=d._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D0){var H=u,K=Ct(H,bt(t)),G=Ct(H,bt(W)),U=K;if(G2)Ct(H,{x:W[2],y:W[3]})0){var le=c,ue=Ct(le,bt(t)),ce=Ct(le,bt(se)),de=ue;if(ce2)Ct(le,{x:se[2],y:se[3]})=c||b){d={cp:v,segment:m};break}}if(d)break}var x=d.cp,w=d.segment,E=(c-p)/w.length,k=w.t1-w.t0,C=u?w.t0+k*E:w.t1-k*E;C=Tt(0,C,1),t=Dt(x.p0,x.p1,x.p2,C),l=function(e,t,n,r){var i=Tt(0,r-.001,1),a=Tt(0,r+.001,1),o=Dt(e,t,n,i),s=Dt(e,t,n,a);return su(o,s)}(x.p0,x.p1,x.p2,C);break;case"straight":case"segments":case"haystack":for(var S,P,D,T,_=0,M=r.allpts.length,B=0;B+3=c));B+=2);var N=(c-P)/S;N=Tt(0,N,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=kt(e,t),s=i/o,l=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+l*r}}(D,T,N),l=su(D,T)}o("labelX",s,t.x),o("labelY",s,t.y),o("labelAutoAngle",s,l)}};l("source"),l("target"),this.applyLabelDimensions(e)}},au.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},au.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=Ue(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=i.height/l,c=u*a,d=i.width,h=i.height+(l-1)*(a-1)*u;Ze(n.rstyle,"labelWidth",t,d),Ze(n.rscratch,"labelWidth",t,d),Ze(n.rstyle,"labelHeight",t,h),Ze(n.rscratch,"labelHeight",t,h),Ze(n.rscratch,"labelLineHeight",t,c)},au.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ze(n.rscratch,e,t,r),r):Ue(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var u=o("labelKey");if(null!=u&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var c=i.split("\n"),d=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,p=[],f=/[\s\u200b]+|$/g,g=0;gd){var b,x="",w=0,E=l(v.matchAll(f));try{for(E.s();!(b=E.n()).done;){var k=b.value,C=k[0],S=v.substring(w,k.index);w=k.index+C.length;var P=0===x.length?S:x+S+C;this.calculateLabelDimensions(e,P).width<=d?x+=S+C:(x&&p.push(x),x=S+C)}}catch(e){E.e(e)}finally{E.f()}x.match(/^[\s\u200b]+$/)||p.push(x)}else p.push(v)}o("labelWrapCachedLines",p),i=o("labelWrapCachedText",p.join("\n")),o("labelWrapKey",u)}else if("ellipsis"===s){var D=e.pstyle("text-max-width").pfValue,T="",_=!1;if(this.calculateLabelDimensions(e,i).widthD)break;T+=i[M],M===i.length-1&&(_=!0)}return _||(T+="…"),T}return i},au.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},au.calculateLabelDimensions=function(e,t){var n=this,r=n.cy.window().document,i=Te(t,e._private.labelDimsKey),a=n.labelDimCache||(n.labelDimCache=[]),o=a[i];if(null!=o)return o;var s=e.pstyle("font-style").strValue,l=e.pstyle("font-size").pfValue,u=e.pstyle("font-family").strValue,c=e.pstyle("font-weight").strValue,d=this.labelCalcCanvas,h=this.labelCalcCanvasContext;if(!d){d=this.labelCalcCanvas=r.createElement("canvas"),h=this.labelCalcCanvasContext=d.getContext("2d");var p=d.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}h.font="".concat(s," ").concat(c," ").concat(l,"px ").concat(u);for(var f=0,g=0,v=t.split("\n"),y=0;y1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var D=i(t);v&&(e.hoverData.tapholdCancelled=!0);n=!0,r(g,["mousemove","vmousemove","tapdrag"],t,{x:c[0],y:c[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:c[0],y:c[1]}}),f[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(v){var _={originalEvent:t,type:"cxtdrag",position:{x:c[0],y:c[1]}};m?m.emit(_):o.emit(_),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&g===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.hoverData.cxtOver=g,g&&g.emit({originalEvent:t,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var M;if(e.hoverData.justStartedPan){var B=e.hoverData.mdownPos;M={x:(c[0]-B[0])*s,y:(c[1]-B[1])*s},e.hoverData.justStartedPan=!1}else M={x:b[0]*s,y:b[1]*s};o.panBy(M),o.emit("dragpan"),e.hoverData.dragged=!0}c=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=f[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||g==y||(y&&r(y,["mouseout","tapdragout"],t,{x:c[0],y:c[1]}),g&&r(g,["mouseover","tapdragover"],t,{x:c[0],y:c[1]}),e.hoverData.last=g),m)if(v){if(o.boxSelectionEnabled()&&D)m&&m.grabbed()&&(d(w),m.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),w.emit("dragfree"))),T();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var N=!e.dragData.didDrag;N&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||u(w,{inDragLayer:!0});var z={x:0,y:0};if(x(b[0])&&x(b[1])&&(z.x+=b[0],z.y+=b[1],N)){var I=e.hoverData.dragDelta;I&&x(I[0])&&x(I[1])&&(z.x+=I[0],z.y+=I[1])}e.hoverData.draggingEles=!0,w.silentShift(z).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(b[0]),t.push(b[1])):(t[0]+=b[0],t[1]+=b[1])}();n=!0}else if(v){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!D&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){a(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,f[4]=0,e.data.bgActivePosistion=bt(h),e.redrawHint("select",!0),e.redraw())}}else T();m&&m.pannable()&&m.active()&&m.unactivate()}return f[2]=c[0],f[3]=c[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if((1!==e.hoverData.which||1===t.which||!e.hoverData.capture)&&e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,l=e.findNearestElement(o[0],o[1],!0,!1),u=e.dragData.possibleDragElements,c=e.hoverData.down,h=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var p={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(p):a.emit(p),!e.hoverData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(f):a.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(l,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),b=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(m&&clearTimeout(m),b=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(m=setTimeout((function(){b||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),u.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=u=a.collection()),l!=c||e.dragData.didDrag||e.hoverData.selecting||null!=l&&l._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||h?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):h||(a.$(n).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var g=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),g.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});var v=function(e){return e.selectable()&&!e.selected()};"additive"===a.selectionType()||h||a.$(n).unmerge(g).unselect(),g.emit("box").stdFilter(v).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var y=c&&c.grabbed();d(u),y&&(c.emit("freeon"),u.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null,e.hoverData.which=null}}),!1);var k,C,S,P,D,T,_,M,B,N,z,I,A,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var l=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(l=e.gestureStartZoom*t.scale),n.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var O,R,V,F,j,q,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},W=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",O=function(t){if(e.hasTouchStarted=!0,E(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]){o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=o[0],i[3]=o[1]}if(t.touches[2]){o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=o[0],i[5]=o[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,d(e.dragData.touchDragEles);var l=e.findContainerClientCoords();B=l[0],N=l[1],z=l[2],I=l[3],k=t.touches[0].clientX-B,C=t.touches[0].clientY-N,S=t.touches[1].clientX-B,P=t.touches[1].clientY-N,A=0<=k&&k<=z&&0<=S&&S<=z&&0<=C&&C<=I&&0<=P&&P<=I;var h=n.pan(),f=n.zoom();D=X(k,C,S,P),T=W(k,C,S,P),M=[((_=[(k+S)/2,(C+P)/2])[0]-h.x)/f,(_[1]-h.y)/f];if(T<4e4&&!t.touches[2]){var g=e.findNearestElement(i[0],i[1],!0,!0),v=e.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(x,{addToList:b})):c(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var L=e.touchData.startPosition=[null,null,null,null,null,null],O=0;O=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var w=t.touches[0].clientX-B,_=t.touches[0].clientY-N,z=t.touches[1].clientX-B,I=t.touches[1].clientY-N,L=W(w,_,z,I);if(L/T>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var O={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(O),e.touchData.start=null):o.emit(O)}}if(n&&e.touchData.cxt){O={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(O):o.emit(O),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var V=0;V0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,l=s.zoom(),u=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(t.touches[1]){h=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);u[2]=h[0],u[3]=h[1]}if(t.touches[2]){h=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);u[4]=h[0],u[5]=h[1]}if(i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(p):s.emit(p)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:u[0],y:u[1]}});f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var g=e.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;d(g),e.redrawHint("drag",!0),e.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(u[0],u[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]})}var m=e.touchData.startPosition[0]-u[0],b=m*m,x=e.touchData.startPosition[1]-u[1],w=(b+x*x)*l*l;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:u[0],y:u[1]}),j=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(q&&clearTimeout(q),j=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:u[0],y:u[1]})):(q=setTimeout((function(){j||r(i,["onetap","voneclick"],t,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var p=[c[0],c[1]],f=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),g=1;g0)return g[0]}return null},p=Object.keys(d),f=0;f0?u:Rt(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=2*(s="auto"===s?nn(r,i):s);if(Xt(e,t,this.points,a,o,r,i-l,[0,-1],n))return!0;if(Xt(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!Yt(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||(!!Kt(e,t,l,l,a+r/2-s,o+i/2-s,n)||!!Kt(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},gu.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Jt(3,0)),this.generateRoundPolygon("round-triangle",Jt(3,0)),this.generatePolygon("rectangle",Jt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Jt(5,0)),this.generateRoundPolygon("round-pentagon",Jt(5,0)),this.generatePolygon("hexagon",Jt(6,0)),this.generateRoundPolygon("round-hexagon",Jt(6,0)),this.generatePolygon("heptagon",Jt(7,0)),this.generateRoundPolygon("round-heptagon",Jt(7,0)),this.generatePolygon("octagon",Jt(8,0)),this.generateRoundPolygon("round-octagon",Jt(8,0));var r=new Array(20),i=tn(5,0),a=tn(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*g)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*(1e3/60))break;var v=e.deq(t,d,c);if(!(v.length>0))break;for(var y=0;y0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())}),i(t))}}},wu=function(){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Le;t(this,e),this.idsByKey=new $e,this.keyForId=new $e,this.cachesByLvl=new $e,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=r}return r(e,[{key:"getIdsFor",value:function(e){null==e&&Ve("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new Je,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new $e,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),Eu={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ku=He({getKey:null,doesEleInvalidateKey:Le,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Ae,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Cu=function(e,t){this.renderer=e,this.onDequeues=[];var n=ku(t);L(this,n),this.lookup=new wu(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},Su=Cu.prototype;Su.reasons=Eu,Su.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},Su.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},Su.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new rt((function(e,t){return t.reqs-e.reqs}))},Su.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},Su.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(wt(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),c=t.h*u,d=t.w*u,h=o.eleTextBiggerThanMin(e,u);if(!this.isVisible(e,h))return null;var p,f=l.get(e,r);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;if(p=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var g=a.getTextureQueue(p),v=g[g.length-2],y=function(){return a.recycleTexture(p,d)||a.addTexture(p,d)};v||(v=g[g.length-1]),v||(v=y()),v.width-v.usedWidthr;D--)S=a.getElement(e,t,n,D,Eu.downscale);P()}else{var T;if(!x&&!w&&!E)for(var _=r-1;_>=-4;_--){var M=l.get(e,_);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,e,t,h,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return f={x:v.usedWidth,texture:v,level:r,scale:u,width:d,height:c,scaledLabelShown:h},v.usedWidth+=Math.ceil(d+8),v.eleCaches.push(f),l.set(e,r,f),a.checkTextureFullness(v),f},Su.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},Su.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Ke(t,e):e.fullnessChecks++},Su.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Ke(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Ge(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Ke(r,a),n.push(a),a}},Su.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},Su.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1&&t.size()>0;a++){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,!u){r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,Eu.dequeue)}}return r},Su.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=Ie,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},Su.onDequeue=function(e){this.onDequeues.push(e)},Su.offDequeue=function(e){Ke(this.onDequeues,e)},Su.setupDequeueing=xu({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,l=r.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=l[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Ke(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=_t();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,p=e.length/1,f=!a,g=0;g=p||!Ot(h.bb,v.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||f?r.queueLayer(h,v):r.drawEleInLayer(h,v,n,t),h.eles.push(v),m[n]=h}}return s||(f?null:c)},Du.getEleLevelForLayerLevel=function(e,t){return e},Du.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},Du.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},Du.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},Du.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=we(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},Du.invalidateLayer=function(e){if(this.lastInvalidationTime=we(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Ke(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;n&&(l=n,e.translate(-l.x1,-l.y1));var u=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,f=t.pstyle("line-cap").value,g=t.pstyle("line-outline-width").value,v=t.pstyle("line-outline-color").value,y=u*c,m=u*c,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=p,e.lineCap=f,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;e.lineWidth=p+g,e.lineCap=f,g>0?(o.colorStrokeStyle(e,v[0],v[1],v[2],n),"straight-triangle"===d?o.drawEdgeTrianglePath(t,e,s.allpts):(o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")):e.lineCap="butt"},w=function(){i&&o.drawEdgeOverlay(e,t)},E=function(){i&&o.drawEdgeUnderlay(e,t)},k=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;o.drawArrowheads(e,t,n)},C=function(){o.drawElementText(e,t,null,r)};e.lineJoin="round";var S="yes"===t.pstyle("ghost").value;if(S){var P=t.pstyle("ghost-offset-x").pfValue,D=t.pstyle("ghost-offset-y").pfValue,T=t.pstyle("ghost-opacity").value,_=y*T;e.translate(P,D),b(_),k(_),e.translate(-P,-D)}else x();E(),b(),k(),w(),C(),n&&e.translate(l.x1,l.y1)}}},Wu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,l=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,l[0],l[1],l[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};Xu.drawEdgeOverlay=Wu("overlay"),Xu.drawEdgeUnderlay=Wu("underlay"),Xu.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,u=this.usePaths(),c=e.pstyle("line-dash-pattern").pfValue,d=e.pstyle("line-dash-offset").pfValue;if(u){var h=n.join("$");a.pathCacheKey&&a.pathCacheKey===h?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=h,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(c),o.lineDashOffset=d;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}Ku.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(wt(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var p,f=!n;n&&(p=n,e.translate(-p.x1,-p.y1)),null==i?(o.drawText(e,t,null,f,a),t.isEdge()&&(o.drawText(e,t,"source",f,a),o.drawText(e,t,"target",f,a))):o.drawText(e,t,i,f,a),n&&e.translate(p.x1,p.y1)},Ku.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},Ku.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=Ue(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},Ku.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private,o=a.rscratch,s=i?t.effectiveOpacity():1;if(!i||0!==s&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var l,u,c=Ue(o,"labelX",n),d=Ue(o,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(c)&&!isNaN(d)){this.setupTextStyle(e,t,i);var p,f=n?n+"-":"",g=Ue(o,"labelWidth",n),v=Ue(o,"labelHeight",n),y=t.pstyle(f+"text-margin-x").pfValue,m=t.pstyle(f+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(b&&(x="center",w="center"),c+=y,d+=m,0!==(p=r?this.getTextAngle(t,n):0)&&(l=c,u=d,e.translate(l,u),e.rotate(p),c=0,d=0),w){case"top":break;case"center":d+=v/2;break;case"bottom":d+=v}var E=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue,P=t.pstyle("text-background-shape").strValue,D=0===P.indexOf("round"),T=2;if(E>0||C>0&&k>0){var _=c-S;switch(x){case"left":_-=g;break;case"center":_-=g/2}var M=d-v-S,B=g+2*S,N=v+2*S;if(E>0){var z=e.fillStyle,I=t.pstyle("text-background-color").value;e.fillStyle="rgba("+I[0]+","+I[1]+","+I[2]+","+E*s+")",D?Gu(e,_,M,B,N,T):e.fillRect(_,M,B,N),e.fillStyle=z}if(C>0&&k>0){var A=e.strokeStyle,L=e.lineWidth,O=t.pstyle("text-border-color").value,R=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+O[0]+","+O[1]+","+O[2]+","+k*s+")",e.lineWidth=C,e.setLineDash)switch(R){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(D?Gu(e,_,M,B,N,T,"stroke"):e.strokeRect(_,M,B,N),"double"===R){var V=C/2;D?Gu(e,_+V,M+V,B-2*V,N-2*V,T,"stroke"):e.strokeRect(_+V,M+V,B-2*V,N-2*V)}e.setLineDash&&e.setLineDash([]),e.lineWidth=L,e.strokeStyle=A}}var F=2*t.pstyle("text-outline-width").pfValue;if(F>0&&(e.lineWidth=F),"wrap"===t.pstyle("text-wrap").value){var j=Ue(o,"labelWrapCachedLines",n),q=Ue(o,"labelLineHeight",n),Y=g/2,X=this.getLabelJustification(t);switch("auto"===X||("left"===x?"left"===X?c+=-g:"center"===X&&(c+=-Y):"center"===x?"left"===X?c+=-Y:"right"===X&&(c+=Y):"right"===x&&("center"===X?c+=Y:"right"===X&&(c+=g))),w){case"top":d-=(j.length-1)*q;break;case"center":case"bottom":d-=(j.length-1)*q}for(var W=0;W0&&e.strokeText(j[W],c,d),e.fillText(j[W],c,d),d+=q}else F>0&&e.strokeText(h,c,d),e.fillText(h,c,d);0!==p&&(e.rotate(-p),e.translate(-l,-u))}}};var Uu={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,u=t._private,c=u.rscratch,d=t.position();if(x(d.x)&&x(d.y)&&(!s||t.visible())){var h,p,f=s?t.effectiveOpacity():1,g=l.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(p=n,e.translate(-p.x1,-p.y1));for(var m=t.pstyle("background-image"),b=m.value,w=new Array(b.length),E=new Array(b.length),k=0,C=0;C0&&void 0!==arguments[0]?arguments[0]:M;l.eleFillStyle(e,t,n)},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:R;l.colorStrokeStyle(e,B[0],B[1],B[2],t)},K=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:q;l.colorStrokeStyle(e,F[0],F[1],F[2],t)},G=function(e,t,n,r){var i,a=l.nodePathCache=l.nodePathCache||[],o=_e("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+X),s=a[o],u=!1;return null!=s?(i=s,u=!0,c.pathCache=i):(i=new Path2D,a[o]=c.pathCache=i),{path:i,cacheHit:u}},U=t.pstyle("shape").strValue,Z=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(d.x,d.y);var $=G(r,i,U,Z);h=$.path,v=$.cacheHit}var Q=function(){if(!v){var n=d;g&&(n={x:0,y:0}),l.nodeShapes[l.getNodeShape(t)].draw(h||e,n.x,n.y,r,i,X,c)}g?e.fill(h):e.fill()},J=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;l.hasPie(t)&&(l.drawPie(e,t,a),n&&(g||l.nodeShapes[l.getNodeShape(t)].draw(e,d.x,d.y,r,i,X,c)))},te=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=(T>0?T:-T)*t,r=T>0?0:255;0!==T&&(l.colorFillStyle(e,r,r,r,n),g?e.fill(h):e.fill())},ne=function(){if(_>0){if(e.lineWidth=_,e.lineCap=I,e.lineJoin=z,e.setLineDash)switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(L),e.lineDashOffset=O;break;case"solid":case"double":e.setLineDash([])}if("center"!==A){if(e.save(),e.lineWidth*=2,"inside"===A)g?e.clip(h):e.clip();else{var t=new Path2D;t.rect(-r/2-_,-i/2-_,r+2*_,i+2*_),t.addPath(h),e.clip(t,"evenodd")}g?e.stroke(h):e.stroke(),e.restore()}else g?e.stroke(h):e.stroke();if("double"===N){e.lineWidth=_/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(h):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},re=function(){if(V>0){if(e.lineWidth=V,e.lineCap="butt",e.setLineDash)switch(j){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;g&&(n={x:0,y:0});var a=l.getNodeShape(t),o=_;"inside"===A&&(o=0),"outside"===A&&(o*=2);var s,u=(r+o+(V+Y))/r,c=(i+o+(V+Y))/i,h=r*u,p=i*c,f=l.nodeShapes[a].points;if(g)s=G(h,p,a,f).path;if("ellipse"===a)l.drawEllipsePath(s||e,n.x,n.y,h,p);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var v=0,y=0,m=0;"round-diamond"===a?v=1.4*(o+Y+V):"round-heptagon"===a?(v=1.075*(o+Y+V),m=-(o/2+Y+V)/35):"round-hexagon"===a?v=1.12*(o+Y+V):"round-pentagon"===a?(v=1.13*(o+Y+V),m=-(o/2+Y+V)/15):"round-tag"===a?(v=1.12*(o+Y+V),y=.07*(o/2+V+Y)):"round-triangle"===a&&(v=(o+Y+V)*(Math.PI/2),m=-(o+Y/2+V)/Math.PI),0!==v&&(h=r*(u=(r+v)/r),["round-hexagon","round-tag"].includes(a)||(p=i*(c=(i+v)/i)));for(var b=h/2,x=p/2,w=(X="auto"===X?rn(h,p):X)+(o+V+Y)/2,E=new Array(f.length/2),k=new Array(f.length/2),C=0;C0){if(r=r||n.position(),null==i||null==a){var d=n.padding();i=n.width()+2*d,a=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o,c),t.fill()}}}};Uu.drawNodeOverlay=Zu("overlay"),Uu.drawNodeUnderlay=Zu("underlay"),Uu.hasPie=function(e){return(e=e[0])._private.hasPie},Uu.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,l=t.width(),u=t.height(),c=Math.min(l,u)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var p=t.pstyle("pie-"+h+"-background-size").value,f=t.pstyle("pie-"+h+"-background-color").value,g=t.pstyle("pie-"+h+"-background-opacity").value*n,v=p/100;v+d>1&&(v=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*v;0===p||d>=1||d+v>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,f[0],f[1],f[2],g),e.fill(),d+=v)}};var $u={};$u.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n},$u.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=l.style(),b=l.zoom(),x=void 0!==i?i:b,w=l.pan(),E={x:w.x,y:w.y},k={zoom:b,pan:{x:w.x,y:w.y}},C=o.prevViewport;void 0===C||k.zoom!==C.zoom||k.pan.x!==C.pan.x||k.pan.y!==C.pan.y||g&&!f||(o.motionBlurPxRatio=1),a&&(E=a),x*=s,E.x*=s,E.y*=s;var S=o.getCachedZSortedEles();function P(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function D(e,r){var s,l,c,d;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=E,l=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*p,y:w.y*p},l=b*p,c=o.canvasWidth*p,d=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?P(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(k=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var _=u.contexts[o.NODE],M=o.textureCache.texture;k=o.textureCache.viewport;_.setTransform(1,0,0,1,0,0),h?P(_,0,0,k.width,k.height):_.clearRect(0,0,k.width,k.height);var B=m.core("outside-texture-bg-color").value,N=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(_,B[0],B[1],B[2],N),_.fillRect(0,0,k.width,k.height);b=l.zoom();D(_,!1),_.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s),_.drawImage(M,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var z=l.extent(),I=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),A=o.hideEdgesOnViewport&&I,L=[];if(L[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,L[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),L[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,L[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||L[o.NODE]){var O=h&&!L[o.NODE]&&1!==p;D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.nondrag,s,z):o.drawLayeredElements(_,S.nondrag,s,z),o.debug&&o.drawDebugPoints(_,S.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||L[o.DRAG])){O=h&&!L[o.DRAG]&&1!==p;D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.drag,s,z):o.drawCachedElements(_,S.drag,s,z),o.debug&&o.drawDebugPoints(_,S.drag),n||h||(c[o.DRAG]=!1)}if(o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(D(_=t||u.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;_.lineWidth=R,_.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",_.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(_.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",_.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var V=u.bgActivePosistion;_.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",_.beginPath(),_.arc(V.x,V.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),_.fill()}var F=o.lastRedrawTime;if(o.showFps&&F){F=Math.round(F);var j=Math.round(1e3/F);_.setTransform(1,0,0,1,0,0),_.fillStyle="rgba(255, 0, 0, 0.75)",_.strokeStyle="rgba(255, 0, 0, 0.75)",_.lineWidth=1,_.fillText("1 frame = "+F+" ms = "+j+" fps",0,20);_.strokeRect(0,30,250,20),_.fillRect(0,30,250*Math.min(j/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var q=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],X=u.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):P(e,0,0,o.canvasWidth,o.canvasHeight);var r=p;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||L[o.NODE])&&(H(q,Y,L[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||L[o.DRAG])&&(H(X,W,L[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=k,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||l.emit("render")};for(var Qu={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},ac.png=function(e){return sc(e,this.bufferCanvasImage(e),"image/png")},ac.jpg=function(e){return sc(e,this.bufferCanvasImage(e),"image/jpeg")};var lc={nodeShapeImpl:function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},uc=dc,cc=dc.prototype;function dc(e){var t=this,n=t.cy.window().document;t.data={canvases:new Array(cc.CANVAS_LAYERS),contexts:new Array(cc.CANVAS_LAYERS),canvasNeedsRedraw:new Array(cc.CANVAS_LAYERS),bufferCanvases:new Array(cc.BUFFER_COUNT),bufferContexts:new Array(cc.CANVAS_LAYERS)};t.data.canvasContainer=n.createElement("div");var r=t.data.canvasContainer.style;t.data.canvasContainer.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",r.position="relative",r.zIndex="0",r.overflow="hidden";var i=e.cy.container();i.appendChild(t.data.canvasContainer),i.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)";var a={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};c&&c.userAgent.match(/msie|trident|edge/i)&&(a["-ms-touch-action"]="none",a["touch-action"]="none");for(var o=0;o=n.length)return{done:!0};var r=n[e++];return{value:[r,t.get(r)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);if(void 0!==t[n])return!1;var e=Object.getOwnPropertyNames(t);if(0!=e.length)return!1;if(t[n]=42,42!==t[n])return!1;if(0==Object.getOwnPropertyNames(t).length)return!1;return!0}()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[UY]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n});return n}()}()}function Gi(n,t){$j(),OT.dc(n,t)}function Ni(n,t){return _g(n,t)}function Oi(n,t){return n.a.B(t)}function Ti(n,t){return n.g[t.e]}function Pi(n,t){return n.i[t.e]}function Ri(n,t){return n.j[t.e]}function Yi(n,t){return n.n[t.e]}function Ai(n,t){return n.o[t.e]}function _i(n,t){return n>t?n:t}function Mi(n,t){return n>t?n:t}function Di(n,t){return n>t?n:t}function xi(n,t){return nt?1:0}function $f(n){return null!=n?oS(n):0}function Uf(n){this.a=$o(),this.b=n}function Ff(n){this.a=$o(),this.b=n}function Vf(n){this.a=n,el.call(this,n)}function zf(){ts(),this.b=new ye(this)}function qf(){var n;qf=e,n=new ai(", "),_l(DT),wA=new nl(n,n)}function Qf(){Qf=e,hA=new hf,bA=new Yf}function Kf(){Kf=e,gA=new h,vA=new l}function Wf(){Wf=e,pA=new Qu,mA=new Ef}function Jf(){Jf=e,CA=new lf,HA=new ys}function Zf(){Zf=e,UA=new g,FA=new v}function Xf(n){n.g=new Rt,n.b=new Rt}function ns(n){n.a=new gt,n.c=new gt}function ts(){ts=e,K$=new Qn,Q$=new rl}function es(){Da.call(this,"IS_NULL",2)}function rs(){_o.call(this,"Head",1)}function cs(){_o.call(this,"Tail",3)}function is(n,t){wm.call(this,n,t,null)}function as(n,t){nH(n,0,n.length,t)}function us(n,t){return Ph(t.a,n.a),n.a}function os(n,t){return n.a*=t,n.b*=t,n}function fs(n,t){ud(),this.a=n,this.b=t}function ss(n,t){return n.a[t.d.k][t.k]}function bs(n,t){return n.a[t.d.k][t.k]}function hs(n,t){return ua(function(n,t){var e,r;e=null,r=n.b;for(;r;)n.a.$b(t,r.d)>=0?r=r.a[1]:(e=r,r=r.a[0]);return e}(n.a,t))}function ls(n,t){return ua(function(n,t){var e,r;e=null,r=n.b;for(;r;)n.a.$b(t,r.d)<=0?r=r.a[0]:(e=r,r=r.a[1]);return e}(n.a,t))}function ws(n,t){return zh(uC(n.a,t),20)}function ds(n,t){return null!=n&&qE(n,t)}function gs(n){return n.a=t)throw new Sc}function Qh(n,t){return _l(n),_l(t),new sl(n,t)}function Kh(n,t){return _l(n),_l(t),new bl(n,t)}function Wh(n,t,e){return n=e+1&&n.splice(0,e+1);break}return n}(OT.ec(n))}function Hl(n,t){var e;return(e=$w(n,t)).g=2,e}function Cl(n,t){n.b=t.b,n.c=t.c,n.d=t.d,n.a=t.a}function Il(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function Ll(n){return n.b.c.length+n.e.c.length}function Gl(n){return Array.isArray(n)&&n.ad===t}function Nl(n,t){return Kf(),-1!=Kj(new Qe(n),t)}function Ol(n,t,e,r,c,i){return WH(n,t,e,r,c,0,i)}function Tl(n,t,e){Zf(),ev.call(this,n.b,t,e,n.d)}function Pl(n,t){Zf(),ev.call(this,n.b,t,n.c,n.d)}function Rl(n,t,e){Gk(t,n.c.length),Io(n.c,t,e)}function Yl(n,t){return Nk(t,n.a.length),n.a[t]}function Al(n){n.sort((function(n,t){return n-t}))}function _l(n){if(null==n)throw new qr;return n}function Ml(n){if(null==n)throw new qr;this.a=n}function Dl(n,t,e){if(n.a!=t)throw new kc;n.a=e}function xl(n,t){if(!n)throw new ii((cc(),t))}function Bl(n,t){if(!n)throw new mi((cc(),t))}function $l(n){if(null==n)throw new qr;return n}function Ul(n){ir.call(this,new sk),Em(this,n)}function Fl(n){this.a=new Vu(n.Y()),Em(this,n)}function Vl(n){this.c=n,this.a=new Fu(this.c.a)}function zl(n){ud(),this.a=(Vd(),new Je(_l(n)))}function ql(){(ql=e)(),nQ=!1,tQ=!0}function Ql(){Ql=e,iQ=Pk(ZY,AT,24,256,0,1)}function Kl(){Kl=e,aU=kl(pl(new dS,(mT(),VB)),d$)}function Wl(){Wl=e,Dx=new m,Bx=new cl,xx=new j}function Jl(n){return null!=n&&Yw(n)&&!(n.ad===t)}function Zl(n){return!Array.isArray(n)&&n.ad===t}function Xl(n,t){return Gs(t)?Ad(n,t):UI(n.d,t)}function nw(n,t){return ds(t,17)&&Ks(n,zh(t,17))}function tw(n,t){return ds(t,17)&&function(n,t){if(t&&n.b[t.e]==t)return Fw(n.b,t.e,null),--n.c,!0;return!1}(n,zh(t,17))}function ew(n,t){var e;return gj(e=CS(n),t),e}function rw(n,t){return!n&&(n=[]),n[n.length]=t,n}function cw(n,t,e){if(!n)throw new ii(function(n,t){var e,r,c,i;cc(),n=null==n?DT:n,n.length,t.length,e=new Xi,i=0,r=0;for(;r0),n.a.sb(n.c=--n.b)}function gw(n){n.b?gw(n.b):n.d.V()&&Xl(n.f.b,n.e)}function vw(n){if(lS(n.d),n.d.d!=n.c)throw new kc}function kw(n,t){if(t[DY]!=n[DY])throw new kc}function pw(n,t){return Kf(),_l(n),_l(t),new Ra(n,t)}function mw(n,t){ud(),Fa.call(this,n,Bj(new Ke(t)))}function jw(n,t,e,r){this.a=n,Yk.call(this,n,t,e,r)}function yw(n){this.a=Math.cos(n),this.b=Math.sin(n)}function Sw(n,t,e){xc.call(this,n),this.b=t,this.a=e}function Ew(n){this.b=new Rt,this.a=new Rt,this.c=n}function Hw(n){this.c=new ui,this.a=new Rt,this.b=n}function Cw(){Cw=e,RA=new ne(!1),YA=new ne(!0)}function Iw(n,t){return++n.d,n.c[n.c.length]=t,!0}function Lw(n,t){Dv(n.d,t,n.b.b,n.b),++n.a,n.c=null}function Gw(n,t){return null==n.a.db(t,n)}function Nw(n,t){return qk(n.slice(0,t),n)}function Ow(n,t){return qk(new Array(t),n)}function Tw(n,t,e){var r;return r=n.b[t],n.b[t]=e,r}function Pw(n){return Es(),Eh(function(n){var t;return t=n.g,zh(t||(n.g=new zt(n)),20)}(n.a).mb(),(Wf(),pA))}function Rw(n){return Kf(),new Af(Df(Kh(n.a,new b)))}function Yw(n){return typeof n===YT||typeof n===$T}function Aw(t){n.setTimeout((function(){throw t}),0)}function _w(n){return _l(n),ds(n,345)?zh(n,345):rH(n)}function Mw(n,t){return null==Jj(n.a,t,(ql(),nQ))}function Dw(n,t){var e;return function(n,t){if(n<0||n>=t)throw new ci(function(n,t){if(n<0)return tG(oP,_j(Ni(WY,1),fP,1,4,["index",iS(n)]));if(t<0)throw new ii(sP+t);return tG("%s (%s) must be less than size (%s)",_j(Ni(WY,1),fP,1,4,["index",iS(n),iS(t)]))}(n,t))}(t,e=n.a.Y()),e-1-t}function xw(n,t,e){var r;return r=Mp(n,t),function(n,t,e){if(e){var r=e.gc();e=r(e)}else e=void 0;n.a[t]=e}(n,t,e),r}function Bw(n,t,e){var r;return rm(e,r=$w(n,t)),r}function $w(n,t){var e;return(e=new cy).i=n,e.d=t,e}function Uw(n,t,e){this.a=n,Av(e,t),this.c=t,this.b=e}function Fw(n,e,r){return function(n){if(!n)throw new Vr}(null==r||function(n,e){switch(Gp(n)){case 5:return Gs(e);case 6:return Ls(e);case 7:return kb(e);case 0:return qE(e,n.__elementTypeId$);case 2:return Yw(e)&&!(e.ad===t);case 1:return Yw(e)&&!(e.ad===t)||qE(e,n.__elementTypeId$);default:return!0}}(n,r)),n[e]=r}function Vw(n){n.a=null,n.e=null,Ik(n.b),n.d=0,++n.c}function zw(n){return n.f||(n.f=new Ju(n))}function qw(n){return n.k||(n.k=new xt(n))}function Qw(n){return n.e||(n.e=new Wa(n))}function Kw(n){var t;return!(t=n.e)&&(n.e=t=n.gb()),t}function Ww(n){return n.c.f.d==n.d.f.d}function Jw(n,t){var e;return Wp(e=new Bv(n),t),e}function Zw(n,t){return n.a+=String.fromCharCode(t),n}function Xw(n){return!n.a&&n.d?n.d.b:n.a}function nd(n){return Qs(n)?0|n:n.l|n.m<<22}function td(n,t){return Gs(t)?yg(n,t):Wo(kg(n.d,t))}function ed(n){return ds(n,19)?zh(n,19).Y():ak(n.mb())}function rd(n){return n?new Fl((qf(),n)):function(n){var t;return Zp(t=new Jc,n),t}(null.mb())}function cd(n,t){return Ko(n)===Ko(t)||null!=n&&vy(n,t)}function id(n,t){return Xc(),xj(ri(Tb(n)),ri(Tb(t)))}function ad(n){return Es(),Eh(n.a.bb().mb(),(Wf(),mA))}function ud(){ud=e,hh(),dA=new lv((Vd(),Vd(),fQ))}function od(){od=e,hh(),EA=new Ku((Vd(),Vd(),bQ))}function fd(n,t){if(null==n)throw new Si((cc(),t))}function sd(n,t,e,r){n.g[t.e][e.e]=r,n.g[e.e][t.e]=r}function bd(n){Nf(-1!=n.c),n.d.vb(n.c),n.b=n.c,n.c=-1}function hd(n){this.c=n,this.b=n.a.b.a,Ws(n.a.c,this)}function ld(n){jN.call(this,new Ke(n)),this.a=new ui}function wd(){Lc.call(this,new Pc(new jr)),this.a=this}function dd(){kp(),this.b=(Es(),new jr),this.a=new jr}function gd(n){md(n.a),n.b=Pk(WY,fP,1,n.b.length,4,1)}function vd(n){return!n.b&&(n.b=new Ki(n.c.W())),n.b}function kd(n,t){var e;return IO(n,t,e=new vt),e.d}function pd(n,t){var e;return(e=$w("",n)).k=t,e.g=1,e}function md(n){var t;for(t=n.mb();t.G();)t.H(),t.I()}function jd(n,t){return ds(t,79)&&Rc(n.b,zh(t,79).mc())}function yd(n,t,e){return Gs(t)?zg(n,t,e):rI(n.d,t,e)}function Sd(n,t,e,r){this.d=n,this.b=t,this.a=e,this.c=r}function Ed(n,t,e,r){this.d=n,this.e=t,this.c=e,this.b=r}function Hd(n,t,e,r){this.a=n,this.c=t,this.b=e,this.d=r}function Cd(n,t,e,r){Ta.call(this,n,t),this.a=e,this.b=r}function Id(n,t){return cc(),n==t?0:n0?1:0}function ng(n,t){return Xm(function(n,t){return Lh(n.l&t.l,n.m&t.m,n.h&t.h)}(Qs(n)?oj(n):n,Qs(t)?oj(t):t))}function tg(n){return 0==n.b?null:(Pf(0!=n.b),Jp(n,n.a.a))}function eg(n){n.d=n.d-15,n.b=n.b-15,n.c=n.c+15,n.a=n.a+15}function rg(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function cg(n,t,e){this.d=n,this.b=new Rt,this.c=t,this.a=e}function ig(n,t){!function(n,t){n.a=t}(this,new Za(n.a,n.b)),function(n,t){n.b=t}(this,Fh(t))}function ag(n){gs(new Qe(bH(n.e)))&&(function(n){var t,e,r;for(r=new Vl(new rr(n.c).a);vs(r.a);)switch(r.b=ik(r.a),t=zh((e=new Mo(r.c,r.b)).b.b[e.a.e],62),zh(e.a,67).e){case 0:t.d=0,t.e=-(t.b+n.d);break;case 1:t.d=(n.e.e.j.a-t.c)/2,t.e=-(t.b+n.d);break;case 2:t.d=n.e.e.j.a-t.c,t.e=-(t.b+n.d);break;case 3:t.d=0,t.e=n.e.e.j.b+n.d;break;case 4:t.d=(n.e.e.j.a-t.c)/2,t.e=n.e.e.j.b+n.d;break;case 5:t.d=n.e.e.j.a-t.c,t.e=n.e.e.j.b+n.d;break;case 6:t.d=-(t.c+n.d),t.e=0;break;case 7:t.d=-(t.c+n.d),t.e=(n.e.e.j.b-t.b)/2;break;case 8:t.d=-(t.c+n.d),t.e=n.e.e.j.b-t.b;break;case 9:t.d=n.e.e.j.a+n.d,t.e=0;break;case 10:t.d=n.e.e.j.a+n.d,t.e=(n.e.e.j.b-t.b)/2;break;case 11:t.d=n.e.e.j.a+n.d,t.e=n.e.e.j.b-t.b;break;case 12:t.d=n.q.b+n.d,t.e=n.q.d+n.d;break;case 13:t.d=(n.e.e.j.a-t.c)/2,t.e=n.q.d+n.d;break;case 14:t.d=n.e.e.j.a-n.q.c-t.c-n.d,t.e=n.q.d+n.d;break;case 15:t.d=n.q.b+n.d,t.e=(n.e.e.j.b-t.b)/2;break;case 16:t.d=(n.e.e.j.a-t.c)/2,t.e=(n.e.e.j.b-t.b)/2;break;case 17:t.d=n.e.e.j.a-n.q.c-t.c-n.d,t.e=(n.e.e.j.b-t.b)/2;break;case 18:t.d=n.q.b+n.d,t.e=n.e.e.j.b-n.q.a-t.b-n.d;break;case 19:t.d=(n.e.e.j.a-t.c)/2,t.e=n.e.e.j.b-n.q.a-t.b-n.d;break;case 20:t.d=n.e.e.j.a-n.q.c-t.c-n.d,t.e=n.e.e.j.b-n.q.a-t.b-n.d}}(n),function(n){var t,e,r,c,i;for(r=new Qe(bH(n.e));r.a>>0).toString(16)}function jg(n,t){return function(n,t){return ql(),n==t?0:n?1:-1}(ei(($l(n),n)),ei(($l(t),t)))}function yg(n,t){return null==t?Wo(kg(n.d,null)):Ro(n.e,t)}function Sg(n,t,e){return new Dg(n.c,vN(n.b,function(n,t,e){return new SI(n,!1,null,(Qf(),hA),!0,t,e)}(n.d,t,e)),n.a)}function Eg(n){return 0|Math.max(Math.min(n,UT),-2147483648)}function Hg(n){this.e=n,this.b=this.e.a.entries(),this.a=[]}function Cg(n){this.c=n,this.b=new ry(new De(this.c.a).a)}function Ig(n){this.b=(Kf(),Kf(),Kf(),gA),this.a=zh(_l(n),35)}function Lg(n,t,e){Zf(),Rh.call(this,n,t),null!=e&&(this.c=e)}function Gg(n,t,e){if(n<0||te)throw new ci(function(n,t,e){if(n<0||n>e)return cI(n,e,"start index");if(t<0||t>e)return cI(t,e,"end index");return tG("end index (%s) must not be less than start index (%s)",_j(Ni(WY,1),fP,1,4,[iS(t),iS(n)]))}(n,t,e))}function Ng(n,t){if(null==n)throw new Si((cc(),t));return n}function Og(n){if(!bS(n))throw new mc;return n.c=n.b,n.b.H()}function Tg(n){var t;return gj(t=new Ia(vj(n.length)),n),t}function Pg(n){var t;t=n.c.b.b,n.b=t,n.a=n.c.b,t.a=n.c.b.b=n}function Rg(n){this.b=null,!n&&(Xu(),Xu(),n=wQ),this.a=n}function Yg(n){this.b=n,this.a=new tv(this.b,this.b.c.length)}function Ag(n){return ud(),_l(n),OE(n||Uh(new Qe(null)))}function _g(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.Oc(t))}function Mg(n,t,e){var r;mH(t,e,n.c.length),r=e-t,pa(n.c,t,r)}function Dg(n,t,e){Oa.call(this,t.a),this.c=n,this.b=t,this.a=e}function xg(n){return Vo(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function Bg(n){return Vo(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function $g(n){return nj(_j(Ni(BA,1),yR,10,0,[n.f.i,n.i,n.a]))}function Ug(){Ug=e,rU=ay((qd(),_j(Ni(iU,1),bP,193,0,[tU,eU])))}function Fg(){Fg=e,D$=ay((Pv(),_j(Ni(z$,1),bP,175,0,[_$,M$])))}function Vg(){Vg=e,jU=ay((gv(),_j(Ni(SU,1),bP,192,0,[mU,pU])))}function zg(n,t,e){return null==t?rI(n.d,null,e):kS(n.e,t,e)}function qg(n,t){return tw(n.a,t)?Tw(n,zh(t,17).e,null):null}function Qg(n){return _l(n),dH((Kf(),new Af(Df(Kh(n.a,new b)))))}function Kg(n,t){var e,r;return r=iw(n,t),e=n.a.ub(r),new $a(n,e)}function Wg(n,t,e){var r;(r=new it).b=t,r.a=e,++t.b,Ph(n.d,r)}function Jg(n,t,e){n.d&&zk(n.d.b,n),n.d=t,n.d&&Rl(n.d.b,e,n)}function Zg(n,t,e){mH(t,e,n.Y()),this.c=n,this.a=t,this.b=e-t}function Xg(n,t,e,r){this.d=n,this.b=t,this.a=e,this.c=r}function nv(n,t){Lc.call(this,jm(_l(n),_l(t))),this.b=n,this.c=t}function tv(n,t){this.a=n,xe.call(this,n),Gk(t,n.Y()),this.b=t}function ev(n,t,e,r){Zf(),Lg.call(this,n,t,e),null!=r&&(this.d=r)}function rv(n){return Pf(n.a2e3&&(TA=t,PA=n.setTimeout(ba,10));if(0==OA++)return function(n){var t,e;if(n.a){e=null;do{t=n.a,n.a=null,e=FC(t,e)}while(n.a);n.a=e}}((oc(),NA)),!0;return!1}();try{return function(n,t,e){return n.apply(t,e)}(t,e,r)}finally{!function(t){t&&function(n){var t,e;if(n.b){e=null;do{t=n.b,n.b=null,e=FC(t,e)}while(n.b);n.b=e}}((oc(),NA)),--OA,t&&-1!=PA&&(!function(t){n.clearTimeout(t)}(PA),PA=-1)}(c)}}function hv(n){return ds(n,19)?zh(n,19).V():!n.mb().G()}function lv(n){ud(),this.a=(Vd(),ds(n,63)?new Ji(n):new Zs(n))}function wv(){wv=e,WV=new yo(uR,0),JV=new yo("TOP_LEFT",1)}function dv(){dv=e,qU=new oo("DOWN",0),QU=new oo("UP",1)}function gv(){gv=e,mU=new _u("LAYER_SWEEP",0),pU=new _u(gY,1)}function vv(){vv=e,LU=new io("UPPER",0),IU=new io("LOWER",1)}function kv(n,t){return!!ds(t,21)&&jH(n.a,zh(t,21))}function pv(n,t){return!!ds(t,21)&&jH(n.a,zh(t,21))}function mv(n,t){return!!ds(t,21)&&jH(n.a,zh(t,21))}function jv(n){var t;return Uy(t=new Dd,n),ip(t,(HT(),W_),null),t}function yv(n,t){return t===n?"(this Map)":(cc(),null==t?DT:rH(t))}function Sv(n,t,e,r){return ds(e,63)?new yb(n,t,e,r):new jw(n,t,e,r)}function Ev(){Ev=e,eD=ay((Vp(),_j(Ni(ED,1),bP,149,0,[nD,XM,ZM])))}function Hv(){Hv=e,N_=ay((Yy(),_j(Ni(YM,1),bP,166,0,[I_,C_,L_])))}function Cv(){Cv=e,sU=ay((jp(),_j(Ni(wU,1),bP,173,0,[fU,oU,uU])))}function Iv(n,t){var e;Vd(),nH(e=n.ob(),0,e.length,t),function(n,t){var e,r;for(r=n.Y(),e=0;et)throw new ci(cI(n,t,"index"));return n}function _v(n,t,e){_l(n),function(n){var t,e,r;for(Iv(n.c,n.a),r=new Qe(n.c);r.a>22&VP,n<0?zP:0)}function kk(){kk=e,i_=ay((Py(),_j(Ni(s_,1),bP,59,0,[e_,t_,n_,XA,r_])))}function pk(){pk=e,HD=ay((FO(),_j(Ni(ND,1),bP,32,0,[yD,cD,rD,jD,SD])))}function mk(){mk=e,UM=ay((BS(),_j(Ni(WM,1),bP,100,0,[BM,xM,_M,MM,DM])))}function jk(){jk=e,EU=kl(yl(yl(yl(jl(new dS,(mT(),i$)),h$),_B),qB),c$)}function yk(n,t){var e;for(e=t.mb();e.G();)_G(n,zh(e.H(),55),0,0)}function Sk(n,t,e){var r;for(r=n.mb();r.G();)HG(zh(r.H(),55),t,e)}function Ek(n,t,e){var r,c;for(r=0,c=0;ct)throw new ci("Index: "+n+", Size: "+t)}function Nk(n,t){if(n<0||n>=t)throw new ci("Index: "+n+", Size: "+t)}function Ok(n,t){var e;return!!(e=sy(n,t.yb()))&&Nd(e.e,t.zb())}function Tk(n,t){var e;return e=n.d,t>0?zh(vl(e.a,t-1),9):null}function Pk(n,t,e,r,c,i){var a;return a=EH(c,r),9!=c&&_j(Ni(n,i),t,e,c,a),a}function Rk(n){var t;if(!km(n))throw new mc;return n.d=1,t=n.c,n.c=null,t}function Yk(n,t,e,r){this.f=n,this.e=t,this.d=e,this.b=r,this.c=r?r.d:null}function Ak(n){var t;return t=zh(vl(n.f,0),7),zh(Pj(t,(jT(),Oz)),7)}function _k(n){var t;return t=zh(vl(n.f,0),7),zh(Pj(t,(jT(),Oz)),7)}function Mk(){Mk=e,qq=ay((FS(),_j(Ni(Qq,1),bP,153,0,[Uq,Vq,Fq])))}function Dk(){Dk=e,Zq=ay((Qm(),_j(Ni(Xq,1),bP,172,0,[Kq,Wq,Jq])))}function xk(){xk=e,ZA=ay((SE(),_j(Ni(c_,1),bP,103,0,[zA,KA,WA,JA,qA,QA])))}function Bk(){Bk=e,H_=ay((QH(),_j(Ni(G_,1),bP,133,0,[y_,m_,S_,k_,j_,p_])))}function $k(){$k=e,JM=ay((NH(),_j(Ni(tD,1),bP,28,0,[KM,QM,qM,FM,zM,VM])))}function Uk(){Uk=e,q$=ay((LC(),_j(Ni(W$,1),bP,125,0,[F$,B$,V$,U$,$$,x$])))}function Fk(){Fk=e,VA=new Rh("de.cau.cs.kieler.labels.labelManager",null)}function Vk(n,t){var e;return(e=new vt).c=!0,e.d=t.zb(),IO(n,t.yb(),e)}function zk(n,t){var e;return-1!=(e=ap(n,t,0))&&(n.vb(e),!0)}function qk(n,t){return 9!=Gp(t)&&_j(Lp(t),t._c,t.__elementTypeId$,Gp(t),n),n}function Qk(n){return kw(n.c.a.c,n),Pf(n.b!=n.c.a.b),n.a=n.b,n.b=n.b.a,n.a}function Kk(n){Nf(!!n.c),kw(n.e,n),n.c.I(),n.c=null,n.b=lj(n),Ws(n.e,n)}function Wk(n,t,e){Lc.call(this,jm(_l(n),_l(t))),this.b=n,this.c=t,this.a=e}function Jk(n,t,e,r){this.b=new Ie(this),this.a=n,this.c=t,this.e=e,this.d=r}function Zk(n){ey.call(this,n,0),pb(this),this.b.b=this.b,this.b.a=this.b}function Xk(n,t){Do.call(this,n,t),this.a=Pk(pQ,fP,183,2,0,1),this.b=!0}function np(n,t){return Gs(t)?null==t?!!kg(n.d,null):function(n,t){return!(void 0===Ea(n.a,t))}(n.e,t):!!kg(n.d,t)}function tp(n,t){return Ii(),(n-t>0?n-t:-(n-t))<=UP||n==t||isNaN(n)&&isNaN(t)}function ep(n,t){return Ii(),(n-t>0?n-t:-(n-t))<=UP||n==t||isNaN(n)&&isNaN(t)}function rp(n){var t,e;t=!0;do{e=t?gS(n):RS(n),t=!t}while(e);dj(n,n.d)}function cp(n,t,e){var r;if(null==t)throw new qr;return r=Od(n,t),function(n,t,e){if(e){var r=e.gc();n.a[t]=r(e)}else delete n.a[t]}(n,t,e),r}function ip(n,t,e){return!n.n&&(n.n=new jr),null==e?Xl(n.n,t):yd(n.n,t,e),n}function ap(n,t,e){for(;e=n.a.c.length;)Ph(n.a,new oi);return zh(vl(n.a,t),20)}function op(n,t,e,r,c){var i;return rm(e,i=$w(n,t)),i.g=c?8:0,i.f=r,i.e=c,i}function fp(n,t){var e;this.f=n,this.b=t,e=zh(td(n.b,t),126),this.c=e?e.b:null}function sp(n,t){var e,r;for(e=0,r=t.length;e0&&(r+=function(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S;for(c=0,k=0,Es(),v=new jr,r=new jr,i=new jr,S=new jr,function(n,t,e){var r,c,i,a,u,o,f,s,b,h,l;for(r=0,c=0,s=0;s0&&yd(t,i,iS(r+=i.b.c.length+i.e.c.length));else{for(u=RC(o,(FO(),rD)).mb();u.G();)r+=(i=zh(u.H(),7)).b.c.length+i.e.c.length;for(a=RC(o,rD).mb();a.G();)(i=zh(a.H(),7)).b.c.length+i.e.c.length>0&&yd(t,i,iS(r))}for(f=n.length-1;f>=0;f--)if(qs(zh(Pj(o=n[f],(HT(),lM)),28)))for(h=RC(o,(FO(),SD)).mb();h.G();)(b=zh(h.H(),7)).b.c.length+b.e.c.length>0&&yd(e,b,iS(c+=b.b.c.length+b.e.c.length));else{for(l=RC(o,(FO(),SD)).mb();l.G();)c+=(b=zh(l.H(),7)).b.c.length+b.e.c.length;for(h=RC(o,SD).mb();h.G();)(b=zh(h.H(),7)).b.c.length+b.e.c.length>0&&yd(e,b,iS(c))}}(n,i,S),t=null,g=0,y=0,p=!0,o=!0,h=0,w=n.length;hf.k&&(++t,l=!0),w&&f&&w.k>f.k&&(++t,d=!0),h&&u&&h.ku.k&&(++t,o=!0),h&&u&&h.kf.k&&(++t,s=!0),o&&s&&u==f&&--t)}}return t}(t)),r}function lp(n,t){var e;return(e=zh(Xl(n.c,t),176))?(Il(e),e.e):null}function wp(n){return hy(n,UT)>0?UT:hy(n,KT)<0?KT:nd(n)}function dp(n){return qf(),Yp(n,"size"),nd(function(n,t){return hy(n,t)<0}(Oy(n,8),NP)?Oy(n,8):NP),new Xi}function gp(n){fh.call(this,(cc(),null==n?DT:rH(n)),ds(n,46)?zh(n,46):null)}function vp(n){Sf(this),xl(n>=0,"Initial capacity must not be negative")}function kp(){kp=e,Ox=Sl(yl(yl(new dS,(mT(),a$)),QB),t$),Tx=jl(new dS,ZB)}function pp(){pp=e,gB=new B,wB=new $,dB=new U,lB=new F,vB=new V,kB=new z}function mp(){mp=e,mQ=new _o("All",0),jQ=new rs,yQ=new js,SQ=new cs}function jp(){jp=e,fU=new Au(mY,0),oU=new Au("LONGEST_PATH",1),uU=new Au(gY,2)}function yp(){yp=e,MA=Lh(VP,VP,524287),DA=Lh(0,0,524288),vk(1),vk(2),xA=vk(0)}function Sp(){Sp=e,R$=ay((mL(),_j(Ni(Y$,1),bP,109,0,[T$,I$,N$,L$,G$,C$,O$,P$])))}function Ep(){Ep=e,$U=ay((cH(),_j(Ni(FU,1),bP,141,0,[BU,MU,DU,_U,xU])))}function Hp(){Hp=e,gV=ay((TH(),_j(Ni(SV,1),bP,115,0,[bV,sV,lV,hV,wV])))}function Cp(){Cp=e,aq=ay((iH(),_j(Ni(sq,1),bP,85,0,[cq,nq,tq,eq,rq])))}function Ip(n){lC(),function(n,t,e){n.a=1502^t,n.b=e^FY}(this,nd(ng(Xm(function(n,t){var e,r,c,i,a;t&=63,e=n.h,(r=0!=(524288&e))&&(e|=-1048576),t<22?(a=e>>t,i=n.m>>t|e<<22-t,c=n.l>>t|n.m<<22-t):t<44?(a=r?zP:0,i=e>>t-22,c=n.m>>t-22|e<<44-t):(a=r?zP:0,i=r?VP:0,c=e>>t-44);return Lh(c&VP,i&VP,a&zP)}(Qs(n)?oj(n):n,24)),zY)),nd(ng(n,zY)))}function Lp(n){return Gs(n)?XY:Ls(n)?rQ:kb(n)?eQ:Zl(n)||Gl(n)?n.$c:n.$c||GA}function Gp(n){return null==n.__elementTypeCategory$?9:n.__elementTypeCategory$}function Np(n){var t,e;for(ro(),e=nR,t=0;te&&(e=n[t]);return e}function Op(n,t){var e;return(e=zh(td(n.b,t),106))||(e=t.rc(),yd(n.b,t,e)),e}function Tp(n,t){var e;return(e=zh(td(n.c,t),176))?(Us(n,e),e.e):null}function Pp(n,t,e,r){var c;(c=zh(Tp(n.e,t),116)).b+=e,c.a+=r,FE(n.e,t,c),n.d=!0}function Rp(n){var t;for(++n.a,t=n.c.a.length;n.a"+n.d.f+"("+n.d+")":"e_"+wb(n)}function Fp(){Fp=e,AM=ay((PI(),_j(Ni($M,1),bP,41,0,[IM,CM,GM,RM,PM,TM,NM,OM,LM])))}function Vp(){Vp=e,nD=new du("OUTSIDE",0),XM=new du("INSIDE",1),ZM=new du("FIXED",2)}function zp(){zp=e,qV=new jo(sR,0),QV=new jo("TOP",1),zV=new jo("BOTTOM",2)}function qp(){qp=e,ZU=new so("CLASSIC",0),XU=new so("IMPROVE_STRAIGHTNESS",1)}function Qp(){this.e=new ui,this.a=new Ud,this.d=new ui,this.b=new Rt,this.c=new Rt}function Kp(n,t,e){this.b=t,this.a=n,this.c=e,Ph(this.a.e,this),Ph(this.b.b,this)}function Wp(n,t){n.d=xi(n.d,t.d),n.c=_i(n.c,t.c),n.a=_i(n.a,t.a),n.b=xi(n.b,t.b)}function Jp(n,t){var e;return e=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--n.b,e}function Zp(n,t){var e;for(Kf(),_l(n),_l(t),e=!1;t.G();)e|=n.ib(t.H());return e}function Xp(n){var t;return kw(n.e,n),Pf(n.b),n.c=n.a,t=zh(n.a.H(),21),n.b=lj(n),t}function nm(n){return KP=0x8000000000000000)return yp(),MA;c=!1,n<0&&(c=!0,n=-n);r=0,n>=QP&&(n-=(r=Eg(n/QP))*QP);e=0,n>=qP&&(n-=(e=Eg(n/qP))*qP);return t=Eg(n),i=Lh(t,e,r),c&&(a=1+~i.l&VP,u=~i.m+(0==a?1:0)&VP,o=~i.h+(0==a&&0==u?1:0)&zP,i.l=a,i.m=u,i.h=o),i}(n))}function tm(n){if(n){if(n.V())throw new mc;return n.sb(n.Y()-1)}return function(n){var t;for(Kf();;)if(t=n.H(),!n.G())return t}(null.mb())}function em(n,t){var e;return t<(e=n.d).a.c.length-1?zh(vl(e.a,t+1),9):null}function rm(n,t){if(n){t.k=n;var e=function(n){if(n.Tc())return null;var t=n.k;return LT[t]}(t);e?e.$c=t:LT[n]=[t]}}function cm(n,t){var e,r;r=!1;do{r|=e=n.i?Nj(n,t):Gj(n,t)}while(e);return r}function im(n,t,e){var r,c;r=t;do{c=ri(n.n[r.k])+e,n.n[r.k]=c,r=n.a[r.k]}while(r!=t)}function am(n,t){return Ng(n,"set1"),Ng(t,"set2"),eo(),new gh(n,new Ga(t),t)}function um(n){var t=/function(?:\s+([\w$]+))?\s*\(/.exec(n);return t&&t[1]||xT}function om(){om=e,iV=ay((qH(),_j(Ni(fV,1),bP,123,0,[cV,rV,eV,nV,XF,tV])))}function fm(){fm=e,EV=ay((zH(),_j(Ni(YV,1),bP,124,0,[mV,pV,yV,kV,jV,vV])))}function sm(){sm=e,aQ=_j(Ni(OQ,1),BP,26,12,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function bm(){bm=e,fq=new Eo(fR,0),uq=new Eo("INPUT",1),oq=new Eo("OUTPUT",2)}function hm(n){this.c=n,this.b=new ry(new De(n.b).a),this.a=null,this.d=(Kf(),Kf(),vA)}function lm(n){this.e=n,this.d=new Ia(vj(aw(this.e).Y())),this.c=this.e.a,this.b=this.e.c}function wm(n,t,e){this.c=n,Fv.call(this),this.b=t,this.j=new Ed(t.d,t.e,t.c,t.b),this.a=e}function dm(n,t){n.j>0&&n.c0&&0!=n.e&&dm(n.g,t/n.j*n.g.d))}function gm(n){return n.b.d.f.g==(KH(),uB)?zh(Pj(n.b.d.f,(jT(),Oz)),7):n.b.d}function vm(n){return n.b.c.f.g==(KH(),uB)?zh(Pj(n.b.c.f,(jT(),Oz)),7):n.b.c}function km(n){switch(Fo(3!=n.d),n.d){case 2:return!1;case 0:return!0}return function(n){return n.d=3,n.c=function(n){for(var t;n.b.G();)if(t=n.b.H(),n.a.D(t))return t;return n.d=2,null}(n),2!=n.d&&(n.d=0,!0)}(n)}function pm(n){switch(n.e){case 2:return FO(),SD;case 4:return FO(),rD;default:return n}}function mm(n){switch(n.e){case 1:return FO(),jD;case 3:return FO(),cD;default:return n}}function jm(n,t){var e;return Vd(),e=new Vu(1),Gs(n)?zg(e,n,t):rI(e.d,n,t),new nr(e)}function ym(n,t){return n.g?(n.g=ym(n.g,t),--n.a,n.j=Ty(n.j,t.c),oC(n)):n.e}function Sm(n,t){return n.e?(n.e=Sm(n.e,t),--n.a,n.j=Ty(n.j,t.c),oC(n)):n.g}function Em(n,t){var e,r,c;for($l(t),e=!1,c=t.mb();c.G();)r=c.H(),e|=n.ib(r);return e}function Hm(n){var t,e;for(e=new _r,t=n.b.mb();t.G();)Th(e,zh(t.H(),92).a);return e}function Cm(n){var t,e,r;for(t=0,r=n.mb();r.G();)t+=($l(e=Tb(r.H())),e);return t/n.Y()}function Im(n,t){var e;return(e=zh(td(n.c,t),200))||((e=new Wr).c=t,yd(n.c,e.c,e)),e}function Lm(n,t){var e;return $l(t),e=t.e,!n.b[e]&&(Fw(n.b,e,t),++n.c,!0)}function Gm(n,t){var e,r;return e=1-t,r=n.a[e],n.a[e]=r.a[t],r.a[t]=n,n.b=!0,r.b=!1,r}function Nm(n,t){var e;return!!ds(t,10)&&(e=zh(t,10),n.a==e.a&&n.b==e.b)}function Om(n,t,e){return n.g=new Am(t,e),Ib(n,n.g,n.i),n.d=Di(2,n.d),++n.a,n.j=Ny(n.j,e),n}function Tm(n,t,e){return n.e=new Am(t,e),Ib(n.f,n.e,n),n.d=Di(2,n.d),++n.a,n.j=Ny(n.j,e),n}function Pm(n,t){var e=n.a,r=0;for(var c in e)e.hasOwnProperty(c)&&(t[r++]=c);return t}function Rm(n,t){var e,r;for($l(t),r=t.bb().mb();r.G();)e=zh(r.H(),21),n.db(e.yb(),e.zb())}function Ym(n,t,e){this.g=n,this.d=t,this.e=e,this.a=new Rt,function(n){var t,e,r,c,i;for(i=new zb(n.d,n.e),c=YL(i);c.G();)for(r=zh(c.H(),7),e=new Qe(n.e==(FO(),SD)?r.b:r.e);e.a0),this.b=n,this.c=t,this.j=t,this.a=1,this.d=1,this.e=null,this.g=null}function _m(n){return 1.4901161193847656e-8*zI(n,26)+11102230246251565e-32*zI(n,27)}function Mm(n){return ds(n,87)?ov(zh(n,87)):ds(n,88)?zh(n,88).a:ds(n,63)?new Tc(n):new Ka(n)}function Dm(n){var t;return t=zh(Pj(n,(jT(),kz)),32),n.g==(KH(),uB)&&(t==(FO(),SD)||t==rD)}function xm(n,t){return!!function(n,t){var e,r,c,i;for(e=zh(Pj(t,(jT(),gz)),18),i=zh(uC(eB,e),18),c=i.mb();c.G();)if(r=zh(c.H(),18),!zh(uC(n.a,r),20).V())return!1;return!0}(n,t)&&(LI(n.a,zh(Pj(t,(jT(),gz)),18),t),!0)}function Bm(n,t){var e;if(t)for(e=0;e<6;e++)zh(vl(n.a,e),18).jb(zh(vl(t.a,e),19));return n}function $m(n,t){var e;return n.b?null:(e=function(n,t){return new Lb(n>0?n-1:n,t)}(n.e,n.f),Th(n.a,e),e.g=n,n.d=t,e)}function Um(n,t){var e,r;for(r=BE(n,0);r.b!=r.d.c;)(e=zh(Yv(r),10)).a+=t.a,e.b+=t.b;return n}function Fm(n,t){var e,r;for(e=0;e0?n.g?Jm(n.g,t,e):0:n.c}function Zm(n,t){var e,r;return!!n.c&&(r=n.g,(e=n.a.$b(t,r))>0|0==e&n.f==(Qf(),hA))}function Xm(n){var t;return 0==(t=n.h)?n.l+n.m*qP:t==zP?n.l+n.m*qP-QP:n}function nj(n){var t,e,r,c;for(t=new ui,r=0,c=n.length;r=c;i--)n[i+1]=n[i];n[c]=r}function aj(n,t,e,r){var c,i;for(c=function(n,t,e,r){var c,i,a,u;i=t,c=e-1;for(;i<=c;)if((u=n[a=i+c>>>1])r))return a;c=a-1}return-(i+1)}(n,t,e,r),c<0&&(c=-c-1),i=e-1;i>=c;i--)n[i+1]=n[i];n[c]=r}function uj(n,t){var e,r;for($l(t),r=t.mb();r.G();)if(e=r.H(),!n.kb(e))return!1;return!0}function oj(n){var t,e,r;return e=0,(r=n)<0&&(r+=QP,e=zP),t=Eg(r/qP),Lh(Eg(r-t*qP),t,e)}function fj(n,t){return n.c.c=Pk(WY,fP,1,0,4,1),OC(n,n.e,t),OC(n,n.a,t),Vd(),Iv(n.c,null),function(n){var t,e,r;for(t=0,r=new Qe(n.c);r.a0;r--)e|=eE(n,t,r-1,r);return e}function Nj(n,t){var e,r,c;for(e=!1,r=n.d[t].length,c=0;c1&&(Iv(t,n.b),function(n,t){var e,r,c,i,a,u,o,f,s;for(c=new Rt,o=new Qe(t);o.at?1:n==t?0:isNaN(n)?isNaN(t)?0:1:-1}function Bj(n){switch(n.Y()){case 0:return dA;case 1:return new zl(n.mb().H());default:return new lv(n)}}function $j(){var n,t;$j=e,t=!(Error.stackTraceLimit||"stack"in new Error),n=new kt,OT=t?new i:n}function Uj(){Uj=e,kx=new Rh("intCoordinates",(ql(),ql(),nQ)),px=new wl("jsonObject"),mx=new Za(0,0)}function Fj(){Fj=e,SB=new Nu("MIRROR_X",0),EB=new Nu("TRANSPOSE",1),yB=new Nu("MIRROR_AND_TRANSPOSE",2)}function Vj(){Vj=e,uV=new vo(sR,0),aV=new vo("INCOMING_ONLY",1),oV=new vo("OUTGOING_ONLY",2)}function zj(){return JO(),_j(Ni(FF,1),bP,60,0,[yF,pF,kF,HF,EF,UF,$F,SF,mF,jF,CF,xF,BF])}function qj(){var n,t,r,c;for(qj=e,A$=new AS(FF),r=0,c=(t=zj()).length;r0)return qh(t-1,n.a.c.length),Hk(n.a,t-1);throw new pc}function ty(n){n.b.c.length-n.e.c.length<0?(Ub(n,(FO(),rD)),n.a.a=n.j.a):(Ub(n,(FO(),SD)),n.a.a=0)}function ey(n,t){xl(n>=0,"Negative initial capacity"),xl(t>=0,"Non-positive load factor"),Ik(this)}function ry(n){var t;this.e=n,this.d=new uk(this.e.e),this.a=this.d,this.b=lj(this),t=n[DY],this[DY]=t}function cy(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function iy(n){var t,e,r,c;for(c=1,e=0,r=n.length;e=48&&n<58?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function Gy(n){switch(hh(),n.Y()){case 0:return od(),EA;case 1:return new oa(n.mb().H());default:return new Ku(n)}}function Ny(n,t){var e;return Qs(n)&&Qs(t)&&KP<(e=n+t)&&e>22),c=n.h+t.h+(r>>22),Lh(e&VP,r&VP,c&zP)}(Qs(n)?oj(n):n,Qs(t)?oj(t):t))}function Oy(n,t){var e;return Qs(n)&&Qs(t)&&KP<(e=n*t)&&e>13|(15&n.m)<<9,c=n.m>>4&8191,i=n.m>>17|(255&n.h)<<5,a=(1048320&n.h)>>8,u=8191&t.l,o=t.l>>13|(15&t.m)<<9,f=t.m>>4&8191,s=t.m>>17|(255&t.h)<<5,b=(1048320&t.h)>>8,d=e*u,g=r*u,v=c*u,k=i*u,p=a*u,0!=o&&(g+=e*o,v+=r*o,k+=c*o,p+=i*o);0!=f&&(v+=e*f,k+=r*f,p+=c*f);0!=s&&(k+=e*s,p+=r*s);return 0!=b&&(p+=e*b),l=(d>>22)+(g>>9)+((262143&v)<<4)+((31&k)<<17),w=(v>>18)+(k>>5)+((4095&p)<<8),w+=(l+=(h=(d&VP)+((511&g)<<13))>>22)>>22,Lh(h&=VP,l&=VP,w&=zP)}(Qs(n)?oj(n):n,Qs(t)?oj(t):t))}function Ty(n,t){var e;return Qs(n)&&Qs(t)&&KP<(e=n-t)&&e>22),c=n.h-t.h+(r>>22),Lh(e&VP,r&VP,c&zP)}(Qs(n)?oj(n):n,Qs(t)?oj(t):t))}function Py(){Py=e,e_=new uu(fR,0),t_=new uu(aR,1),n_=new uu(iR,2),XA=new uu("DOWN",3),r_=new uu("UP",4)}function Ry(){Ry=e,d_=new fu(fR,0),l_=new fu("POLYLINE",1),h_=new fu("ORTHOGONAL",2),w_=new fu("SPLINES",3)}function Yy(){Yy=e,I_=new bu("INHERIT",0),C_=new bu("INCLUDE_CHILDREN",1),L_=new bu("SEPARATE_CHILDREN",2)}function Ay(){Ay=e,bU=jl(pl(new dS,(mT(),YB)),n$),hU=kl(jl(ml(new dS,GB),IB),LB),lU=kl(yl(new dS,NB),LB)}function _y(){_y=e,dU=jl(pl(new dS,(mT(),YB)),n$),gU=kl(jl(ml(new dS,GB),IB),LB),vU=kl(yl(new dS,NB),LB)}function My(n){this.a=new Rf,this.d=new Rf,this.b=new Rf,this.c=new Rf,this.g=new Rf,this.i=new Rf,this.f=n}function Dy(n,t,e,r,c,i){this.e=new Rt,this.f=(bm(),fq),Ph(this.e,n),this.d=t,this.a=e,this.b=r,this.f=c,this.c=i}function xy(n,t,e,r,c){var i,a;for(a=n.mb();a.G();)(i=zh(a.H(),33)).i.a=t.a,i.i.b=c?t.b:t.b+r.b-i.j.b,t.a+=i.j.a+e}function By(n,t){var e,r;for(xh(),r=Rw(JH(n));bS(r);)if((e=zh(Og(r),12)).d.f==t||e.c.f==t)return e;return null}function $y(n,t,e){var r,c,i;for(r=0,i=BE(n,0);i.b!=i.d.c&&!((c=ri(Tb(Yv(i))))>e);)c>=t&&++r;return r}function Uy(n,t){var e;return t?((e=t.n?t.n:(Vd(),Vd(),sQ)).V()||(n.n?Rm(n.n,e):n.n=new sf(e)),n):n}function Fy(n,t,e){try{!function(n,t,e){if(_l(t),e.G())for(tf(t,n.C(e.H()));e.G();)tf(t,n.c),tf(t,n.C(e.H()))}(n,t,e)}catch(n){throw ds(n=ly(n),181)?new gp(n):zy(n)}return t}function Vy(n,t,e){try{!function(n,t,e){var r,c;if(_l(t),e.G())for(c=zh(e.H(),21),tf(t,Is(n.a,c.yb())),tf(t,n.b),tf(t,Is(n.a,c.zb()));e.G();)tf(t,n.a.c),r=zh(e.H(),21),tf(t,Is(n.a,r.yb())),tf(t,n.b),tf(t,Is(n.a,r.zb()))}(n,t,e)}catch(n){throw ds(n=ly(n),181)?new gp(n):zy(n)}return t}function zy(n){var t;return ds(n,164)&&Ko((t=zh(n,164)).b)!==Ko((rc(),NT))?Ko(t.b)===Ko(NT)?null:t.b:n}function qy(n,t){var e;for(e=zh(Pj(Xw(n),(jT(),Az)),9);e;){if(e==t)return!0;e=zh(Pj(Xw(e),Az),9)}return!1}function Qy(n){switch(zh(Pj(n,(jT(),Sz)),140).e){case 1:ip(n,Sz,(zp(),zV));break;case 2:ip(n,Sz,(zp(),QV))}}function Ky(n){switch(hh(),n.c){case 0:return od(),EA;case 1:return new oa(KC(new Fu(n)));default:return new Gc(n)}}function Wy(n){var t,e;for(ud(),t=0,e=n.length;t-129&&n<128?(t=n+128,!(e=(Ql(),iQ)[t])&&(e=iQ[t]=new Ne(n)),e):new Ne(n)}function aS(n){var t,e;for(t=xH(n.b,n.d),e=UT;e>t;){if(dj(n,n.d),0==t){e=0;break}gS(n),RS(n),e=t,t=xH(n.b,n.d)}n.c=e}function uS(){var n,t,e;lC(),e=kQ+++(Date.now?Date.now():(new Date).getTime()),n=Eg(Math.floor(e*yY))&zY,t=Eg(e-n*VY),this.a=1502^n,this.b=t^FY}function oS(n){return Gs(n)?EE(n):Ls(n)?Eg(($l(n),n)):kb(n)?ei(($l(n),n))?1231:1237:Zl(n)?n.v():(Gl(n),wb(n))}function fS(n,t,e,r){var c,i,a;for(a=0,i=YL(new zb(t,r));i.G();)c=zh(i.H(),7),yd(n.i,c,iS(a++));yd(e,t,iS(a))}function sS(n){var t;return(t=zh(Pj(n,(HT(),x_)),59))==(Py(),e_)?zh(Pj(n,(jT(),nz)),15).a>=1?t_:XA:t}function bS(n){if(_l(n.b),n.b.G())return!0;for(;n.a.G();)if(_l(n.b=n.Wb(n.a.H())),n.b.G())return!0;return!1}function hS(n){return n.d==n.c.d&&n.i==n.g.d||(n.a.c=Pk(WY,fP,1,0,4,1),wj(n.a,n.c),wj(n.a,n.g),n.d=n.c.d,n.i=n.g.d),n.a}function lS(n){var t;if(n.b){if(lS(n.b),n.b.d!=n.c)throw new kc}else n.d.V()&&(t=zh(td(n.f.b,n.e),19))&&(n.d=t)}function wS(n,t,e,r,c){var i,a,u,o;for(Aj(t,o=gk(n),r,c,e),i=0,u=new Qe(o);u.at){cv(e);break}}Lw(e,t)}function kS(n,t,e){var r;return r=Ea(n.a,t),function(n,t,e){n.set(t,e)}(n.a,t,void 0===e?null:e),void 0===r?(++n.c,rh(n.b)):++n.d,r}function pS(n,t,e){return(t-n<=0?0-(t-n):t-n)bY?n-e>bY:e-n>bY)}function mS(n){switch(n.e){case 0:return sV;case 1:return bV;case 2:return hV;case 3:return lV;default:return wV}}function jS(n,t){switch(t.e){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function yS(n){switch(FO(),n.e){case 4:return cD;case 1:return rD;case 3:return jD;case 2:return SD;default:return yD}}function SS(n,t){if(t==n.c)return n.d;if(t==n.d)return n.c;throw new ii("Node "+t+" not part of edge "+n)}function ES(n,t){var e;return Ks(n.a,t)?zh(Ks(n.a,t)?n.b[t.e]:null,62):(e=new Mr,Lm(n.a,t),Tw(n,t.e,e),e)}function HS(n,t){var e,r,c;for(c=n.g.tb(),e=0;c.G();){if((r=ri(Tb(c.H()))-t)>RY)return e;r>YY&&++e}return e}function CS(n){var t,e,r,c;return Lm(e=new Zh(t=zh(ea((c=(r=n.$c).f)==oA?r:c),11),zh(Ow(t,t.length),11),0),n),e}function IS(n,t){var e,r;for(r=new Qe(t);r.a %s",_j(Ni(WY,1),fP,1,4,[iS(t),iS(e)])),mH(t,e=e<(r=n.length)?e:r,r),e-t}function PS(n,t){var e,r,c;for(e=n,c=0;;){if(e==t)return c;if(!(r=zh(Pj(e,(jT(),Az)),9)))throw new Ur;e=Xw(r),++c}}function RS(n){var t,e,r;for(r=!1,e=n.d.length-1;e>=0;e--)n.j=(t=new GC(n.e,n.d,e,1),new ZH(e,n.d,t)),r|=cm(n,e);return r}function YS(n){this.f=(Es(),new jr),this.n=new jr,this.k=new jr,this.g=new Jc,this.i=new jE((ac(),yA)),this.j=n,function(n,t){var e,r,c,i,a;for(e=0,a=0,c=0,i=t.length;c0?n-t:-(n-t))<=UP||n==t||isNaN(n)&&isNaN(t)?0:nt?1:mf(isNaN(n),isNaN(t)))>0}function zS(n,t){return Ii(),Ii(),((n-t>0?n-t:-(n-t))<=UP||n==t||isNaN(n)&&isNaN(t)?0:nt?1:mf(isNaN(n),isNaN(t)))<0}function qS(n){var t,e;for(n.d||function(n){var t,e,r,c,i,a;if(c=n.g.tb(),r=n.b.tb(),n.e)for(e=0;eRY;){for(i=t,a=0;(t-i<=0?0-(t-i):t-i)c}(n.j,e,r)&&(zc(n.j,n.d[t][e],n.d[t][r]),a=(i=n.d[t])[r],i[r]=i[e],i[e]=a,c=!0),c}function rE(n,t,e){var r,c,i,a,u;c=(u=Xw(n)).a,r=zh(Pj(u,(jT(),az)),15).a,i=u.d,a=n.i,t&&(a.a=a.a-c.b-r-i.a),e&&(a.b=a.b-c.d-r-i.b)}function cE(n,t){var e,r,c;for(r=Rw(JH(n));bS(r);)return e=zh(Og(r),12),new Mt(_l((c=zh(t.B(e),9)).i.b+c.j.b/2));return ic(),ic(),nA}function iE(n){var t,e,r,c;for(e=DN(n),t=oY,c=0,r=0;t>.5&&c<50;)t=Ha(aC(e,r=NL(e),!0).b),++c;return aC(n,r,!1)}function aE(n){var t,e,r,c;for(e=DN(n),t=oY,c=0,r=0;t>.5&&c<50;)t=Ha(aC(e,r=GL(e),!0).a),++c;return aC(n,r,!1)}function uE(n){var t,e,r;for(this.a=new Rf,this.e=new Jc,this.f=0,e=0,r=n.length;e0),t.a.sb(t.c=--t.b))}function dE(n,t,e){ZS(e,"Compound graph preprocessor",1),n.a=new qu,LN(n,t,null),function(n,t){var e,r,c,i,a,u,o;for(a=aw(n.a).mb();a.G();){if((i=zh(a.H(),12)).b.c.length>0)for(Iv(r=new dh(zh(uC(n.a,i),18)),new ie(t)),c=new tv(i.b,0);c.b=n.b>>1)for(r=n.c,e=n.b;e>t;--e)r=r.b;else for(r=n.a.a,e=0;e0&&(c.b+=t),c}function UE(n,t){var e,r,c;for(c=new ui,r=n.mb();r.G();)HG(e=zh(r.H(),55),0,c.b),c.b+=e.e.b+t,c.a=_i(c.a,e.e.a);return c.a>0&&(c.a+=t),c}function FE(n,t,e){var r,c,i;return(c=zh(td(n.c,t),176))?(i=ph(c,e),Us(n,c),i):(r=new fl(n,t,e),yd(n.c,t,r),Pg(r),null)}function VE(n,t){return!!function(n){switch(n.e){case 0:return OF;case 1:return LF;case 2:return IF;case 3:return RF;case 4:return PF;case 5:return DF;case 6:return MF;case 7:return TF;case 8:return GF;case 9:return NF;case 11:return AF;case 10:return YF;default:return _F}}(n.b).kb(t.c)&&(function(n){return n==SF||n==mF}(n.b)?!(Wh(t.d,n.c,n.a)&&Wh(t.a,n.c,n.a)):Wh(t.d,n.c,n.a)&&Wh(t.a,n.c,n.a))}function zE(n){switch(n.e){case 8:return FO(),cD;case 9:return FO(),jD;case 10:return FO(),rD;case 11:return FO(),SD;default:return FO(),yD}}function qE(n,t){return Gs(n)?!!RT[t]:n._c?!!n._c[t]:Ls(n)?!!PT[t]:!!kb(n)&&!!TT[t]}function QE(){Uj(),this.i=(Es(),new jr),this.a=new jr,this.k=new jr,this.j=new jr,this.b=new jr,this.n=new jr,this.f=new jr,this.e=new jr}function KE(n,t){var e,r;t.a.R(n)||(r=zh(Pj(n,(jT(),kz)),32),e=zh(vl(n.f,0),7),r==(FO(),cD)?Ub(e,jD):r==jD&&Ub(e,cD),t.a.db(n,t))}function WE(n){return Di(1,zh(Pj(n,(jT(),Bz)),24).a)*(n.c.f.g==(KH(),sB)&&n.d.f.g==sB?1:n.c.f.g==sB||n.d.f.g==sB?2:8)}function JE(n){var t,e,r,c;for(c=zh(Pj(n,(jT(),Oz)),7),e=0,r=(t=zh(tH(n.b,Pk(cB,JR,12,n.b.c.length,0,1)),47)).length;er&&Fw(t,r,null),t}function eH(n,t){var e,r;for(r=n.a.length,t.lengthr&&Fw(t,r,null),t}function rH(n){return Gs(n)?n:Ls(n)?Ca(($l(n),n)):kb(n)?ms(ei(($l(n),n))):Zl(n)?n.w():Gl(n)?mg(n):n.toString?n.toString():"[JavaScriptObject]"}function cH(){cH=e,BU=new ao("SIMPLE",0),MU=new ao(gY,1),DU=new ao("LINEAR_SEGMENTS",2),_U=new ao("BRANDES_KOEPF",3),xU=new ao(mY,4)}function iH(){iH=e,cq=new So(sR,0),nq=new So("FIRST",1),tq=new So("FIRST_SEPARATE",2),eq=new So("LAST",3),rq=new So("LAST_SEPARATE",4)}function aH(){aH=e,wF=new ot,hF=jl(new dS,(mT(),zB)),lF=kl(jl(new dS,f$),o$),sF=kl(yl(jl(ml(new dS,KB),JB),XB),WB),bF=kl(yl(new dS,XB),AB)}function uH(n){var t,e,r;for(e=new $e(new Be(n.d.a).a.bb().mb());e.a.G();)r=zh(e.a.H(),21),Ph((t=zh(r.yb(),12)).c.e,t),Ph(t.d.b,t)}function oH(n,t){var e,r;if(Of(t>0),(t&-t)==t)return Eg(t*zI(n,31)*4.656612873077393e-10);do{r=(e=zI(n,31))%t}while(e-r+(t-1)<0);return Eg(r)}function fH(n,t){if(n.c.f==t)return n.d.f;if(n.d.f==t)return n.c.f;throw new ii("Node "+t+" is neither source nor target of edge "+n)}function sH(n,t,e){return Of(n>=0&&n<=1114111),n>=VT?(t[e++]=55296+(n-VT>>10&1023)&zT,t[e]=56320+(n-VT&1023)&zT,2):(t[e]=n&zT,1)}function bH(n){var t,e;if(!n.a)for(n.a=Ts(zh(n.e,9).c.c.length),e=new Qe(zh(n.e,9).c);e.ac&&Fw(t,c,null),t}function kH(n,t,e){if(e&&(t<0||t>e.a.c.length))throw new ii("index must be >= 0 and <= layer node count");n.d&&zk(n.d.a,n),n.d=e,e&&Rl(e.a,t,n)}function pH(n,t,e,r,c,i,a,u){var o,f;r&&((o=r.a[0])&&pH(n,t,e,o,c,i,a,u),function(n,t,e,r,c,i,a){var u,o;if(t.Xc()&&(o=n.a.$b(e,r),o<0||!c&&0==o))return!1;if(t.Yc()&&(u=n.a.$b(e,i),u>0||!a&&0==u))return!1;return!0}(n,e,r.d,c,i,a,u)&&t.ib(r),(f=r.a[1])&&pH(n,t,e,f,c,i,a,u))}function mH(n,t,e){if(n<0)throw new ci(nP+n+" < 0");if(t>e)throw new ci("toIndex: "+t+" > size "+e);if(n>t)throw new ii(nP+n+" > toIndex: "+t)}function jH(n,t){var e,r,c;return e=t.yb(),c=t.zb(),r=n.cb(e),!!(Ko(c)===Ko(r)||null!=c&&vy(c,r))&&!(null==r&&!n.R(e))}function yH(n,t,e){var r;(r=t.c.f).g==(KH(),fB)?(ip(n,(jT(),Iz),zh(Pj(r,Iz),7)),ip(n,Lz,zh(Pj(r,Lz),7))):(ip(n,(jT(),Iz),t.c),ip(n,Lz,e.d))}function SH(n,t,e){var r,c,i,a;for(function(n){var t,e;for(null==n.g&&(n.g=El(n)),t=0,e=n.g.length;tr&&n.charCodeAt(t-1)<=32;)--t;return r>0||t>19)!=(u=t.h>>19)?u-a:(r=n.h)!=(i=t.h)?r-i:(e=n.m)!=(c=t.m)?e-c:n.l-t.l}function RH(n){var t,e,r;for(e=new $e(new Be(n.p.a).a.bb().mb());e.a.G();)if(r=zh(e.a.H(),21),(t=zh(r.yb(),89)).e&&n.b[t.b]<0)return t;return null}function YH(n,t){var e,r,c,i,a;r=xi(n.d,t.d),i=xi(n.e,t.e),(c=_i(n.d+n.c,t.d+t.c))=t.length)throw new ci("Greedy SwitchDecider: Free layer layer not in graph.");this.b=t[n],this.c=new Jb(this.b),this.d=new tj(this.b)}function XH(n,t){var e;if(this.f=n,this.b=this.f.c,Av(t,e=n.d),t>=(e/2|0))for(this.e=n.e,this.d=e;t++0;)fv(this);this.a=null}function nC(n){var t,e,r;for(e=new Qe(n.a.b);e.a0&&(n.g=kC(n.g)),vC(n);case 2:return jf(n.e)<0&&(n.e=vC(n.e)),kC(n);default:return n.d=1+Di(Ac(n.e),Ac(n.g)),n}}function fC(n,t){this.f=(Es(),new jr),this.b=new jr,this.j=new jr,this.a=n,this.c=t,this.c>0&&kI(this,this.c-1,(FO(),rD)),this.c0&&CI(n,t,e),0):(Uo(0==e),0)}function hC(n,t){var e,r,c,i,a;for(c=zh(Pj(t,(jT(),zz)),15).a*zh(Pj(t,(yT(),jq)),15).a,a=n[0].i.a+n[0].j.a,i=1;i=0;t--)vQ[t]=c,c*=.5;for(r=1,n=24;n>=0;n--)gQ[n]=r,r*=.5}function wC(n){for(;0!=n.g.c&&0!=n.d.c;)Vs(n.g).c>Vs(n.d).c?(n.i+=n.g.c,nE(n.d)):Vs(n.d).c>Vs(n.g).c?(n.e+=n.d.c,nE(n.g)):(n.i+=al(n.g),n.e+=al(n.d),nE(n.g),nE(n.d))}function dC(n){var t,e,r,c;for(c=new zi("["),t=!1,r=n.mb();r.G();)e=r.H(),t?c.a+=", ":t=!0,rf(c,e===n?"(this Collection)":(cc(),null==e?DT:rH(e)));return c.a+="]",c.a}function gC(n){var t,e,r,c;for(c=new zi("{"),t=!1,r=n.bb().mb();r.G();)e=zh(r.H(),21),t?c.a+=", ":t=!0,rf(c,yv(n,e.yb())),c.a+="=",rf(c,yv(n,e.zb()));return c.a+="}",c.a}function vC(n){var t;return Fo(!!n.g),t=n.g,n.g=t.e,t.e=n,t.j=n.j,t.a=n.a,n.a=1+Yc(n.e)+Yc(n.g),n.j=Ny(Ny(n.c,_c(n.e)),_c(n.g)),n.d=1+Di(Ac(n.e),Ac(n.g)),t.d=1+Di(Ac(t.e),Ac(t.g)),t}function kC(n){var t;return Fo(!!n.e),t=n.e,n.e=t.g,t.g=n,t.j=n.j,t.a=n.a,n.a=1+Yc(n.e)+Yc(n.g),n.j=Ny(Ny(n.c,_c(n.e)),_c(n.g)),n.d=1+Di(Ac(n.e),Ac(n.g)),t.d=1+Di(Ac(t.e),Ac(t.g)),t}function pC(n){var t;gs(new Qe(HH(n.e)))&&((t=zh(NS(n.e,(HT(),lM)),28))==(NH(),VM)?function(n){var t,e,r,c,i;for(t=n.e.j,r=new Qe(HH(n));r.a=VT?(t=55296+(n-VT>>10&1023)&zT,e=56320+(n-VT&1023)&zT,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&zT)}function DC(n,t,e,r){var c;Ph(n.c,new Sd(n,e,r,zh(td(n.k,e),24).a)),Ww(r)&&(t==n.e?r.d.f!=n.a&&r.c.f!=n.a:r.d.f!=n.e&&r.c.f!=n.e)&&(c=e==r.c?r.d:r.c,Ph(n.c,new Sd(n,c,r,zh(td(n.k,c),24).a)))}function xC(n,t){var e,r,c;if(t===n)return!0;if(!ds(t,57))return!1;if(c=zh(t,57),n.Y()!=c.Y())return!1;for(r=c.bb().mb();r.G();)if(e=zh(r.H(),21),!n._(e))return!1;return!0}function BC(n,t){var e,r,c;return Uy(r=new _E(n),t),ip(r,(jT(),vz),t),ip(r,(HT(),lM),(NH(),VM)),ip(r,P_,(SE(),QA)),fr(r,(KH(),uB)),sg(e=new MH,r),Ub(e,(FO(),SD)),sg(c=new MH,r),Ub(c,rD),r}function $C(n,t){var e,r,c;for(c=UT,r=new Qe(hS(t));r.a0&&zC(n,i,e));t.k=0}function qC(n,t){if(0>t)throw new ii("Top must be smaller or equal to bottom.");if(0>n)throw new ii("Left must be smaller or equal to right.");this.d=0,this.c=n,this.a=t,this.b=0}function QC(n){var t,e,r;if(0==n.length)throw new ii(AY);for(e=0,r=n.length;e1)throw new ii("In straight hyperEdges there may be only one edge.");Th((c=new Be(e.a).a.bb().mb(),r=zh(new $e(c).a.H(),21),zh(r.yb(),12)).a,new Za(t,n.b))}function fI(n,t,e){var r,c;if(this.f=n,Av(e,c=(r=zh(td(n.b,t),126))?r.a:0),e>=(c/2|0))for(this.e=r?r.c:null,this.d=c;e++0;)xg(this);this.b=t,this.a=null}function sI(n,t){typeof klaycallback===$T?klaycallback(t):((typeof document!==pR||typeof module===YT&&module.exports)&&AQ(n(t)),typeof document===pR&&typeof self!==pR&&self.postMessage(t))}function bI(n,t){var e,r,c,i;"x"in n.a&&(c=zh(Od(n,"x"),104),t.i.a=c.a),"y"in n.a&&(i=zh(Od(n,"y"),104),t.i.b=i.a),CR in n.a&&(r=zh(Od(n,CR),104),t.j.a=r.a),IR in n.a&&(e=zh(Od(n,IR),104),t.j.b=e.a)}function hI(n,t,e){var r;Lk(this),t==(gg(),WF)?Gw(this.g,n.c):Gw(this.o,n.c),Gw(e==WF?this.g:this.o,n.d),Gw(this.c,n),mE(this,$g(n.c).b,r=$g(n.d).b,r),this.f=function(n,t){return FH(),(n-t<=0?0-(n-t):n-t)<.2}($g(n.c).b,$g(n.d).b)}function lI(n,t,e){var r,c,i,a,u;for(Vd(),u=new vp((a=new Ki(zh(vl(t.a,e),18))).b.Y()),c=new Xe(a.b.mb());c.b.G();)r=zh(c.b.H(),37),(i=zh(td(n.a,r),31))||(i=lT(r),yd(n.a,r,i)),u.c[u.c.length]=i;return u}function wI(n){var t,e;if(Uu(zh(Pj(n,(HT(),lM)),28)))for(e=new Qe(n.f);e.at&&r.$b(n[i-1],n[i])>0;--i)a=n[i],Fw(n,i,n[i-1]),Fw(n,i-1,a)}(t,e,r,i);else if(dI(t,n,u=e+c,o=u+((a=r+c)-u>>1),-c,i),dI(t,n,o,a,-c,i),i.$b(n[o-1],n[o])<=0)for(;e=r||t upperEndpoint (%s)",_j(Ni(WY,1),fP,1,4,[t,e])))}((u=n.$b(e,i))<=0,e,i),0==u&&Uo(r!=(Qf(),hA)|a!=hA))}function EI(n){if(this.a=n,n.c.f.g==(KH(),uB))this.c=n.c,this.d=zh(Pj(n.c.f,(jT(),kz)),32);else{if(n.d.f.g!=uB)throw new ii("Edge "+n+" is not an external edge.");this.c=n.d,this.d=zh(Pj(n.d.f,(jT(),kz)),32)}}function HI(){HI=e,iF=yl(new dS,(mT(),UB)),uF=jl(new dS,zB),oF=kl(jl(new dS,f$),o$),cF=kl(yl(jl(new dS,MB),DB),xB),fF=jl(new dS,v$),aF=kl(new dS,FB),eF=kl(yl(jl(ml(new dS,KB),JB),XB),WB),rF=kl(yl(new dS,XB),AB)}function CI(n,t,e){var r,c,i,a;return Yp(e,xP),0==e?$H(n,t):(Uo(lb(n.b,t)),(a=n.c.a)?(i=Pk(OQ,BP,26,1,12,1),r=VG(a,n.d,t,e,i),Dl(n.c,a,r),i[0]):(n.d.$b(t,t),c=new Am(t,e),Ib(n.a,c,n.a),Dl(n.c,null,c),0))}function II(n,t,e){var r,c,i,a,u;for(r=0,u=e,t||(r=e*(n.c.length-1),u*=-1),i=new Qe(n);i.a0&&((!ru(n.b.d)||!r.q.d)&&(!cu(n.b.d)||!r.q.b)&&(r.j.e-=0>i/2-.5?0:i/2-.5),(!ru(n.b.d)||!r.q.a)&&(!cu(n.b.d)||!r.q.c)&&(r.j.b+=0>i-1?0:i-1))}(n,t,e),i=new Rt,c=new Qe(n.b.a.b);c.a0&&((!ru(n.b.d)||!r.q.d)&&(!cu(n.b.d)||!r.q.b)&&(r.j.e+=0>i/2-.5?0:i/2-.5),(!ru(n.b.d)||!r.q.a)&&(!cu(n.b.d)||!r.q.c)&&(r.j.b-=i-1))}(n,t,e)}function NI(n,t){var e,r,c,i;for(n.c[t.k]=!0,Ph(n.a,t),i=new Qe(t.f);i.a(a=u+ri(n.b[n.f[c.k].k]))?e:a;return e-r}function _I(n){var t;return cp(t=new $c,"type",new Ml(($b(Px),Px.n))),cp(t,mR,new Ml(n.f)),n.b&&cp(t,"value",n.b),n.a&&cp(t,"context",n.a),cp(t,jR,new Ml(Cs(new ai("\n"),new xe(new Ke((null==n.g&&(n.g=El(n)),n.g)))))),t}function MI(n,t){var e,r,c,i,a;if(t===n)return!0;if(!ds(t,20))return!1;if(a=zh(t,20),n.Y()!=a.Y())return!1;for(i=a.mb(),r=n.mb();r.G();)if(e=r.H(),c=i.H(),!(Ko(e)===Ko(c)||null!=e&&vy(e,c)))return!1;return!0}function DI(n){!LA&&((t=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',t[92]="\\\\",t[173]="\\u00ad",t[1536]="\\u0600",t[1537]="\\u0601",t[1538]="\\u0602",t[1539]="\\u0603",t[1757]="\\u06dd",t[1807]="\\u070f",t[6068]="\\u17b4",t[6069]="\\u17b5",t[8203]="\\u200b",t[8204]="\\u200c",t[8205]="\\u200d",t[8206]="\\u200e",t[8207]="\\u200f",t[8232]="\\u2028",t[8233]="\\u2029",t[8234]="\\u202a",t[8235]="\\u202b",t[8236]="\\u202c",t[8237]="\\u202d",t[8238]="\\u202e",t[8288]="\\u2060",t[8289]="\\u2061",t[8290]="\\u2062",t[8291]="\\u2063",t[8292]="\\u2064",t[8298]="\\u206a",t[8299]="\\u206b",t[8300]="\\u206c",t[8301]="\\u206d",t[8302]="\\u206e",t[8303]="\\u206f",t[65279]="\\ufeff",t[65529]="\\ufff9",t[65530]="\\ufffa",t[65531]="\\ufffb",LA=t);var t,e=n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,(function(n){return function(n,t){var e=LA[n.charCodeAt(0)];return null==e?n:e}(n)}));return'"'+e+'"'}function xI(n,t){var e,r,c,i,a;for(r=new $e(new Be((1==t?Mx:_x).a).a.bb().mb());r.a.G();)for(c=zh(r.a.H(),21),e=zh(c.yb(),59),a=zh(uC(n.f.c,e),18).mb();a.G();)i=zh(a.H(),27),zk(n.b.b,i.b),zk(n.b.a,zh(i.b,25).f)}function BI(n,t,e){var r,c,i,a;if(ZS(e,"Recursive layout",2),0!=t.b.c.length){for(a=1/t.b.c.length,i=new Qe(t.b);i.a=2147483648&&(r-=4294967296),r)}function qI(n,t,e){var r,c,i;if(t!=e){r=t;do{Rb(n,r.d),(i=zh(Pj(r,(jT(),Az)),9))&&(Ms(n,(c=r.a).b,c.d),Rb(n,i.i),r=Xw(i))}while(i);r=e;do{Yb(n,r.d),(i=zh(Pj(r,(jT(),Az)),9))&&(Ds(n,(c=r.a).b,c.d),Yb(n,i.i),r=Xw(i))}while(i)}}function QI(n,t){var e,r,c,i,a;for(e=new Rt,a=new Zu,c=new $e(new Be(n.a).a.bb().mb());c.a.G();)i=zh(c.a.H(),21),BG(a,(r=zh(i.yb(),12)).c,r,null),BG(a,r.d,r,null);for(;a.a;)Ph(e,aN(a,t,qs(zh(Pj(t,(HT(),lM)),28))));return e}function KI(n,t){var e,r,c,i,a;for(r=new $e(new Be((1==t?Mx:_x).a).a.bb().mb());r.a.G();)for(c=zh(r.a.H(),21),e=zh(c.yb(),59),a=zh(uC(n.f.c,e),18).mb();a.G();)i=zh(a.H(),27),Ph(n.b.b,zh(i.b,25)),Ph(n.b.a,zh(i.b,25).f)}function WI(n){var t,e,r,c,i,a;for(xh(),Es(),e=new sk,r=new Qe(n.e.c);r.a0&&c0):c<0&&-c0)}function nL(n,t,e,r,c){var i,a;Nm(nj(_j(Ni(BA,1),yR,10,0,[c.f.i,c.i,c.a])),e)||(t.c==c?Fs(t.a,0,new Qo(e)):Th(t.a,new Qo(e)),r&&!ya(n.a,e)&&((a=zh(Pj(t,(HT(),W_)),44))||(a=new _r,ip(t,W_,a)),Dv(a,i=new Qo(e),a.c.b,a.c),Gw(n.a,i)))}function tL(n){var t,e,r,c,i,a;for(t=0,e=new Qe(n.a);e.a((a=$g(r.d).b)-i<=0?0-(a-i):a-i)?t:a-i<=0?0-(a-i):a-i);return t}function eL(n,t){var e,r,c;if(Ko(t)===Ko(_l(n)))return!0;if(!ds(t,20))return!1;if(r=zh(t,20),(c=n.Y())!=r.Y())return!1;if(ds(r,63)){for(e=0;e=0)return r;for(c=1,i=new Qe(t.f);i.a(a=rL(n,u))+1?c:a+1);return function(n,t,e){var r,c;for(r=(c=n.a.c).c.length;ro-e&&u=n.g.d?((t=n.f).e=ym(n.e,t),t.g=n.g,t.a=n.a-1,t.j=Ty(n.j,e),oC(t)):((t=n.i).g=Sm(n.g,t),t.e=n.e,t.a=n.a-1,t.j=Ty(n.j,e),oC(t)):n.e:n.g}function oL(n){var t,e,r,c,i,a;for(c=new Qe(n.a);c.ai.k?Ub(a,jD):a.g==jD&&i.k>r.k&&Ub(a,cD))}function fL(n,t,e){var r,c,i,a,u,o;for(o=n.b,i=0,c=new Qe(n.a.b);c.a0)return wL(n,t,e.g);if(0!=r)return Ny(Ny(t.ac(e.g),t._b(e)),wL(n,t,e.e));switch(n.b.f.e){case 0:return Ny(t._b(e),t.ac(e.g));case 1:return t.ac(e.g);default:throw new mr}}function dL(n,t,e){var r;if(!e)return 0;if((r=n.d.$b(n.b.e,e.b))<0)return dL(n,t,e.e);if(0!=r)return Ny(Ny(t.ac(e.e),t._b(e)),dL(n,t,e.g));switch(n.b.d.e){case 0:return Ny(t._b(e),t.ac(e.e));case 1:return t.ac(e.e);default:throw new mr}}function gL(n,t,e,r){var c,i,a,u;return fr(a=new _E(n),(KH(),fB)),ip(a,(jT(),Oz),t),ip(a,(HT(),lM),(NH(),VM)),ip(a,Iz,e),ip(a,Lz,r),Ub(i=new MH,(FO(),SD)),sg(i,a),Ub(u=new MH,rD),sg(u,a),hg(t,i),Uy(c=new Dd,t),ip(c,W_,null),lg(c,u),hg(c,r),a}function vL(n,t){var e,r,c,i,a,u,o,f;for(e=0,a=0,u=(i=n.j).length;a.5&&c<50;)t=Ha(aC(e,r=GL(e),!0).a),++c;return aC(n,($l(i=Tb(kE(Fh(n.g),Fh(n.g).b-1))),i-r),!1)}(b);break;case 2:case 4:b.a=p,k=function(n){var t,e,r,c,i;for(e=FG(DN(n)),t=oY,c=0,r=0;t>.5&&c<50;)t=Ha(aC(e,r=NL(e),!0).b),++c;return aC(n,($l(i=Tb(kE(Fh(n.g),Fh(n.g).b-1))),i-r),!1)}(b);break;default:return null}return sr(b,new QC(_j(Ni(BA,1),yR,10,0,[o,p,k,w,g]))),b}(n.a.c,t,n.a.d,r,zE(n.b),e),Em(n.a.a,qS(u)),a=mC(n.a.b,u.a,n.b),eg(c=new Bv((!u.k&&(u.k=new PC(Hm(u))),u.k))),a?Jw(c,a):c}function pL(n,t){var e,r,c;for(e=new Qe(n.b);e.ae.a&&(i=Di(i,a.a-e.a-1));return i}function yL(n){var t,e;switch(t=zh(Pj(n,(HT(),tM)),15).a,e=zh(Pj(n,eM),15).a,ip(n,eM,new Me(t)),ip(n,tM,new Me(e)),zh(Pj(n,P_),103).e){case 1:ip(n,P_,(SE(),JA));break;case 2:ip(n,P_,(SE(),qA));break;case 3:ip(n,P_,(SE(),KA));break;case 4:ip(n,P_,(SE(),WA))}}function SL(n,t,e){var r,c,i;for(i=new Qe(n.e);i.a0&&(r.b.c-=r.c,r.b.c<=0&&r.b.f>0&&Th(t,r.b));for(c=new Qe(n.b);c.a0&&(r.a.f-=r.c,r.a.f<=0&&r.a.c>0&&Th(e,r.a))}function EL(n,t,e){var r,c,i;for(i=new Qe(n.j);i.a0&&(r.b.e-=r.c,r.b.e<=0&&r.b.k>0&&Th(t,r.b));for(c=new Qe(n.d);c.a0&&(r.a.k-=r.c,r.a.k<=0&&r.a.e>0&&Th(e,r.a))}function HL(n,t){switch(n.e){case 1:switch(t.e){case 1:return EY;case 4:return.5;case 3:return HY;case 2:return CY}break;case 2:switch(t.e){case 1:return EY;case 2:return.5;case 3:return HY;case 4:return CY}break;default:throw new ii(SY)}return 0}function CL(n,t){var e,r,c,i;for(Pf((i=new tv(n,0)).b0),i.a.sb(i.c=--i.b),ch(i,c),Pf(i.b1)&&(++i,++a);return!qs(zh(Pj(e,(HT(),lM)),28))&&u&&(++i,++a),yd(c,e,iS(i)),a}function GL(n){var t,e,r,c,i,a,u,o,f,s;for(f=(s=(u=zh((a=n.b.mb()).H(),92)).a.a)>RY,o=sRY)&&!o)return Cm(u.b);if(c&&o||r&&f)return(t=i/(i-s))*Cm(e.b)+(1-t)*Cm(u.b)}return 0}function NL(n){var t,e,r,c,i,a,u,o,f,s;for(f=(s=(u=zh((a=n.b.mb()).H(),92)).a.b)>RY,o=sRY)&&!o)return Cm(u.b);if(c&&o||r&&f)return(t=i/(i-s))*Cm(e.b)+(1-t)*Cm(u.b)}return 0}function OL(n,t,e){var r,c;return r=0,Ww(t)?ya(n.g,t)?(sL(n.i,iS(Ab(n,t.c)),1),sL(n.i,iS(Ab(n,t.d)),1),ks(n.g,t),r+=IE(n,t,n.i)):(Gw(n.g,t),CI(n.i,iS(Ab(n,t.c)),1),CI(n.i,iS(Ab(n,t.d)),1)):(c=$H(n.i,iS(zh(td(n.k,e),24).a)),r+=n.g.a.Y()-c),r}function TL(n){switch(n.e){case 0:return SF;case 1:return yF;case 2:return pF;case 3:return kF;case 4:return HF;case 5:return EF;case 6:return UF;case 7:return $F;case 8:return jF;case 9:return mF;case 10:return xF;case 11:return CF;default:return BF}}function PL(n){switch(n.e){case 0:return EF;case 1:return UF;case 2:return $F;case 3:return SF;case 4:return yF;case 5:return pF;case 6:return kF;case 7:return HF;case 8:return jF;case 9:return mF;case 10:return xF;case 11:return CF;default:return BF}}function RL(n){switch(n.e){case 0:return pF;case 1:return kF;case 2:return HF;case 3:return EF;case 4:return UF;case 5:return $F;case 6:return SF;case 7:return yF;case 8:return jF;case 9:return mF;case 10:return xF;case 11:return CF;default:return BF}}function YL(n){var t;switch(t=n.a.f,n.b){case 0:return new Qe(n.a.f);case 1:return pw(new Yg(t),BH(n));case 2:switch(n.c.e){case 2:case 1:return pw(new Qe(t),BH(n));case 3:case 4:return pw(new Yg(t),BH(n))}}throw new Ei("PortOrder not implemented.")}function AL(n,t){var e;n.d&&(t.c!=n.e.c||function(n,t){return zm(),n==Fx&&t==Vx||n==Fx&&t==zx||n==qx&&t==zx||n==qx&&t==Vx}(n.e.b,t.b))&&(Ph(n.f,n.d),n.a=n.d.d+n.d.c,n.d=null,n.e=null),!function(n){return n==Fx||n==Vx}(t.b)?n.b=t:n.c=t,(t.b==(zm(),Fx)&&!t.a||t.b==Vx&&t.a||t.b==zx&&t.a||t.b==qx&&!t.a)&&n.c&&n.b&&(e=new Ed(n.a,n.c.d,t.c-n.a,n.b.d-n.c.d),n.d=e,n.e=t)}function _L(n,t,e,r){this.e=n,this.j=zh(Pj(n,(jT(),qz)),134),this.f=Pk(hB,NR,9,t,0,1),this.b=Pk(rQ,AT,184,t,6,1),this.a=Pk(hB,NR,9,t,0,1),this.d=Pk(rQ,AT,184,t,6,1),this.i=Pk(hB,NR,9,t,0,1),this.g=Pk(rQ,AT,184,t,6,1),this.n=Pk(rQ,AT,184,t,6,1),this.k=e,this.c=r}function ML(n){if(!n.a.c||!n.a.d)throw new ji(($b(X$),X$.j+" must have a source and target "+($b(nU),nU.j+" specified.")));if(n.a.c==n.a.d)throw new ji("Network simplex does not support self-loops: "+n.a+" "+n.a.c+" "+n.a.d);return Iw(n.a.c.g,n.a),Iw(n.a.d.c,n.a),n.a}function DL(n,t,e,r,c){r==(FO(),rD)&&c==rD?Wd(n,t)>Wd(n,e)?n.d=RE(n,e):n.b=RE(n,t):r==SD&&c==SD?Wd(n,t)Wd(n,e)&&(n.d=RE(n,e),n.b=RE(n,t)):Wd(n,t)0&&i>0?t++:r>0?e++:i>0?c++:e++}Iv(n.f,new Rn)}function BL(n,t,e,r){var c,i,a,u,o;e.d.f!=t.f&&(fr(c=new _E(n),(KH(),fB)),ip(c,(jT(),Oz),e),ip(c,(HT(),lM),(NH(),VM)),r.c[r.c.length]=c,sg(a=new MH,c),Ub(a,(FO(),SD)),sg(u=new MH,c),Ub(u,rD),o=e.d,hg(e,a),Uy(i=new Dd,e),ip(i,W_,null),lg(i,u),hg(i,o),TI(c,a,u))}function $L(n){var t,e,r,c,i,a,u;for(c=oY,a=oY,i=null,e=new hd(new ar(n.e));e.b!=e.c.a.b;)if(1==zh((t=Qk(e)).d,60).c&&(r=zh(t.e,116).a,u=zh(t.e,116).b,(c-r>bY||r-cbY)&&(a=zh(t.e,116).b,c=zh(t.e,116).a,i=zh(t.d,60),0==a&&0==c)))return i;return i}function UL(n,t){var e,r,c,i,a,u;return i=n.d,(u=zh(Pj(n,(HT(),HM)),15).a)<0&&ip(n,HM,new Me(u=0)),t.j.b=u,a=Math.floor(u/2),Ub(r=new MH,(FO(),SD)),sg(r,t),r.i.b=a,Ub(c=new MH,rD),sg(c,t),c.i.b=a,hg(n,r),Uy(e=new Dd,n),ip(e,W_,null),lg(e,c),hg(e,i),function(n,t,e){var r;(r=t.c.f).g==(KH(),fB)?(ip(n,(jT(),Iz),zh(Pj(r,Iz),7)),ip(n,Lz,zh(Pj(r,Lz),7))):(ip(n,(jT(),Iz),t.c),ip(n,Lz,e.d))}(t,n,e),function(n,t){var e,r;for(r=new tv(n.b,0);r.bRY&&(this.b.ib(e),u=!1),this.b.ib(o);u&&this.b.ib(e)}function qL(n){var t,e,r,c;if(function(n,t){var e,r,c,i,a,u,o;for(c=Pk(OQ,BP,26,n.e.a.c.length,12,1),a=new Qe(n.e.a);a.a0){for(Vi(n.c);YI(n,zh(rv(new Qe(n.e.a)),61))0?e:0,r.i.b=e+ah(n.a,i,u)):r.i.b=($l(a),a)),o=ah(n.a,i,u),r.i.bi?0:i)i?0:i:u,(0>(oi?0:i)i?0:i:u)),i=o,o+=a,r=zh(vl(n.c,c),9),(e=new Hf(f)).j.b=t.j.b,LI(n.b,t,e),Ph(r.c,e);zk(n.g.c,t),Ph(n.i,new Gu(n,t))}function cG(n,t,e){var r,c,i,a,u,o;for(t.k=1,c=t.d,o=GS(t,(bm(),oq)).mb();o.G();)for(r=new Qe(zh(o.H(),7).e);r.ab+u&&r.I();for(a=new Qe(h);a.abY||r-cbY)&&(a=zh(t.e,116).b,c=zh(t.e,116).a,i=zh(t.d,60),0==a&&0==c)))return i;return i}function hG(n,t){var e,r,c;n.d=t,Ik(n.b),n.c=!1;n:for(e=new Qe(n.d.c);e.ai.j.e+i.j.b?l.d=!0:(l.d=!0,l.c=!0))),r.b!=r.d.c&&(t=e);l&&(a=zh(td(k,o.d.f),25),t.ba.j.e+a.j.b?l.d=!0:(l.d=!0,l.c=!0))}for(f=Rw(rS(g));bS(f);)0!=(o=zh(Og(f),12)).a.b&&(t=zh($s(o.a),10),o.d.g==(FO(),cD)&&((S=new JL(t,new Za(t.a,i.j.e),i,o)).c=!0,y.c[y.c.length]=S),o.d.g==jD&&((S=new JL(t,new Za(t.a,i.j.e+i.j.b),i,o)).d=!0,y.c[y.c.length]=S))}if(0!=y.c.length){for(Vd(),Iv(y,null),Nk(0,y.c.length),c=new $I(zh(y.c[0],142),n.d),h=1;ha?new Kp(t,n,i-a):i>0&&a>0&&(new Kp(n,t,0),new Kp(t,n,0)))}function dG(n,t){var e,r,c,i,a,u,o,f;for(o=new Rt,f=null,r=zh(Gd(A$,n),20).mb();r.G();){for(u=new $e(new Be((e=zh(r.H(),75)).c.a).a.bb().mb());u.a.G();)c=zh(u.a.H(),21),ch(t,i=zh(c.yb(),7)),VI(i,n.b);wj(o,e.b),f=n.a}for(ZC(o),Dp(o,f),a=new Qe(o);a.ae.k&&u1&&(i=e?Oo(t.d)+1:Oo(a.d)-1,bg(a,zh(vl(n.a.c,i),16))),mG(n,a,e));return t}function jG(n,t){var e,r,c,i;for(c=t.d?n.a.c==(dg(),zU)?rS(t.b):cS(t.b):n.a.c==(dg(),VU)?rS(t.b):cS(t.b),i=!1,Kf(),r=new Af(Df(Kh(c.a,new b)));bS(r);)if(e=zh(Og(r),12),n.c.a[e.c.f.d.k]!==n.c.a[e.d.f.d.k]&&(i=!0,ya(n.b,n.a.f[fH(e,t.b).k])))return t.c=!0,t.a=e,t;return t.c=i,t.a=null,t}function yG(n){var t,e,r,c,i,a,u;for(i=new Qe(n.a.a);i.a0&&Mj(this.n,!0,(Py(),t_)),n.g==(KH(),uB)&&Oh(this.n,!1,!1,!1,!1)}function HG(n,t,e){var r,c,i,a,u,o,f,s;for(i=new Za(t,e),f=new Qe(n.b);f.ar?b:r)>n.j.a&&(f=(u-n.j.a)/2,a.b=_i(a.b,f),a.c=_i(a.c,f))}function _G(n,t,e,r){var c,i,a,u,o,f,s,b;for(a=Ms(t.d,e,r),s=new Qe(t.b);s.a=40)&&function(n){var t,e,r,c,i,a,u;for(n.o=new ec,r=new oi,a=new Qe(n.e.a);a.a0,u=SS(t,i),_f(e?u.c:u.g,t),1==hS(u).c.length&&Dv(r,u,r.c.b,r.c),c=new Xa(i,t),ff(n.o,c),zk(n.e.a,i))}(n),function(n){var t,e,r,c,i,a,u,o,f,s;for(f=n.e.a.c.length,i=new Qe(n.e.a);i.a0?(o=n.g)?(a=o.d,n.g=VG(o,t,e,r,c),0==c[0]&&++n.a,n.j=Ny(n.j,r),n.g.d==a?n:oC(n)):(c[0]=0,Om(n,e,r)):(c[0]=n.c,Uo(hy(Ny(n.c,r),UT)<=0),n.c+=r,n.j=Ny(n.j,r),n)}function zG(n,t,e){var r,c,i,a,u,o,f,s;for(c=!0,a=new Qe(t.c);a.af&&r>f)){c=!1,n.a&&Ah();break}f=ri(e.n[u.k])+ri(e.d[u.k])+u.j.b+u.e.a}if(!c)break}return n.a&&Ah(),c}function qG(n){var t,e,r,c,i,a;if(gs(new Qe(r=hH(n)))){for(a=new Ed(0,0,n.e.j.a,n.e.j.b),e=new Qe(r);e.aa.i.b-a.e.d+f.a+b&&(h=o.i+f.i,f.a=(f.i*f.a+o.i*o.a)/h,f.i=h,o.g=f,e=!0)),i=a,o=f;return e}function XG(n){var t,e,r,c,i;if(Ko(Pj(n,(HT(),lM)))===Ko((NH(),zM))||Ko(Pj(n,lM))===Ko(VM))for(i=new Qe(n.f);i.aa)return FO(),rD;break;case 4:case 3:if(s<0)return FO(),cD;if(s+e>i)return FO(),jD}return(o=(f+u/2)/a)+(r=(s+e/2)/i)<=1&&o-r<=0?(FO(),SD):o+r>=1&&o-r>=0?(FO(),rD):r<.5?(FO(),cD):(FO(),jD)}function tN(n,t,e,r,c,i,a){var u,o,f,s,b;for(b=new co,o=t.mb();o.G();)for(s=new Qe(PE(zh(o.H(),627)));s.a0&&Th(n.e,i)):(n.c[a]-=f+1,n.c[a]<=0&&n.a[a]>0&&Th(n.d,i))))}function rN(n){var t,e,r,c,i,a,u,o;for(qj(),this.b=new Kn,this.c=new Rt,this.a=new Rt,u=0,o=(a=zj()).length;u0){for(c=u.length;c>0&&""==u[c-1];)--c;c0&&0==c[0]&&++n.a,n.j=Ny(n.j,r-c[0]),oC(n)):(c[0]=0,r>0?Tm(n,e,r):n):i>0?(u=n.g)?(n.g=fN(u,t,e,r,c),0==r&&0!=c[0]?--n.a:r>0&&0==c[0]&&++n.a,n.j=Ny(n.j,r-c[0]),oC(n)):(c[0]=0,r>0?Om(n,e,r):n):(c[0]=n.c,0==r?uL(n):(n.j=Ny(n.j,r-n.c),n.c=r,n))}function sN(n,t,e,r,c){var i,a,u;return(i=t.$b(e,n.b))<0?(a=n.e)?(n.e=sN(a,t,e,r,c),c[0]>0&&(r>=c[0]?(--n.a,n.j=Ty(n.j,c[0])):n.j=Ty(n.j,r)),0==c[0]?n:oC(n)):(c[0]=0,n):i>0?(u=n.g)?(n.g=sN(u,t,e,r,c),c[0]>0&&(r>=c[0]?(--n.a,n.j=Ty(n.j,c[0])):n.j=Ty(n.j,r)),oC(n)):(c[0]=0,n):(c[0]=n.c,r>=n.c?uL(n):(n.c-=r,n.j=Ty(n.j,r),n))}function bN(n,t,e){var r,c,i,a,u,o,f,s;for(o=new Qe(e.b);o.a0&&f>0&&vO(v,new Za(H,f),!0))),d=_i(d,v.i.a+v.j.a),g=_i(g,v.i.b+v.j.b),l=new Qe(v.c);l.at.a&&(r.kb((qH(),XF))?n.d.a+=(e.a-t.a)/2:r.kb(tV)&&(n.d.a+=e.a-t.a)),e.b>t.b&&(r.kb((qH(),rV))?n.d.b+=(e.b-t.b)/2:r.kb(eV)&&(n.d.b+=e.b-t.b)),zh(Pj(n,(jT(),mz)),18).kb((kG(),LV))&&(e.a>t.a||e.b>t.b))for(u=new Qe(n.b);u.a0||0==e&&t.f==(Qf(),hA))&&(u=t.g,o=t.f):(c=t.c,u=t.g,o=t.f),r&&c&&((e=n.a.$b(i,u))>0||0==e&&a==(Qf(),hA)&&o==(Qf(),hA))&&(i=u,Qf(),a=hA,o=bA),new SI(n.a,r,i,a,c,u,o)}function kN(n,t,e,r){var c,i,a,u,o,f;if(e.c.f!=t.f)for(fr(c=new _E(n),(KH(),fB)),ip(c,(jT(),Oz),e),ip(c,(HT(),lM),(NH(),VM)),r.c[r.c.length]=c,sg(a=new MH,c),Ub(a,(FO(),SD)),sg(u=new MH,c),Ub(u,rD),hg(e,a),Uy(i=new Dd,e),ip(i,W_,null),lg(i,u),hg(i,t),TI(c,a,u),f=new tv(e.b,0);f.b=r&&f.a>=r&&(s.a=r),h.a<=e&&f.a<=e&&(l.a=e-10),1==t.c.a.Y()?sp(a.a,_j(Ni(BA,1),yR,10,0,[s,b,w,l])):sp(a.a,_j(Ni(BA,1),yR,10,0,[s,b,c,w,l]))}function mN(n,t){var e,r,c,i,a,u;for(i=n.c,a=n.d,lg(n,null),hg(n,null),t&&ei(ri(Ob(Pj(a,(jT(),jz)))))?lg(n,gN(a.f,(bm(),oq),(FO(),rD))):lg(n,a),t&&ei(ri(Ob(Pj(i,(jT(),Yz)))))?hg(n,gN(i.f,(bm(),uq),(FO(),SD))):hg(n,i),r=new Qe(n.b);r.aa&&(a=zh(Pj(e,Bz),24).a);for(r=Rw(rS(u));bS(r);)e=zh(Og(r),12),u.d!=e.c.f.d&&zh(Pj(e,(jT(),Bz)),24).a==a&&Ph(f,new Xa(e.c.f,e));Iv(f,n.c),Rl(n.b,u.k,f)}}(b,n),b.f=Ts(b.d),function(n,t){var e,r,c,i,a,u,o,f;for(i=new Qe(t.c);i.aa&&(a=zh(Pj(e,Bz),24).a);for(r=Rw(cS(u));bS(r);)e=zh(Og(r),12),u.d!=e.d.f.d&&zh(Pj(e,(jT(),Bz)),24).a==a&&Ph(f,new Xa(e.d.f,e));Iv(f,n.c),Rl(n.f,u.k,f)}}(b,n),b}function SN(n){var t,e,r,c,i,a,u,o;for(a=new Qe(n.a);a.ari(bs(a.g,a.d[0]).a)?(Pf(o.b>0),o.a.sb(o.c=--o.b),ch(o,a),c=!0):u.e&&u.e.Y()>0&&(i=(!u.e&&(u.e=new Rt),u.e).nb(t),f=(!u.e&&(u.e=new Rt),u.e).nb(e),(i||f)&&((!u.e&&(u.e=new Rt),u.e).ib(a),++a.c));c||(r.c[r.c.length]=a)}function HN(n,t,e,r){var c,i,a,u,o,f,s,b,h,l,w;e.d.f!=t.f&&(fr(c=new _E(n),(KH(),fB)),ip(c,(jT(),Oz),e),ip(c,(HT(),lM),(NH(),VM)),r.c[r.c.length]=c,sg(a=new MH,c),Ub(a,(FO(),SD)),sg(u=new MH,c),Ub(u,rD),o=e.d,hg(e,a),Uy(i=new Dd,e),ip(i,W_,null),lg(i,u),hg(i,o),b=(s=(f=zh(vl(a.b,0),12).c).f).g,w=(l=(h=zh(vl(u.e,0),12).d).f).g,ip(c,Iz,b==fB?zh(Pj(s,Iz),7):f),ip(c,Lz,w==fB?zh(Pj(l,Lz),7):h))}function CN(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w;for(a=t,b=t.d,f=t.c.f,h=t.d.f,s=Oo(f.d),l=Oo(h.d),u=s;ut&&(n.a=t),n.b<0?n.b=0:n.b>e&&(n.b=e)}(f,n.j.a,n.j.b),Ub(u,nN(u,i)),a=zh(Pj(r,(jT(),mz)),18),o=u.g,i.e){case 2:case 1:(o==(FO(),cD)||o==jD)&&a.ib((kG(),TV));break;case 4:case 3:(o==(FO(),rD)||o==SD)&&a.ib((kG(),TV))}else c=yS(i),u=gN(n,e,e==(bm(),oq)?c:Cy(c));return u}function TN(n){var t,e,r,c,i,a,u,o;for(r=sb(nk(n.a)),c=new Zh(t=zh(ea(FF),11),zh(Ow(t,t.length),11),0);r.a.G()||r.b.mb().G();)u=(e=zh(Ap(r),12)).c.g,o=e.d.g,u==(FO(),yD)?o!=yD&&(a=MS(o),ip(e,(jT(),Kz),a),Ub(e.c,o),Lm(c,a),r.a.I()):o==yD?(a=MS(u),ip(e,(jT(),Kz),a),Ub(e.d,u),Lm(c,a),r.a.I()):(a=IN(u,o),ip(e,(jT(),Kz),a),Lm(c,a),r.a.I());return 1==c.c?i=zh(ik(new Fu(c)),60):(JO(),i=BF),IC(n,i,!1),i}function PN(n,t,e){var r,c,i,a,u,o,f,s,b;for(o=e+t.d.c.a,b=new Qe(t.f);b.a1,u=Rw(vf((ud(),new lv(Wy(_j(Ni(WY,1),fP,1,4,[s.b,s.e]))))));bS(u);)f=(a=zh(Og(u),12)).c==s?a.d:a.c,Ha(nj(_j(Ni(BA,1),yR,10,0,[f.f.i,f.i,f.a])).b-i.b)>1&&nL(n,a,i,c,s)}}function RN(n,t){var e,r,c,i,a;for(a=new ry(new De(n.f.b).a);a.b;){if(c=zh((i=Xp(a)).yb(),251),1==t){if(c.yc()!=(Py(),r_)&&c.yc()!=XA)continue}else if(c.yc()!=(Py(),n_)&&c.yc()!=t_)continue;switch(r=zh(zh(i.zb(),27).b,25),e=zh(zh(i.zb(),27).a,78).c,c.yc().e){case 2:r.j.d=n.e.a,r.j.c=_i(1,r.j.c+e);break;case 1:r.j.d=r.j.d+e,r.j.c=_i(1,r.j.c-e);break;case 4:r.j.e=n.e.b,r.j.b=_i(1,r.j.b+e);break;case 3:r.j.e=r.j.e+e,r.j.b=_i(1,r.j.b-e)}}}function YN(n,t,e,r,c){var i,a,u,o,f,s,b,h;for(Es(),b=new jr,a=new Rt,uI(n,e,n.d.Mc(),a,b),uI(n,r,n.d.Nc(),a,b),u=new tv(a,0);u.b=s&&(k>s&&(f.c=Pk(WY,fP,1,0,4,1),s=k),f.c[f.c.length]=w);0!=f.c.length&&(o=zh(vl(f,oH(t,f.c.length)),80),kd(I.a,o),o.d=b++,SL(o,H,y),f.c=Pk(WY,fP,1,0,4,1))}for(m=n.c.length+1,d=new Qe(n);d.aC.d&&(bd(e),zk(C.b,r),r.c>0&&(r.a=C,Ph(C.e,r),r.b=S,Ph(S.b,r)))}(a,zh(Pj(t,(jT(),Uz)),154)),function(n){var t,e,r,c,i,a,u,o,f;for(o=new Rt,a=new Rt,i=new Qe(n);i.a-1){for(c=new Qe(a);c.a0||(u.i=$i(u.i,r.i-1),--u.f,0==u.f&&(a.c[a.c.length]=u))}}(a),h=-1,s=new Qe(a);s.ab||r+c>o)throw new Fr;if(0!=(1&f.g)&&0==(4&f.g)||s==u)c>0&&GH(n,t,e,r,c,!0);else if(n===e&&tr;)e[a]=n[--t];else for(a=r+c;r0&&0==i[0]&&++n.a,n.j=Ny(n.j,c-i[0])),oC(n)):(i[0]=0,0==r&&c>0?Tm(n,e,c):n);if(a>0)return(o=n.g)?(n.g=MN(o,t,e,r,c,i),i[0]==r&&(0==c&&0!=i[0]?--n.a:c>0&&0==i[0]&&++n.a,n.j=Ny(n.j,c-i[0])),oC(n)):(i[0]=0,0==r&&c>0?Om(n,e,c):n);if(i[0]=n.c,r==n.c){if(0==c)return uL(n);n.j=Ny(n.j,c-n.c),n.c=c}return n}function DN(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g;for(o=n.e,l=n.f,a=n.d,s=(w=n.c)-1,d=n.g,b=Fh(n.g.xb(1,n.g.Y()-1)),f=new Rt,e=0;e0&&(o=n.i.a/i);break;case 2:case 4:(c=n.f.j.b)>0&&(o=n.i.b/c)}ip(n,(jT(),Dz),o)}if(u=n.j,r)n.a.a=r.a,n.a.b=r.b;else if(t!=QM&&t!=KM&&a!=yD)switch(a.e){case 1:n.a.a=u.a/2;break;case 2:n.a.a=u.a,n.a.b=u.b/2;break;case 3:n.a.a=u.a/2,n.a.b=u.b;break;case 4:n.a.b=u.b/2}else n.a.a=u.a/2,n.a.b=u.b/2}(o,f,c,zh(Pj(o,hM),10)),c.e){case 2:case 1:(o.g==(FO(),cD)||o.g==jD)&&i.ib((kG(),TV));break;case 4:case 3:(o.g==(FO(),rD)||o.g==SD)&&i.ib((kG(),TV))}}function UN(n){var t,e,r,c,i;for(r=new Rt,i=new Qe(n.c.f);i.a=d-1)return null;for((c=new Rt).c[c.c.length]=t,v=t,a=e,l=-1,u=zh(vl(n.d.c.c,e),16),h=0;h1&&a1&&a>1;)f=iN(n,k),u=zh(vl(n.d.c.c,a),16),s=zh(vl(n.d.c.c,a-1),16),kH(k,d=$i(zh(w.sb(b++),24).a,s.a.c.length),s),kH(f,v,u),v=d,k&&(c.c[c.c.length]=k),k=f,--p,++i,--a;for(g=(r-(c.c.length-1)*n.d.d)/c.c.length,o=new Qe(c);o.a=0)return!1;if(e.e&&r==(KH(),aB)&&r!=e.e)return!1;if(t.k=e.b,Ph(e.f,t),e.e=r,r==(KH(),fB)||r==bB||r==aB)for(c=new Qe(t.f);c.a0&&(Mj(n.n,!1,(Py(),n_)),Mj(n.n,!0,t_))}function zN(n,t,e){var r,c,i,a;switch(i=n.i,c=nj(_j(Ni(BA,1),yR,10,0,[t.i,t.f.i])),r=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])),a=t.d,t.g.e){case 4:i.a=xi(c.a,r.a)-a.b-n.j.a-e,i.b=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).b+e;break;case 2:i.a=_i(c.a+t.j.a,r.a)+a.c+e,i.b=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).b+e;break;case 1:i.a=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).a+e,i.b=xi(c.b,r.b)-a.d-n.j.b-e;break;case 3:i.a=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).a+e,i.b=_i(c.b+t.j.b,r.b)+a.a+e}}function qN(n,t,e){var r,c,i,a;switch(i=n.i,c=nj(_j(Ni(BA,1),yR,10,0,[t.i,t.f.i])),r=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])),a=t.d,t.g.e){case 4:i.a=xi(c.a,r.a)-a.b-n.j.a-e,i.b=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).b-n.j.b-e;break;case 2:i.a=_i(c.a+t.j.a,r.a)+a.c+e,i.b=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).b-n.j.b-e;break;case 1:i.a=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).a+e,i.b=xi(c.b,r.b)-a.d-n.j.b-e;break;case 3:i.a=nj(_j(Ni(BA,1),yR,10,0,[t.f.i,t.i,t.a])).a+e,i.b=_i(c.b+t.j.b,r.b)+a.a+e}}function QN(){QN=e,_V=new Nv("ONE_SIDED",0,!0,!1,!1),BV=new Nv("TWO_SIDED",1,!1,!1,!1),MV=new Nv("ONE_SIDED_BEST_OF_UP_OR_DOWN",2,!0,!0,!1),$V=new Nv("TWO_SIDED_BEST_OF_UP_OR_DOWN",3,!1,!0,!1),DV=new Nv("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",4,!0,!0,!0),UV=new Nv("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES",5,!1,!0,!0),xV=new Nv("ONE_SIDED_ORTHOGONAL_HYPEREDGES",6,!0,!1,!0),AV=new Nv("OFF",7,!1,!1,!1)}function KN(n,t,e,r,c,i,a){var u,o,f,s,b,h,l;return b=ei(ri(Ob(Pj(t,(yT(),Gq))))),h=null,i==(bm(),uq)&&r.c.f==e?h=r.c:i==oq&&r.d.f==e&&(h=r.d),f=a,a&&b&&!h?(Ph(a.e,r),l=Mi(zh(Pj(a.d,(HT(),HM)),15).a,zh(Pj(r,HM),15).a),ip(a.d,HM,new Me(l))):(FO(),s=yD,h?s=h.g:Uu(zh(Pj(e,(HT(),lM)),28))&&(s=i==uq?SD:rD),o=function(n,t,e,r,c,i){var a,u,o,f,s,b,h;f=r==(bm(),uq)?i.c:i.d,o=sS(t),f.f==e?(a=zh(td(n.b,f),9))||(ip(a=$O(f,zh(Pj(e,(HT(),lM)),28),c,r==uq?-1:1,f.j,o,t),(jT(),Oz),f),yd(n.b,f,a)):(s=zh(Pj(i,(HT(),HM)),15).a,u=function(n,t,e,r){var c,i;switch(c=sS(Xw(e)),sg(i=new MH,e),r.e){case 1:Ub(i,Cy(yS(c)));break;case 2:Ub(i,yS(c))}return ip(i,(jT(),Nz),zh(Pj(t,Nz),15)),ip(t,Oz,i),yd(n.b,i,t),i}(n,a=$O((b=new d,h=zh(Pj(t,(jT(),zz)),15).a*zh(Pj(t,(yT(),jq)),15).a/2,ip(b,Nz,new Me(h)),b),zh(Pj(e,lM),28),c,r==uq?-1:1,new Za(s,s),o,t),e,r),ip(a,Oz,u),yd(n.b,u,a));return zh(Pj(t,(jT(),mz)),18).ib((kG(),LV)),Uu(zh(Pj(t,(HT(),lM)),28))?ip(t,lM,(NH(),qM)):ip(t,lM,(NH(),QM)),a}(n,t,e,i,s,r),u=jv((Xw(e),r)),i==uq?(lg(u,zh(vl(o.f,0),7)),hg(u,c)):(lg(u,c),hg(u,zh(vl(o.f,0),7))),f=new Dy(r,u,o,zh(Pj(o,(jT(),Oz)),7),i,!h)),LI(n.a,r,new kh(f.d,t,i)),f}function WN(n,t,e,r){var c,i,a,u,o,f,s;if(fr(i=new _E(n),(KH(),bB)),ip(i,(HT(),lM),(NH(),VM)),c=0,t){for(ip(a=new MH,(jT(),Oz),t),ip(i,Oz,t.f),Ub(a,(FO(),SD)),sg(a,i),o=0,f=(s=zh(tH(t.b,Pk(cB,JR,12,t.b.c.length,0,1)),47)).length;oh?s:h;for(mE(this,nj(_j(Ni(BA,1),yR,10,0,[n.f.i,n.i,n.a])).b,b,s),a=new $e(new Be(t.a).a.bb().mb());a.a.G();)c=zh(a.a.H(),21),i=zh(c.yb(),27),Gw(this.c,zh(i.b,12));this.f=!1}function rO(n,t,e,r){var c,i,a,u,o;if(!((u=(HT(),cM).b)in t.a)||!Od(t,u).ic().a){if(!(o=Od(t,mR)))throw new Sw("Labels must have a property 'text'.",null,t);if(!o.lc())throw new Sw("A label's 'text' property must be a string.",o,t);if(ip(i=new Hf(o.lc().a),(jT(),Oz),t),yd(n.f,i,t),bI(t,i),AH(t,i),ds(e,9)?Ph(zh(e,9).c,i):ds(e,12)?Ph(zh(e,12).b,i):ds(e,7)&&Ph(zh(e,7).c,i),ds(e,12))switch(a=zh(Pj(i,B_),107),bI(t,i),ip(i,B_,a),c=zh(Pj(r,mz),18),a.e){case 2:case 3:c.ib((kG(),IV));case 1:case 0:c.ib((kG(),HV)),ip(i,B_,(qm(),a_))}}}function cO(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g;for(c=0,i=0,o=new Qe(n.a);o.a.5?g-=2*i*(l-.5):l<.5&&(g+=2*c*(.5-l)),g<(r=a.e.b)&&(g=r),w=a.e.c,g>d.a-w-f&&(g=d.a-w-f),a.i.a=t+g}}function iO(){iO=e,Gx=new Jc,Lx=DG(_j(Ni($A,1),fP,79,0,[(HT(),T_),V_])),Hx=DG(_j(Ni($A,1),fP,79,0,[aM,wM,(yT(),Mq),z_,(jT(),Bz),Bq,Pq])),jx=DG(_j(Ni($A,1),fP,79,0,[R_,M_,cM,F_,K_,Z_,X_,mM,jM,Q_,bq,vq,kq,Lq,yq,Gq,Dq,Rq,lq])),Ex=DG(_j(Ni($A,1),fP,79,0,[eM,tM,J_,HM,iM,xz,az,nz,zz,Yq,jq,Iq])),Sx=DG(_j(Ni($A,1),fP,79,0,[gM,P_,x_,$_,B_,U_,q_,uM,oM,fM,sM,bM,lM,dM,hq,gq,Nq,pq,dq,Oq,Tq,Sq,Eq,Cq,Aq,_q,xq,$q,Hq])),yx=DG(_j(Ni($A,1),fP,79,0,[rM,yM,SM,wq])),Ix=DG(_j(Ni($A,1),fP,79,0,[O_,A_,W_,nM,hM,kM])),Cx=DG(_j(Ni($A,1),fP,79,0,[(Uj(),kx)]))}function aO(n){var t,e,r,c,i,a,u;for(t=0,i=new Qe(n.b.a);i.aUP)&&u<10);hi(n.c,new L),aO(n),function(n){TO(n,(Py(),n_)),n.e=!0}(n.c),function(n){var t,e,r,c,i,a,u;for(c=new Qe(n.a.b);c.a0;){for(Nk(0,u.c.length),l=zh(u.c[0],12),Nk(0,b.c.length),c=ap((r=zh(b.c[0],12)).d.b,r,0),Jg(l,r.d,c),lg(r,null),hg(r,null),h=l.a,t&&Th(h,new Qo(g)),e=BE(r.a,0);e.b!=e.d.c;)Th(h,new Qo(zh(Yv(e),10)));for(d=l.b,s=new Qe(r.b);s.a0?xp(this,this.f/this.a):null!=bs(t.g,t.d[0]).a&&null!=bs(e.g,e.d[0]).a?xp(this,(ri(bs(t.g,t.d[0]).a)+ri(bs(e.g,e.d[0]).a))/2):null!=bs(t.g,t.d[0]).a?xp(this,bs(t.g,t.d[0]).a):null!=bs(e.g,e.d[0]).a&&xp(this,bs(e.g,e.d[0]).a)}function hO(n,t){var e,r,c,i,a,u,o,f,s,b,h;switch(n.g.e){case 1:if(r=zh(Pj(n,(jT(),Oz)),12),(e=zh(Pj(r,Tz),44))?ei(ri(Ob(Pj(r,Vz))))&&(e=Rj(e)):e=new _r,f=zh(Pj(n,Iz),7),t<=(s=nj(_j(Ni(BA,1),yR,10,0,[f.f.i,f.i,f.a]))).a)return s.b;if(Dv(e,s,e.a,e.a.a),b=zh(Pj(n,Lz),7),(h=nj(_j(Ni(BA,1),yR,10,0,[b.f.i,b.i,b.a]))).a<=t)return h.b;for(Dv(e,h,e.c.b,e.c),a=zh(Yv(o=BE(e,0)),10),u=zh(Yv(o),10);u.a=2)for(Yd(n.a),r=0,h=BE(e,0);h.b!=h.d.c;)b=zh(Yv(h),10),0==r?(t=Yb(Yb(new Za(b.a,b.b),n.c.i),n.c.f.i),n.c.a.a=t.a,n.c.a.b=t.b):r==e.b-1?(t=Yb(Yb(new Za(b.a,b.b),n.d.i),n.d.f.i),n.d.a.a=t.a,n.d.a.b=t.b):Th(n.a,b),++r;if(s)for(o=BE(n.a,0);o.b!=o.d.c;)u=zh(Yv(o),10),a.a=_i(a.a,u.a),a.b=_i(a.b,u.b);for(i=new Qe(n.b);i.a0&&ip(a,fz,(ql(),ql(),tQ)),(u=zh(Pj(a,(HT(),lM)),28))==(NH(),KM)||u!=QM&&r.ib((kG(),OV)),ei(ri(Ob(Pj(a,M_))))&&r.ib((kG(),CV)),ei(ri(Ob(Pj(a,Q_))))&&(r.ib((kG(),NV)),r.ib(GV),ip(a,lM,QM)),a}function dO(n,t){t.V()&&Oh(n.n,!0,!0,!0,!0),t.t((FO(),sD))&&Oh(n.n,!0,!0,!0,!1),t.t(iD)&&Oh(n.n,!1,!0,!0,!0),t.t(kD)&&Oh(n.n,!0,!0,!1,!0),t.t(mD)&&Oh(n.n,!0,!1,!0,!0),t.t(bD)&&Oh(n.n,!1,!0,!0,!1),t.t(aD)&&Oh(n.n,!1,!0,!1,!0),t.t(pD)&&Oh(n.n,!0,!1,!1,!0),t.t(vD)&&Oh(n.n,!0,!1,!0,!1),t.t(dD)&&Oh(n.n,!0,!0,!0,!0),t.t(oD)&&Oh(n.n,!0,!0,!0,!0),t.t(dD)&&Oh(n.n,!0,!0,!0,!0),t.t(uD)&&Oh(n.n,!0,!0,!0,!0),t.t(gD)&&Oh(n.n,!0,!0,!0,!0),t.t(wD)&&Oh(n.n,!0,!0,!0,!0),t.t(lD)&&Oh(n.n,!0,!0,!0,!0)}function gO(n,t){var e,r,c,i,a,u,o,f,s;for(u=!0,c=0,o=n.f[t.k],f=t.j.b+n.n,e=n.c[t.k][2],ck(n.a,o,iS(zh(vl(n.a,o),24).a-1+e)),ck(n.b,o,ri(Tb(vl(n.b,o)))-f+e*n.e),++o>=n.i?(++n.i,Ph(n.a,iS(1)),Ph(n.b,f)):(r=n.c[t.k][1],ck(n.a,o,iS(zh(vl(n.a,o),24).a+1-r)),ck(n.b,o,ri(Tb(vl(n.b,o)))+f-r*n.e)),(n.q==(mL(),I$)&&(zh(vl(n.a,o),24).a>n.j||zh(vl(n.a,o-1),24).a>n.j)||n.q==N$&&(ri(Tb(vl(n.b,o)))>n.k||ri(Tb(vl(n.b,o-1)))>n.k))&&(u=!1),i=Rw(rS(t));bS(i);)a=zh(Og(i),12).c.f,n.f[a.k]==o&&(c+=zh((s=gO(n,a)).a,24).a,u=u&&ei(ri(Ob(s.b))));return n.f[t.k]=o,new Xa(iS(c+=n.c[t.k][0]),(ql(),u?tQ:nQ))}function vO(n,t,e){var r,c,i,a,u,o,f,s,b,h,l,w,d,g,v;if(h=new Qo(n.j),v=t.a/h.a,u=t.b/h.b,d=t.a-h.a,i=t.b-h.b,e)for(c=Ko(Pj(n,(HT(),lM)))===Ko((NH(),VM)),w=new Qe(n.f);w.a=1&&(g-a>0&&b>=0?(o.i.a+=d,o.i.b+=i*a):g-a<0&&s>=0&&(o.i.a+=d*g,o.i.b+=i));n.j.a=t.a,n.j.b=t.b,ip(n,(HT(),yM),($S(),new Zh(r=zh(ea(AD),11),zh(Ow(r,r.length),11),0)))}function kO(n){var t,e,r,c,i,a,u,o,f,s;for(r=new Rt,a=new Qe(n.e.a);a.a-1){for(r=BE(a,0);r.b!=r.d.c;)(e=zh(Yv(r),77)).n=i;for(;0!=a.b;)for(t=new Qe((e=zh(gH(a,0),77)).d);t.a0),i.a.sb(i.c=--i.b),ch(i,e),Lw(o,e),VI(e,u.g),cv(o),cv(o),r.a.eb(e)}}function EO(n){var t,e,r,c,i,a,u,o;for(t=null,r=new Qe(n);r.a0&&0==e.c&&(!t&&(t=new Rt),t.c[t.c.length]=e);if(t)for(;0!=t.c.length;){if((e=zh(Hk(t,0),102)).b&&e.b.c.length>0)for(!e.b&&(e.b=new Rt),i=new Qe(e.b);i.aap(n,e,0))return new Xa(c,e)}else if(ri(bs(c.g,c.d[0]).a)>ri(bs(e.g,e.d[0]).a))return new Xa(c,e);for(u=(!e.e&&(e.e=new Rt),e.e).mb();u.G();)!(a=zh(u.H(),102)).b&&(a.b=new Rt),Gk(0,(o=a.b).c.length),Io(o.c,0,e),a.c==o.c.length&&(t.c[t.c.length]=a)}return null}function HO(n,t){var e,r,c,i,a,u,o,f,s;if(1!=ed(cS(t))||zh(Qg(cS(t)),12).d.f.g!=(KH(),fB))return null;for(fr(e=(i=zh(Qg(cS(t)),12)).d.f,(KH(),aB)),ip(e,(jT(),Iz),null),ip(e,Lz,null),ip(e,(HT(),lM),zh(Pj(t,lM),28)),ip(e,rM,zh(Pj(t,rM),86)),c=Pj(i.c,Oz),a=null,f=RC(e,(FO(),rD)).mb();f.G();)if(0!=(u=zh(f.H(),7)).e.c.length){ip(u,Oz,c),s=i.c,u.j.a=s.j.a,u.j.b=s.j.b,u.a.a=s.a.a,u.a.b=s.a.b,wj(u.c,s.c),s.c.c=Pk(WY,fP,1,0,4,1),a=u;break}if(ip(i.c,Oz,null),!hv(RC(t,rD)))for(o=new Qe(nk(RC(t,rD)));o.a0?c+n.i[1]*t+n.n[1]:0,n.o[3]>0?c+n.i[3]*t+n.n[3]:0),_i(n.o[4]>0?e+n.i[4]*t+n.n[4]:0,n.o[2]>0?e+n.i[2]*t+n.n[2]:0))}(n,n.k);break;case 4:r=new Qo(a);break;case 5:r=function(n,t){var e,r,c,i,a;for(a=new ui,i=new Qe(HH(n));i.a0&&(i.a=_i(i.a,c+n.q.b+n.q.c)),e>0&&(i.b=_i(i.b,e+n.q.d+n.q.a))):(c>0&&(i.a=_i(i.a,c)),e>0&&(i.b=_i(i.b,e)))),function(n,t){n.e.j.a=t.a,n.e.j.b=t.b}(n.e,i)}}function IO(n,t,e){var r,c,i,a,u,o,f,s,b,h,l;if(!n.b)return!1;for(a=null,h=null,c=1,(o=new Xk(null,null)).a[1]=n.b,b=o;b.a[c];)f=c,u=h,h=b,b=b.a[c],c=(r=n.a.$b(t,b.d))<0?0:1,0==r&&(!e.c||Nd(b.e,e.d))&&(a=b),b&&b.b||Ui(b.a[c])||(Ui(b.a[1-c])?h=h.a[f]=Gm(b,c):Ui(b.a[1-c])||(l=h.a[1-f])&&(Ui(l.a[1-f])||Ui(l.a[f])?(i=u.a[1]==h?1:0,Ui(l.a[f])?u.a[i]=iv(h,f):Ui(l.a[1-f])&&(u.a[i]=Gm(h,f)),b.b=u.a[i].b=!0,u.a[i].a[0].b=!1,u.a[i].a[1].b=!1):(h.b=!1,l.b=!0,b.b=!0)));return a&&(e.b=!0,e.d=a.e,b!=a&&(function(n,t,e,r){var c,i;for(c=null==(i=t).d||n.a.$b(e.d,i.d)>0?1:0;i.a[c]!=e;)i=i.a[c],c=n.a.$b(e.d,i.d)>0?1:0;i.a[c]=r,r.b=e.b,r.a[0]=e.a[0],r.a[1]=e.a[1],e.a[0]=null,e.a[1]=null}(n,o,a,s=new Xk(b.d,b.e)),h==a&&(h=s)),h.a[h.a[1]==b?1:0]=b.a[b.a[0]?0:1],--n.c),n.b=o.a[1],n.b&&(n.b.b=!1),e.b}function LO(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w;for(h=new Qe(n);h.a(v=r?zh(Pj(s,RU),24).a:KT)?o:v,p=new Qe(s.f);p.a=f&&j>=g&&(h+=w.i.b+d.i.b+d.a.b-m,++u));if(e)for(a=new Qe(k.b);a.a=f&&j>=g&&(h+=w.i.b+d.i.b+d.a.b-m,++u))}u>0&&(y+=h/u,++l)}l>0?(t.a=c*y/l,t.i=l):(t.a=0,t.i=0)}function TO(n,t){var e;if(n.e)throw new ji(($b($x),"The "+$x.j+BR));if(!function(n,t){return Ks(n.c,t)}(n.a,t))throw new Hc("The direction "+t+" is not supported by the CGraph instance.");if(t==n.d)return n;switch(e=n.d,n.d=t,e.e){case 0:switch(t.e){case 2:Ij(n);break;case 1:lE(n),Ij(n);break;case 4:nC(n),Ij(n);break;case 3:nC(n),lE(n),Ij(n)}break;case 2:switch(t.e){case 1:lE(n),NG(n);break;case 4:nC(n),Ij(n);break;case 3:nC(n),lE(n),Ij(n)}break;case 1:switch(t.e){case 2:lE(n),NG(n);break;case 4:lE(n),nC(n),Ij(n);break;case 3:lE(n),nC(n),lE(n),Ij(n)}break;case 4:switch(t.e){case 2:nC(n),Ij(n);break;case 1:nC(n),lE(n),Ij(n);break;case 3:lE(n),NG(n)}break;case 3:switch(t.e){case 2:lE(n),nC(n),Ij(n);break;case 1:lE(n),nC(n),lE(n),Ij(n);break;case 4:lE(n),NG(n)}}return n}function PO(n,t,e){var r,c,i,a,u,o,f,s;if(!n.a[t.d.k][t.k].e){for(n.a[t.d.k][t.k].e=!0,n.a[t.d.k][t.k].b=0,n.a[t.d.k][t.k].d=0,n.a[t.d.k][t.k].a=null,s=new Qe(t.f);s.a0&&(n.a[t.d.k][t.k].d+=zI(n.e,24)*yY*.07000000029802322-.03500000014901161,n.a[t.d.k][t.k].a=n.a[t.d.k][t.k].d/n.a[t.d.k][t.k].b)}}function RO(n,t){var e,r,c,i,a,u,o,f,s,b;for(r=new Qe(n.a.c);r.aMR||t.k==qU&&f<_R)&&(t.n[s.k]=ri(t.n[s.k])+f));n.e.Jc()}function YO(n,t){var e,r,c,i,a,u,o,f,s,b;!function(n,t){var e,r,c;if(n.n)for(r=0,c=t.length;rg?f:g}for(e.e.b+=f-u.b,b=new Qe(n.a);b.a1;)t=xi(c,n.c),fr(s=new _E(n.e.c),(KH(),aB)),ip(s,(HT(),lM),zh(Pj(o,lM),28)),ip(s,rM,zh(Pj(o,rM),86)),s.k=n.e.b++,Ph(n.b,s),s.j.b=o.j.b,s.j.a=t,Ub(b=new MH,(FO(),rD)),sg(b,o),b.i.a=s.j.a,b.i.b=s.j.b/2,Ub(h=new MH,SD),sg(h,s),h.i.b=s.j.b/2,h.i.a=-h.j.a,lg(l=new Dd,b),hg(l,h),o=s,Ph(n.e.c.b,o),--f,c-=n.c+n.e.d;for(new OH(n.d,n.b,n.c),a=new Qe(r);a.at.a||t.p>n.a)){for(e=0,r=0,u=new $e(new Be(n.o.a).a.bb().mb());u.a.G();)c=zh(u.a.H(),21),i=zh(c.yb(),7),pS(nj(_j(Ni(BA,1),yR,10,0,[i.f.i,i.i,i.a])).b,t.p,t.a)&&++e;for(o=new $e(new Be(n.g.a).a.bb().mb());o.a.G();)c=zh(o.a.H(),21),i=zh(c.yb(),7),pS(nj(_j(Ni(BA,1),yR,10,0,[i.f.i,i.i,i.a])).b,t.p,t.a)&&--e;for(f=new $e(new Be(t.o.a).a.bb().mb());f.a.G();)c=zh(f.a.H(),21),i=zh(c.yb(),7),pS(nj(_j(Ni(BA,1),yR,10,0,[i.f.i,i.i,i.a])).b,n.p,n.a)&&++r;for(a=new $e(new Be(t.g.a).a.bb().mb());a.a.G();)c=zh(a.a.H(),21),i=zh(c.yb(),7),pS(nj(_j(Ni(BA,1),yR,10,0,[i.f.i,i.i,i.a])).b,n.p,n.a)&&--r;e1)for(o=BE(Fh(RC(t,SD)),0);o.b!=o.d.c;)0==(u=zh(Yv(o),7)).b.c.length?(Ub(c=new MH,SD),c.j.a=u.j.a,c.j.b=u.j.b,sg(c,r),ip(c,Oz,Pj(u,Oz)),sg(u,null)):sg(a,r);return ip(t,Oz,null),ip(t,cz,nQ),fr(t,aB),ip(r,(HT(),lM),zh(Pj(t,lM),28)),ip(r,rM,zh(Pj(t,rM),86)),Rl(n.b,0,r),r}function $O(n,t,e,r,c,i,a){var u,o,f,s,b,h;switch(b=e,fr(f=new _E(a),(KH(),uB)),ip(f,(jT(),pz),c),ip(f,(HT(),lM),(NH(),VM)),ip(f,Nz,zh(Pj(n,iM),15)),!(o=zh(Pj(n,hM),10))&&(o=new Za(c.a/2,c.b/2)),ip(f,hM,o),sg(s=new MH,f),t!=QM&&t!=KM||(u=i!=(Py(),e_)?i:t_,b=r>0?yS(u):Cy(yS(u)),ip(n,gM,b)),b.e){case 4:ip(f,(yT(),Cq),(iH(),tq)),ip(f,wz,(Vj(),oV)),f.j.b=c.b,Ub(s,(FO(),rD)),s.i.b=o.b;break;case 2:ip(f,(yT(),Cq),(iH(),rq)),ip(f,wz,(Vj(),aV)),f.j.b=c.b,Ub(s,(FO(),SD)),s.i.b=o.b;break;case 1:ip(f,Sz,(zp(),QV)),f.j.a=c.a,Ub(s,(FO(),jD)),s.i.a=o.a;break;case 3:ip(f,Sz,(zp(),zV)),f.j.a=c.a,Ub(s,(FO(),cD)),s.i.a=o.a}if(t==FM||t==zM||t==VM){switch(h=0,b.e){case 4:case 2:case 1:case 3:h=null.cd,t==zM&&(h/=null.cd)}ip(f,Dz,h)}return ip(f,kz,b),f}function UO(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p;for(f=new _r,Es(),yd(v=new jr,n,rC(n)),Yp(2,MP),r=new vp(2),n.c&&Ph(r,n.c),n.d&&Ph(r,n.d),l=new Qe(r);l.a1&&Dv(f,w,f.c.b,f.c),$p(e)));w=d}return f}function FO(){var n;FO=e,yD=new gu(fR,0),cD=new gu("NORTH",1),rD=new gu("EAST",2),jD=new gu("SOUTH",3),SD=new gu("WEST",4),Vd(),fD=new Ki(new Zh(n=zh(ea(ND),11),zh(Ow(n,n.length),11),0)),sD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[]))),iD=Ky(ew(rD,_j(Ni(ND,1),bP,32,0,[]))),kD=Ky(ew(jD,_j(Ni(ND,1),bP,32,0,[]))),mD=Ky(ew(SD,_j(Ni(ND,1),bP,32,0,[]))),dD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[jD]))),oD=Ky(ew(rD,_j(Ni(ND,1),bP,32,0,[SD]))),vD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[SD]))),bD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[rD]))),pD=Ky(ew(jD,_j(Ni(ND,1),bP,32,0,[SD]))),aD=Ky(ew(rD,_j(Ni(ND,1),bP,32,0,[jD]))),wD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[rD,SD]))),uD=Ky(ew(rD,_j(Ni(ND,1),bP,32,0,[jD,SD]))),gD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[jD,SD]))),hD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[rD,jD]))),lD=Ky(ew(cD,_j(Ni(ND,1),bP,32,0,[rD,jD,SD])))}function VO(n,t,e){var r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m;if(ip(s=new Qp,px,t),yd(n.e,t,s),ip(s,(jT(),Az),e),n.d&&CC(n.d,s,!1),AH(t,s),LR in t.a&&(g=s.a,v=zh(Od(t,LR),69),(d=zh(Od(v,"left"),104))&&(g.b=d.a),(p=zh(Od(v,"top"),104))&&(g.d=p.a),(k=zh(Od(v,"right"),104))&&(g.c=k.a),(c=zh(Od(v,vR),104))&&(g.a=c.a)),b=new Zh(r=zh(ea(FV),11),zh(Ow(r,r.length),11),0),ip(s,mz,b),null==n.g&&(n.g=Ob(Pj(s,(Qd(),Nx)))),GR in t.a){if(!(m=Od(t,GR)).hc())throw new Sw("The 'children' property of nodes must be an array.",m,t);if((f=m.hc()).a.length>0){for(e&&ip(e,Gz,s),u=Pk(hB,NR,9,f.a.length,0,1),l=0;l1)for(Ph(i,new eO(l,k,e)),b=new $e(new Be(k.a).a.bb().mb());b.a.G();)f=zh(b.a.H(),21),zk(c,zh(f.yb(),27).b);if(a.a.Y()>1)for(Ph(i,new eO(l,a,e)),b=new $e(new Be(a.a).a.bb().mb());b.a.G();)f=zh(b.a.H(),21),zk(c,zh(f.yb(),27).b)}}function KO(n,t){var e,r,c,i,a,u,o,f,s;switch(Iv(i=nk(Qh(t,new tl(n))),new Zn),(c=n.b).c){case 2:Gw(t,new aI(r=kL(n,a=km(e=Mf(Qh(i,new je(c.a))))?zh(Rk(e),91).b:15,km(e=Mf(Qh(i,new je(zE(c)))))?zh(Rk(e),91).b:15,km(e=Mf(Qh(i,new je(c.b))))?zh(Rk(e),91).b:15),n.c,n.e,n.a.c.f,c.a)),Gw(t,new aI(r,n.c,n.e,n.a.c.f,zE(c))),Gw(t,new aI(r,n.c,n.e,n.a.c.f,c.b));break;case 1:Gw(t,new aI(r=fL(n,a=km(e=Mf(Qh(i,new je(c.a))))?zh(Rk(e),91).b:15,km(e=Mf(Qh(i,new je(c.b))))?zh(Rk(e),91).b:15),n.c,n.e,n.a.c.f,c.a)),Gw(t,new aI(r,n.c,n.e,n.a.c.f,c.b));break;case 0:a=km(e=Mf(Qh(i,new je(c.a))))?zh(Rk(e),91).b:15,u=n.b,o=function(n,t,e){var r,c,i,a,u,o,f,s,b;return r=wH(n.g),f=Rb(yf(n.i),n.a),s=Rb(yf(t.i),t.a),c=Rb(new Qo(f),os(new yw(r),e)),b=Rb(new Qo(s),os(new yw(r),e)),a=os(Yb(new Qo(c),b),.5),o=Rb(Rb(new Qo(b),a),os(new yw(r),Po(a.a*a.a+a.b*a.b))),i=aC(u=new ld(_j(Ni(BA,1),yR,10,0,[f,c,o,b,s])),.5,!1),u.a=i,sr(u,new QC(_j(Ni(BA,1),yR,10,0,[i,f,s]))),u}(n.a.c,n.a.d,a),Em(n.a.a,qS(o)),f=mC(n.a.b,o.a,u),eg(s=new Bv((!o.k&&(o.k=new PC(Hm(o))),o.k))),Gw(t,new aI(r=f?Jw(s,f):s,n.c,n.e,n.a.c.f,c.a));break;default:throw new ii("The loopside must be defined.")}return r}function WO(n,t,e){var r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m;for(a=new Qe(n.a.c);a.a0)if(r=s.Y(),o=Eg(Math.floor((r+1)/2))-1,c=Eg(Math.ceil((r+1)/2))-1,t.k==QU)for(f=c;f>=o;f--)t.a[p.k]==p&&(w=zh(s.sb(f),27),l=zh(w.a,9),!ya(e,w.b)&&h>n.b.e[l.k]&&(t.a[l.k]=p,t.f[p.k]=t.f[l.k],t.a[p.k]=t.f[p.k],h=n.b.e[l.k]));else for(f=o;f<=c;f++)t.a[p.k]==p&&(g=zh(s.sb(f),27),d=zh(g.a,9),!ya(e,g.b)&&h0||e.k==QU&&cg?l:g):e.n[t.k]=r>(l>g?l:g)?r:l>g?l:g)):(d=n.d.f,w=Im(n,e.i[t.k]),h=Im(n,e.i[b.k]),e.k==QU?Wg(w,h,ri(e.n[t.k])+ri(e.d[a.k])+a.j.b+a.e.a+d-(ri(e.n[b.k])+ri(e.d[f.k])-f.e.d)):Wg(w,h,ri(e.n[t.k])+ri(e.d[a.k])-a.e.d-ri(e.n[b.k])-ri(e.d[f.k])-f.j.b-f.e.a-d))):g=n.e.Ic(g,t,a),a=e.a[a.k]}while(a!=t);!function(n,t){Gw(n.b,t)}(n.e,t)}}function eT(n,t,e,r){var c,i,a,u,o,f,s,b,h,l,w,d,g,v;if(h=!1,b=!1,Uu(zh(Pj(r,(HT(),lM)),28))){a=!1,u=!1;n:for(w=new Qe(r.f);w.a=r.j.b/2}v?(g=zh(Pj(r,(jT(),Xz)),20))?h?i=g:(c=zh(Pj(r,uz),20))?i=g.Y()<=c.Y()?g:c:(i=new Rt,ip(r,uz,i)):(i=new Rt,ip(r,Xz,i)):(c=zh(Pj(r,(jT(),uz)),20))?b?i=c:(g=zh(Pj(r,Xz),20))?i=c.Y()<=g.Y()?c:g:(i=new Rt,ip(r,Xz,i)):(i=new Rt,ip(r,uz,i)),i.ib(n),ip(n,(jT(),oz),e),t.d==e?(hg(t,null),e.b.c.length+e.e.c.length==0&&sg(e,null)):(lg(t,null),e.b.c.length+e.e.c.length==0&&sg(e,null)),Yd(t.a)}function rT(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k;for((e=new AE(t)).a||function(n){var t,e,r,c,i;switch(c=zh(vl(n.b,0),9),t=new _E(n),Ph(n.b,t),t.j.a=_i(1,c.j.a),t.j.b=_i(1,c.j.b),t.i.a=c.i.a,t.i.b=c.i.b,zh(Pj(c,(jT(),kz)),32).e){case 4:t.i.a+=2;break;case 1:t.i.b+=2;break;case 2:t.i.a-=2;break;case 3:t.i.b-=2}sg(r=new MH,t),lg(e=new Dd,i=zh(vl(c.f,0),7)),hg(e,r),Rb(No(r.i),i.i),Rb(No(r.a),i.a)}(t),f=function(n){var t,e,r,c,i,a,u;for(u=new Tv,a=new Qe(n.b);a.a=u.b.c)&&(u.b=t),(!u.c||t.c<=u.c.c)&&(u.d=u.c,u.c=t),(!u.e||t.d>=u.e.d)&&(u.e=t),(!u.f||t.d<=u.f.d)&&(u.f=t);return r=new yE((zm(),Fx)),_v(n,Zx,new Ke(_j(Ni(Ux,1),fP,160,0,[r]))),a=new yE(qx),_v(n,Jx,new Ke(_j(Ni(Ux,1),fP,160,0,[a]))),c=new yE(Vx),_v(n,Wx,new Ke(_j(Ni(Ux,1),fP,160,0,[c]))),i=new yE(zx),_v(n,Kx,new Ke(_j(Ni(Ux,1),fP,160,0,[i]))),CL(r.c,Fx),CL(c.c,Vx),CL(i.c,zx),CL(a.c,qx),u.a.c=Pk(WY,fP,1,0,4,1),wj(u.a,r.c),wj(u.a,Mm(c.c)),wj(u.a,i.c),wj(u.a,Mm(a.c)),u}(f)),e}function cT(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S,E,H,C;return b=function(n,t){var e,r,c,i,a,u,o,f,s,b,h;if(n.V())return new ui;for(o=0,s=0,r=n.mb();r.G();)o=_i(o,(c=zh(r.H(),55).e).a),s+=c.a*c.b;for(o=_i(o,Math.sqrt(s)*zh(Pj(zh(n.mb().H(),55),(jT(),nz)),15).a),b=0,h=0,u=0,e=t,a=n.mb();a.G();)b+(f=(i=zh(a.H(),55)).e).a>o&&(b=0,h+=u+t,u=0),HG(i,b,h),e=_i(e,b+f.a),u=_i(u,f.b),b+=f.a+t;return new Za(e+t,h+u+t)}(ws(n,(FO(),fD)),t),w=$E(ws(n,sD),t),m=$E(ws(n,kD),t),E=UE(ws(n,mD),t),h=UE(ws(n,iD),t),k=$E(ws(n,vD),t),d=$E(ws(n,bD),t),y=$E(ws(n,pD),t),j=$E(ws(n,aD),t),H=UE(ws(n,oD),t),v=$E(ws(n,dD),t),p=$E(ws(n,wD),t),S=$E(ws(n,uD),t),C=UE(ws(n,gD),t),l=UE(ws(n,hD),t),g=$E(ws(n,lD),t),e=Np(_j(Ni(RQ,1),ZT,26,12,[k.a,E.a,y.a,C.a])),r=Np(_j(Ni(RQ,1),ZT,26,12,[w.a,b.a,m.a,g.a])),c=v.a,i=Np(_j(Ni(RQ,1),ZT,26,12,[d.a,h.a,j.a,l.a])),f=Np(_j(Ni(RQ,1),ZT,26,12,[k.b,w.b,d.b,p.b])),o=Np(_j(Ni(RQ,1),ZT,26,12,[E.b,b.b,h.b,g.b])),s=H.b,u=Np(_j(Ni(RQ,1),ZT,26,12,[y.b,m.b,j.b,S.b])),Sk(ws(n,fD),e+c,f+s),Sk(ws(n,lD),e+c,f+s),Sk(ws(n,sD),e+c,0),Sk(ws(n,kD),e+c,f+s+o),Sk(ws(n,mD),0,f+s),Sk(ws(n,iD),e+c+r,f+s),Sk(ws(n,bD),e+c+r,0),Sk(ws(n,pD),0,f+s+o),Sk(ws(n,aD),e+c+r,f+s+o),Sk(ws(n,oD),0,f),Sk(ws(n,dD),e,0),Sk(ws(n,uD),0,f+s+o),Sk(ws(n,hD),e+c+r,0),(a=new ui).a=Np(_j(Ni(RQ,1),ZT,26,12,[e+r+c+i,H.a,p.a,S.a])),a.b=Np(_j(Ni(RQ,1),ZT,26,12,[f+o+s+u,v.b,C.b,l.b])),a}function iT(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d;if(r=new _r,f=null,(l=(w=n.c).f.g)!=(KH(),sB)&&l!=bB)throw new ii("The target node of the edge must be a normal node or a northSouthPort.");for(l==bB&&(h=zh(Pj(w,(jT(),Oz)),7),f=new Za(nj(_j(Ni(BA,1),yR,10,0,[h.f.i,h.i,h.a])).a,nj(_j(Ni(BA,1),yR,10,0,[w.f.i,w.i,w.a])).b),w=h),au(r,nj(_j(Ni(BA,1),yR,10,0,[w.f.i,w.i,w.a]))),a=_i(5,DS(w.f,w.g)),(b=new yw(wH(w.g))).a*=a,b.b*=a,Th(r,Rb(b,nj(_j(Ni(BA,1),yR,10,0,[w.f.i,w.i,w.a])))),f&&Dv(r,f,r.c.b,r.c),i=n,o=n,u=null,e=!1;i;)0!=(c=i.a).b&&(e?(Th(r,os(Rb(u,(Pf(0!=c.b),zh(c.a.a.c,10))),.5)),e=!1):e=!0,u=yf((Pf(0!=c.b),zh(c.c.b.c,10))),Em(r,c),Yd(c)),o=i,i=zh(Wo(kg(t.d,i)),12);(d=o.d).f.g==bB&&(h=zh(Pj(d,(jT(),Oz)),7),Th(r,new Za(nj(_j(Ni(BA,1),yR,10,0,[h.f.i,h.i,h.a])).a,nj(_j(Ni(BA,1),yR,10,0,[d.f.i,d.i,d.a])).b)),d=h),a=_i(5,DS(d.f,d.g)),os(b=new yw(wH(d.g)),a),Th(r,Rb(b,nj(_j(Ni(BA,1),yR,10,0,[d.f.i,d.i,d.a])))),au(r,nj(_j(Ni(BA,1),yR,10,0,[d.f.i,d.i,d.a]))),s=new jN(r),Em(n.a,qS(s))}function aT(n){var t,e,r,c,i,a,u,o,f,s,h,l,w,d;if(Ko(Pj(n.c,(HT(),lM)))===Ko((NH(),zM))||Ko(Pj(n.c,lM))===Ko(VM))for(s=new Qe(n.c.f);s.a1&&(a=xi(a,Ha(zh(kE(u.a,1),10).b-s.b)))));else for(w=new Qe(t.f);w.ac&&(i=h.a-c,a=UT,r.c=Pk(WY,fP,1,0,4,1),c=h.a),h.a>=c&&(r.c[r.c.length]=u,u.a.b>1&&(a=xi(a,Ha(zh(kE(u.a,u.a.b-2),10).b-h.b)))));if(0!=r.c.length&&i>t.j.a/2&&a>t.j.b/2){for(sg(l=new MH,t),Ub(l,(FO(),cD)),l.i.a=t.j.a/2,sg(d=new MH,t),Ub(d,jD),d.i.a=t.j.a/2,d.i.b=t.j.b,o=new Qe(r);o.a=f.b?lg(u,d):lg(u,l)):(f=zh(Sh(u.a),10),(0==u.a.b?$g(u.c):zh($s(u.a),10)).b>=f.b?hg(u,d):hg(u,l)),(b=zh(Pj(u,(HT(),W_)),44))&&OS(b,f,!0);t.i.a=c-t.j.a/2}}function oT(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p;for(v=new Rt,k=new Rt,p=new Rt,i=new Qe(t);i.a50?v.c[v.c.length]=c:c.k>0?k.c[k.c.length]=c:p.c[p.c.length]=c;if(1==k.c.length&&0==v.c.length&&(wj(v,k),k.c=Pk(WY,fP,1,0,4,1)),0!=v.c.length&&Ks(uf(n.a),(JO(),yF))&&Ks(uf(n.a),(JO(),EF))?function(n,t){var e,r,c;for(r=new Qe(t);r.a1&&(IC(c,d=zh(Ap(o),60),!0),ww(s),ug(n.a,d))}for(h=p.c.length,r=function(n){var t,e,r,c;switch(of(n.a).c){case 4:return JO(),EF;case 3:return zh(av(n.a).mb().H(),60);case 2:return t=zh(ik(e=new Fu(r=of(n.a))),60),c=zh(ik(e),60),PL(t)==c?Ks(r,(JO(),EF))?kF:EF:TL(TL(t))==c?TL(t):RL(t);case 1:return PL(zh(ik(new Fu(r=of(n.a))),60));case 0:return JO(),HF;default:return null}}(n),l=new Rt,a=h/af(n.a).c|0,u=0;u3&&(wj(l,(JO(),JO(),gF)),w-=4),w){case 3:Ph(l,PL(r));case 2:g=TL(PL(r));do{g=TL(g)}while(!Ks(uf(n.a),g));l.c[l.c.length]=g,g=RL(PL(r));do{g=RL(g)}while(!Ks(uf(n.a),g));l.c[l.c.length]=g;break;case 1:Ph(l,PL(r))}for(b=new Qe(l),f=new Qe(p);b.a0,g=p.e.c.length>0,f&&g?h.c[h.c.length]=p:f?w.c[w.c.length]=p:g&&(k.c[k.c.length]=p);for(l=new Qe(w);l.a=d&&(p>d&&(w.c=Pk(WY,fP,1,0,4,1),d=p),w.c[w.c.length]=a);0!=w.c.length&&(l=zh(vl(w,oH(t,w.c.length)),77),L.a.eb(l),l.i=g++,EL(l,C,S),w.c=Pk(WY,fP,1,0,4,1))}for(j=n.c.length+1,u=new Qe(n);u.aI.i&&(bd(e),zk(I.d,r),r.c>0&&(r.a=I,Ph(I.j,r),r.b=E,Ph(E.d,r)))}function lT(n){switch(n.e){case 14:return new q;case 37:return new K;case 8:return new Kc;case 30:return new Wc;case 38:return new J;case 3:return new Z;case 47:case 1:return new we((Fj(),EB));case 4:return new X;case 49:return new nn;case 23:return new nt;case 13:return new tn;case 34:return new rn;case 40:return new cn;case 35:return new on;case 44:return new zf;case 28:return new fn;case 39:return new sn;case 27:return new bn;case 6:return new hn;case 31:return new gn;case 9:return new St;case 43:return new kn;case 17:return new pn;case 18:return new yn;case 29:return new Et;case 11:return new Nn;case 12:return new En;case 36:return new Hn;case 46:case 0:return new we((Fj(),SB));case 41:return new In;case 15:return new Ln;case 33:return new Gn;case 42:return new Tn;case 22:return new Pn;case 19:return new dn;case 10:return new Cn;case 7:return new Yn;case 24:return new An;case 21:return new _n;case 16:return new Dn;case 45:return new xn;case 26:return new Bn;case 20:return new $n;case 25:return new Un;case 5:return new Wn;case 32:return new Jn;case 48:case 2:return new we((Fj(),yB));default:throw new ii("No implementation is available for the layout processor "+(null!=n.d?n.d:""+n.e))}}function wT(n,t,e){var r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S,E,H,C,I,L,G;for(I=0,i=0,s=t[0].d,S=e[0].d,l=0,d=e.length;l0;){for(Pf(y.b>0),j=0,c=new Qe((p=zh(y.a.sb(y.c=--y.b),7)).b);c.a0&&(p.g==(FO(),cD)?(n.a[p.k]=I,++I):(n.a[p.k]=I+v+k,++k),i+=j)}I+=k}else{for(g=0,m=new Qe(b.f);m.a0&&(++I,i+=g)}for(E=Pk(OQ,BP,26,i,12,1),u=0,h=0,w=t.length;h0;)o%2>0&&(r+=L[o+1]),++L[o=(o-1)/2|0];return r}function dT(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S,E,H,C,I,L,G,N;for(ZS(t,"Compound graph postprocessor",1),e=ei(ri(Ob(Pj(n,(yT(),bq))))),u=zh(Pj(n,(jT(),hz)),144),b=new Jc,y=u.W().mb();y.G();){for(j=zh(y.H(),12),Iv(a=new dh(u.U(j)),new ie(n)),C=vm((Nk(0,a.c.length),zh(a.c[0],114))),L=gm(zh(vl(a,a.c.length-1),114)),Yd(j.a),E=C.f,S=qy(L.f,E)?zh(Pj(E,Gz),55):Xw(E),w=zh(Pj(j,(HT(),W_)),44),Nl(a,rB)?w?Yd(w):(w=new _r,ip(j,W_,w)):w&&ip(j,W_,null),g=null,i=new Qe(a);i.aQR,N=Ha(g.b-p.b)>QR,(!e&&G&&N||e&&(G||N))&&Th(j.a,H)),Em(j.a,r),0==r.b?g=H:(Pf(0!=r.b),g=zh(r.c.b.c,10)),(k=zh(Pj(v,W_),44))&&(Zj(l=new _r,0,k),Um(l,m),Em(w,l)),gm(c)==L&&(Xw(L.f)!=c.a&&qI(m=new ui,Xw(L.f),S),ip(j,Zz,m)),d=new tv(v.b,0);d.b(C=zh(Pj(e,(jT(),Bz)),24).a)?b:C;for(r=new Qe(E.e);r.a(C=zh(Pj(e,(jT(),Bz)),24).a)?S:C}ip(p,PU,iS(b)),ip(p,RU,iS(S))}for(g=0,h=new Qe(t.c);h.a=0){for(o=null,u=new tv(s.a,f+1);u.b1){j=Pk(cQ,AT,15,n.a.length,0,1),f=Ts(n.a.length),w=0,l=0,e=2*t.d.a.c.length+1;n:for(m=new Qe(t.f);m.a0?(j[p.k]=new Me(C/(p.b.c.length+p.e.c.length)),w=Bi(w,j[p.k].a),l=Mi(l,j[p.k].a)):g&&(j[p.k]=new Me(C))}for(d=(t.d?ap(t.d.a,t,0):-1)+1,h=t.d.a.c.length+1,o=new Qe(f);o.ae&&d.a.db(p,d);for(L=new Jc,g=new Jc,j=new $e(new Be(I.a).a.bb().mb());j.a.G();)for(h=zh(j.a.H(),21),p=zh(h.yb(),9),a=1==t?cS(p):rS(p),Kf(),f=new Af(Df(Kh(a.a,new b)));bS(f);)o=zh(Og(f),12),Oo(p.d)!=Oo(o.d.f.d)&&Gw(L,o.d.f);for(y=new $e(new Be(d.a).a.bb().mb());y.a.G();)for(h=zh(y.a.H(),21),p=zh(h.yb(),9),a=1==t?cS(p):rS(p),Kf(),f=new Af(Df(Kh(a.a,new b)));bS(f);)o=zh(Og(f),12),Oo(p.d)!=Oo(o.d.f.d)&&Gw(g,o.d.f);for(jB&&Ah(),H=zh(vl(n.d.c.c,r+(1==t?1:-1)),16),v=KT,k=UT,l=0;ll?v:l:g.a.R(p)&&(k=k1||ed(vf(new lv(Wy(_j(Ni(WY,1),fP,1,4,[k.b,k.e])))))>1)&&c.ib((kG(),GV)),Ko(Pj(w,(yT(),dq)))===Ko((gv(),pU))&&!(ER in t.a)){e=new _r;try{for(u=Od(t,ER).hc(),i=0;i0&&(n.a[D.k]=Q++)}else{for(P=0,x=new Qe(C.f);x.a0&&++Q}for(X=0,G=0,T=e.length;G0;){for(Pf(U.b>0),$=0,u=new Qe((D=zh(U.a.sb(U.c=--U.b),7)).b);u.a0&&(D.g==(FO(),cD)?(n.a[D.k]=X,++X):(n.a[D.k]=X+R+A,++A))}X+=A}else{for(P=0,x=new Qe(C.f);x.a0&&++X}for(Es(),B=new jr,l=new Rf,I=0,N=t.length;If.b&&(f.b=F)):D.f.d==q&&(Ff.c&&(f.c=F));for(nH(w,0,w.length,(Xu(),Xu(),wQ)),Z=Pk(OQ,BP,26,w.length,12,1),r=Pk(OQ,BP,26,X+1,12,1),g=0;g0;)y%2>0&&(c+=en[y+1]),++en[y=(y-1)/2|0];for(E=Pk(GU,fP,156,2*w.length,0,1),p=0;p0&&(45==n.charCodeAt(0)||43==n.charCodeAt(0))?1:0;tUT)throw new Qi(QT+n+'"');return c}((cc(),""+e.jc().a))),void ip(n,h,d)}catch(n){throw ds(n=ly(n),130)?new xc("Invalid integer format for property '"+t+PR+e+")."):zy(n)}else{if(zh(jx.a,18).kb(t)){if(!e.ic())throw new xc(TR+t+PR+e+").");return h=zh(zh(jx.b,57).cb(t),79),ql(),void ip(n,h,d=e.ic().a?tQ:nQ)}if(zh(Ex.a,18).kb(t)){if(!e.jc())throw new xc("Invalid float format for property '"+t+PR+e+").");return void ip(n,h=zh(zh(Ex.b,57).cb(t),79),d=new _e(e.jc().a))}if(zh(Sx.a,18).kb(t)){if(!e.lc())throw new xc(RR+t+PR+e+").");f=e.lc().a,s=null;try{ky((HT(),gM),t)?(FO(),s=zh(Ey((pk(),HD),f),32)):ky(P_,t)?(SE(),s=zh(Ey((xk(),ZA),f),103)):ky(x_,t)?(Py(),s=zh(Ey((kk(),i_),f),59)):ky($_,t)?(Ry(),s=zh(Ey((Kv(),v_),f),122)):ky(q_,t)?(Yy(),s=zh(Ey((Hv(),N_),f),166)):ky(uM,t)||ky(oM,t)||ky(fM,t)||ky(sM,t)||ky(bM,t)?(BS(),s=zh(Ey((mk(),UM),f),100)):ky(lM,t)?(NH(),s=zh(Ey(($k(),JM),f),28)):ky(dM,t)?(Vp(),s=zh(Ey((Ev(),eD),f),149)):ky(U_,t)?(QH(),s=zh(Ey((Bk(),H_),f),133)):ky(B_,t)?(qm(),s=zh(Ey((Qv(),b_),f),107)):ky((yT(),gq),t)?(qd(),s=zh(Ey((Ug(),rU),f),193)):ky(Nq,t)?(jp(),s=zh(Ey((Cv(),sU),f),173)):ky(pq,t)?(TH(),s=zh(Ey((Hp(),gV),f),115)):ky(hq,t)?(qp(),s=zh(Ey((Zv(),nF),f),194)):ky(dq,t)?(gv(),s=zh(Ey((Vg(),jU),f),192)):ky(Tq,t)?(mL(),s=zh(Ey((Sp(),R$),f),109)):ky(Oq,t)?(cH(),s=zh(Ey((Ep(),$U),f),141)):ky(Aq,t)?(LC(),s=zh(Ey((Uk(),q$),f),125)):ky(_q,t)?(Pv(),s=zh(Ey((Fg(),D$),f),175)):ky(Sq,t)?(zH(),s=zh(Ey((fm(),EV),f),124)):ky(Eq,t)?(QN(),s=zh(Ey((Km(),VV),f),110)):ky(Cq,t)?(iH(),s=zh(Ey((Cp(),aq),f),85)):ky(xq,t)?(FS(),s=zh(Ey((Mk(),qq),f),153)):ky($q,t)?(Qm(),s=zh(Ey((Dk(),Zq),f),172)):ky(Hq,t)&&(wv(),s=zh(Ey((Xv(),XV),f),174))}catch(n){throw ds(n=ly(n),54)?new xc(RR+t+PR+e+")."):zy(n)}return void ip(n,h=zh(zh(Sx.b,57).cb(t),79),s)}if(zh(yx.a,18).kb(t)){if(!e.lc())throw new xc(RR+t+PR+e+").");for(l=null,a=0,u=(o=uN(e.lc().a,"[\\[\\]\\s,]+")).length;a0&&Oj(t.charCodeAt(e-1),JP);)--e;if(r>=e)throw new ii("The given string does not contain any numbers.");if(2!=(c=uN(t.substr(r,e-r),",|;|\r|\n")).length)throw new ii("Exactly two numbers are expected, "+c.length+" were found.");try{n.a=VH(LH(c[0])),n.b=VH(LH(c[1]))}catch(n){throw ds(n=ly(n),130)?new ii(ZP+n):zy(n)}}(w=new ui,e.lc().a),void ip(n,h=zh(zh(Ix.b,57).cb(t),79),w)}catch(n){throw ds(n=ly(n),29)?new xc("Invalid KVector format for property '"+t+"' "+e+"."):zy(n)}else if(ky(A_,t)||ky(W_,t))try{return function(n,t){var e,r,c,i,a;r=uN(t,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),Yd(n);try{for(e=0,i=0,c=0,a=0;e0&&(i%2==0?c=VH(r[e]):a=VH(r[e]),i>0&&i%2!=0&&Th(n,new Za(c,a)),++i),++e}catch(n){throw ds(n=ly(n),130)?new ii("The given string does not match the expected format for vectors."+n):zy(n)}}(g=new _r,e.lc().a),void ip(n,h=zh(zh(Ix.b,57).cb(t),79),g)}catch(n){throw ds(n=ly(n),29)?new xc("Invalid KVectorChain format for property '"+t+"' "+e+"."):zy(n)}else if(ky(nM,t)||ky(O_,t))try{return function(n,t){var e,r,c,i,a,u,o,f;for(i=0;i<(cc(),t.length)&&Tj(t.charCodeAt(i),WP);)++i;for(e=t.length;e>0&&Tj(t.charCodeAt(e-1),JP);)--e;if(i1?_g(this,n-1):this,t},IT.Pc=function(){return $b(this),this.b},IT.Qc=function(){return na(this)},IT.Rc=function(){return ta(this)},IT.Sc=function(){return 0!=(4&this.g)},IT.Tc=function(){return 0!=(1&this.g)},IT.w=function(){return(0!=(2&this.g)?"interface ":0!=(1&this.g)?"":"class ")+($b(this),this.n)},IT.g=0;var KY;lL(119,72,{3:1,119:1,54:1,46:1},$r),lL(29,72,qT,Ur,ii),lL(95,72,MT,Fr,ci),lL(231,1,{3:1,231:1}),lL(24,231,{3:1,23:1,24:1,231:1},Ne),IT.F=function(n){return function(n,t){return Bf(n.a,t.a)}(this,zh(n,24))},IT.t=function(n){return ds(n,24)&&zh(n,24).a==this.a},IT.v=function(){return this.a},IT.w=function(){return aa(this.a)},IT.a=0,RT={3:1,345:1,23:1,2:1},lL(350,1,WT,ct),IT.$b=function(n,t){return function(n,t){return Id((cc(),n.toLowerCase()),t.toLowerCase())}(Pb(n),Pb(t))},lL(257,95,MT,(function(n){ci.call(this,n)})),lL(145,1,{23:1,145:1}),IT.F=function(n){return pf(this,zh(n,145))},IT.t=function(n){var t;return n===this||!!ds(n,145)&&(t=zh(n,145),Rc(this.a,t.a))},IT.v=function(){return EE(this.a)},IT.w=function(){return this.a},lL(358,29,qT,(function(n){ii.call(this,(cc(),null==n?DT:n))})),lL(256,29,{3:1,54:1,29:1,46:1,256:1},(function(n){ii.call(this,(cc(),null==n?DT:n))})),lL(185,145,JT),lL(289,185,JT,qi),IT.Zc=function(n,t,e){var r,c;for(r=Pk(PQ,ZT,26,e,12,1),c=0;ce)throw new ci(XT)}for(a=Pk(PQ,ZT,26,i,12,1),s=0,u=0,o=0;o0;){if(128!=(192&(r=n[t+o++])))throw new ii("Invalid UTF8 sequence at "+(t+o-1)+", byte="+(r>>>0).toString(16));c=c<<6|63&r}s+=sH(c,a,s)}return a};var WY=Bw(tP,"Object",1),JY=Bw(tP,"Throwable",46),ZY=(Bw(tP,"Exception",54),Bw(tP,"RuntimeException",72),Bw(eP,"JavaScriptException",164),Bw(rP,"StackTraceCreator/Collector",642),Bw(rP,"StackTraceCreator/CollectorLegacy",356),Bw(rP,"StackTraceCreator/CollectorModern",643),Bw(rP,"StackTraceCreator/CollectorModernNoSourceMap",357),Bw(cP,"IOException",181),Bw(cP,"UnsupportedEncodingException",351),Bw(tP,"Class",288),Bw(tP,"ClassCastException",119),Bw(tP,"IllegalArgumentException",29),Bw(tP,"IndexOutOfBoundsException",95),Bw(tP,"Number",231),Bw(tP,"Integer",24)),XY=Bw(tP,"String",2);Bw(tP,"String/1",350),Bw(tP,"StringIndexOutOfBoundsException",257),Bw(iP,"Charset",145),Bw(iP,"IllegalCharsetNameException",358),Bw(iP,"UnsupportedCharsetException",256),Bw(aP,"EmulatedCharset",185),Bw(aP,"EmulatedCharset/LatinCharset",289),Bw(aP,"EmulatedCharset/UtfCharset",355);lL(669,1,{3:1});var nA;Bw(uP,"Optional",669);lL(601,669,{3:1},c),IT.t=function(n){return n===this},IT.v=function(){return 2040732332},IT.w=function(){return"Optional.absent()"},IT.A=function(n){return _l(n),ic(),nA};Bw(uP,"Absent",601);var tA=Hl(uP,"Function");lL(208,1,{},ai),IT.C=function(n){return _w(n)};Bw(uP,"Joiner",208);lL(363,208,{},nl),IT.C=function(n){return Is(this,n)};Bw(uP,"Joiner/1",363);lL(362,1,{},cb);Bw(uP,"Joiner/MapJoiner",362);var eA,rA=Hl(uP,"Predicate");lL(244,1,{68:1,244:1,3:1},At),IT.D=function(n){var t;for(t=0;t0},IT.H=function(){if(this.b>=this.c)throw new mc;return ra(this,this.b++)},IT.L=function(){return this.b},IT.M=function(){if(this.b<=0)throw new mc;return ra(this,--this.b)},IT.N=function(){return this.b-1},IT.b=0,IT.c=0;Bw(wP,"AbstractIndexedListIterator",378);lL(428,108,lP),IT.G=function(){return km(this)},IT.H=function(){return Rk(this)},IT.d=1;Bw(wP,"AbstractIterator",428);lL(653,1,{144:1}),IT.P=function(){return this.f||(this.f=this.S())},IT.T=function(){return new Na(this.P())},IT.t=function(n){return Xj(this,n)},IT.v=function(){return this.P().v()},IT.V=function(){return 0==this.Y()},IT.W=function(){return aw(this)},IT.w=function(){return this.P().w()};Bw(wP,"AbstractMultimap",653);lL(294,653,gP),IT.Q=function(){xE(this)},IT.R=function(n){return np(this.b,n)},IT.S=function(){return new Pa(this,this.b)},IT.T=function(){return new Ys(this,this.b)},IT.$=function(){return ds(n=this.Z(),137)?(Vd(),new nb(zh(n,137))):ds(n,18)?(Vd(),new Ki(zh(n,18))):ds(n,20)?vg(zh(n,20)):(Vd(),new Ze(n));var n},IT.U=function(n){return uC(this,n)},IT.X=function(n){return pI(this,n)},IT.Y=function(){return this.c},IT.c=0;Bw(wP,"AbstractMapBasedMultimap",294);lL(600,294,gP),IT.Z=function(){return new vp(this.a)},IT.$=function(){return ud(),ud(),dA},IT.U=function(n){return zh(uC(this,n),20)},IT.X=function(n){return zh(pI(this,n),20)},IT.P=function(){return this.f||(this.f=new Pa(this,this.b))},IT.t=function(n){return Xj(this,n)};Bw(wP,"AbstractListMultimap",600);lL(388,1,vP),IT.G=function(){return this.b.b||this.d.G()},IT.H=function(){var n;return this.d.G()||((n=Xp(this.b)).yb(),this.a=zh(n.zb(),19),this.d=this.a.mb()),this.d.H()},IT.I=function(){this.d.I(),this.a.V()&&Kk(this.b),--this.c.c};Bw(wP,"AbstractMapBasedMultimap/Itr",388);lL(389,388,vP,hm);Bw(wP,"AbstractMapBasedMultimap/1",389);lL(638,1,kP),IT.Q=function(){this.bb().Q()},IT._=function(n){return jH(this,n)},IT.R=function(n){return!!cC(this,n,!1)},IT.ab=function(n){var t,e;for(t=this.bb().mb();t.G();)if(e=zh(t.H(),21).zb(),Ko(n)===Ko(e)||null!=n&&vy(n,e))return!0;return!1},IT.t=function(n){return xC(this,n)},IT.cb=function(n){return Wo(cC(this,n,!1))},IT.v=function(){return Cj(this.bb())},IT.V=function(){return 0==this.Y()},IT.W=function(){return new Be(this)},IT.db=function(n,t){throw new Ei("Put not supported on this map")},IT.eb=function(n){return Wo(cC(this,n,!0))},IT.Y=function(){return this.bb().Y()},IT.w=function(){return gC(this)},IT.fb=function(){return new Ue(this)};Bw(pP,"AbstractMap",638);lL(654,638,kP),IT.bb=function(){return uw(this)},IT.W=function(){return this.d||(this.d=new Na(this))},IT.fb=function(){return Qw(this)};Bw(wP,"Maps/ViewCachingAbstractMap",654);lL(262,654,kP,Pa),IT.cb=function(n){return function(n,t){var e;return(e=zh(pE(n.a,t),19))?vE(n.b,t,e):null}(this,n)},IT.eb=function(n){return function(n,t){var e,r;return(e=zh(Xl(n.a,t),19))?((r=n.b.Z()).jb(e),n.b.c-=e.Y(),e.Q(),r):null}(this,n)},IT.Q=function(){this.a==this.b.b?xE(this.b):hw(new Cg(this))},IT.R=function(n){return LE(this.a,n)},IT.hb=function(){return new Dt(this)},IT.gb=function(){return this.hb()},IT.t=function(n){return this===n||xC(this.a,n)},IT.v=function(){return Cj(new De(this.a))},IT.W=function(){return aw(this.b)},IT.Y=function(){return Du(this.a)},IT.w=function(){return gC(this.a)};Bw(wP,"AbstractMapBasedMultimap/AsMap",262);lL(640,1,mP),IT.ib=function(n){return function(){throw new Ei("Add not supported on this collection")}()},IT.jb=function(n){return Em(this,n)},IT.Q=function(){md(this)},IT.kb=function(n){return OS(this,n,!1)},IT.lb=function(n){return uj(this,n)},IT.V=function(){return 0==this.Y()},IT.nb=function(n){return OS(this,n,!0)},IT.ob=function(){return this.pb(Pk(WY,fP,1,this.Y(),4,1))},IT.pb=function(n){return vH(this,n)},IT.w=function(){return dC(this)};Bw(pP,"AbstractCollection",640);lL(641,640,jP),IT.t=function(n){return _S(this,n)},IT.v=function(){return Cj(this)};Bw(pP,"AbstractSet",641);lL(649,641,jP);Bw(wP,"Sets/ImprovedAbstractSet",649);lL(655,649,jP),IT.Q=function(){this.qb().Q()},IT.kb=function(n){return KS(this,n)},IT.V=function(){return this.qb().V()},IT.nb=function(n){var t;return!!this.kb(n)&&(t=zh(n,21),this.qb().W().nb(t.yb()))},IT.Y=function(){return this.qb().Y()};Bw(wP,"Maps/EntrySet",655);lL(387,655,jP,Dt),IT.kb=function(n){return GE(new De(this.a.a),n)},IT.mb=function(){return new Cg(this.a)},IT.qb=function(){return this.a},IT.nb=function(n){var t;return!!GE(new De(this.a.a),n)&&(t=zh(n,21),rk(this.a.b,t.yb()),!0)};Bw(wP,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387);lL(299,1,vP,Cg),IT.H=function(){var n;return n=Xp(this.b),this.a=zh(n.zb(),19),function(n,t){var e;return e=t.yb(),Es(),new Aa(e,vE(n.b,e,zh(t.zb(),19)))}(this.c,n)},IT.G=function(){return this.b.b},IT.I=function(){Kk(this.b),this.c.b.c-=this.a.Y(),this.a.Q()};Bw(wP,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299);lL(260,649,jP,Na),IT.Q=function(){this.b.Q()},IT.kb=function(n){return this.b.R(n)},IT.V=function(){return this.b.V()},IT.mb=function(){return Es(),Eh(this.b.bb().mb(),(Wf(),pA))},IT.nb=function(n){return!!this.b.R(n)&&(this.b.eb(n),!0)},IT.Y=function(){return this.b.Y()};Bw(wP,"Maps/KeySet",260);lL(386,260,jP,Ys),IT.Q=function(){hw(new Ya(this,this.b.bb().mb()))},IT.lb=function(n){return this.b.W().lb(n)},IT.t=function(n){return this===n||this.b.W().t(n)},IT.v=function(){return this.b.W().v()},IT.mb=function(){return new Ya(this,this.b.bb().mb())},IT.nb=function(n){var t,e;return e=0,(t=zh(this.b.eb(n),19))&&(e=t.Y(),t.Q(),this.a.c-=e),e>0};Bw(wP,"AbstractMapBasedMultimap/KeySet",386);lL(300,1,vP,Ya),IT.G=function(){return this.c.G()},IT.H=function(){return this.a=zh(this.c.H(),21),this.a.yb()},IT.I=function(){var n;Sj(!!this.a),n=zh(this.a.zb(),19),this.c.I(),this.b.a.c-=n.Y(),n.Q()};Bw(wP,"AbstractMapBasedMultimap/KeySet/1",300);lL(216,640,mP,Yk),IT.ib=function(n){return function(n,t){var e,r;return lS(n),r=n.d.V(),(e=n.d.ib(t))&&(++n.f.c,r&&jh(n)),e}(this,n)},IT.jb=function(n){return function(n,t){var e,r,c;return!t.V()&&(c=n.Y(),(e=n.d.jb(t))&&(r=n.d.Y(),n.f.c+=r-c,0==c&&jh(n)),e)}(this,n)},IT.Q=function(){var n,t;0!=(t=(n=this).Y())&&(n.d.Q(),n.f.c-=t,gw(n))},IT.kb=function(n){return lS(this),this.d.kb(n)},IT.lb=function(n){return lS(this),this.d.lb(n)},IT.t=function(n){return function(n,t){return t===n||(lS(n),n.d.t(t))}(this,n)},IT.v=function(){return lS(this),this.d.v()},IT.mb=function(){return lS(this),new el(this)},IT.nb=function(n){return function(n,t){var e;return lS(n),(e=n.d.nb(t))&&(--n.f.c,gw(n)),e}(this,n)},IT.Y=function(){return lS(this),this.d.Y()},IT.w=function(){return lS(this),rH(this.d)};Bw(wP,"AbstractMapBasedMultimap/WrappedCollection",216);var sA=Hl(pP,"List");lL(297,216,yP,jw),IT.rb=function(n,t){var e;lS(this),e=this.d.V(),zh(this.d,20).rb(n,t),++this.a.c,e&&jh(this)},IT.sb=function(n){return lS(this),zh(this.d,20).sb(n)},IT.tb=function(){return lS(this),new Vf(this)},IT.ub=function(n){return lS(this),new xd(this,n)},IT.vb=function(n){var t;return lS(this),t=zh(this.d,20).vb(n),--this.a.c,gw(this),t},IT.wb=function(n,t){return lS(this),zh(this.d,20).wb(n,t)},IT.xb=function(n,t){return lS(this),Sv(this.a,this.e,zh(this.d,20).xb(n,t),this.b?this.b:this)};Bw(wP,"AbstractMapBasedMultimap/WrappedList",297);lL(385,297,SP,yb);Bw(wP,"AbstractMapBasedMultimap/RandomAccessWrappedList",385);lL(189,1,vP,el),IT.G=function(){return vw(this),this.b.G()},IT.H=function(){return vw(this),this.b.H()},IT.I=function(){this.b.I(),--this.d.f.c,gw(this.d)};Bw(wP,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189);lL(298,189,EP,Vf,xd),IT.J=function(n){var t;t=0==function(n){return lS(n),n.d.Y()}(this.a),(vw(this),zh(this.b,96)).J(n),++this.a.a.c,t&&jh(this.a)},IT.K=function(){return(vw(this),zh(this.b,96)).K()},IT.L=function(){return(vw(this),zh(this.b,96)).L()},IT.M=function(){return(vw(this),zh(this.b,96)).M()},IT.N=function(){return(vw(this),zh(this.b,96)).N()},IT.O=function(n){(vw(this),zh(this.b,96)).O(n)};Bw(wP,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298);lL(295,216,jP,Hb);Bw(wP,"AbstractMapBasedMultimap/WrappedSet",295);lL(296,216,HP,Cb);Bw(wP,"AbstractMapBasedMultimap/WrappedSortedSet",296);lL(668,1,CP),IT.t=function(n){var t;return!!ds(n,21)&&(t=zh(n,21),cd(this.yb(),t.yb())&&cd(this.zb(),t.zb()))},IT.v=function(){var n,t;return n=this.yb(),t=this.zb(),(null==n?0:oS(n))^(null==t?0:oS(t))},IT.Ab=function(n){throw new Qr},IT.w=function(){return this.yb()+"="+this.zb()};Bw(wP,IP,668);lL(390,640,mP,xt),IT.Q=function(){xE(this.a)},IT.kb=function(n){return function(n,t){var e;for(e=ad(Qw(n.P()));e.b.G();)if(zh(Oi(e,e.b.H()),19).kb(t))return!0;return!1}(this.a,n)},IT.mb=function(){return new hm(this.a)},IT.Y=function(){return this.a.c};Bw(wP,"AbstractMultimap/Values",390);lL(656,640,LP),IT.ib=function(n){return this.Bb(n,1),!0},IT.Bb=function(n,t){throw new Qr},IT.jb=function(n){return function(n,t){var e,r;if(Ir(),t.V())return!1;if(ds(t,207))for(r=zh(t,207).bb().mb();r.G();)e=zh(r.H(),83),n.Bb(e.Zb(),e.Yb());else Zp(n,t.mb());return!0}(this,n)},IT.Q=function(){hw(this.Eb())},IT.kb=function(n){return this.Cb(n)>0},IT.Cb=function(n){var t,e;for(e=Kw(this).mb();e.G();)if(cd((t=zh(e.H(),83)).Zb(),n))return t.Yb();return 0},IT.gb=function(){return new Bt(this)},IT.bb=function(){return Kw(this)},IT.t=function(n){return function(n,t){var e,r,c;if(Ir(),t===n)return!0;if(ds(t,207)){if(c=zh(t,207),n.Y()!=c.Y()||Kw(n).Y()!=c.bb().Y())return!1;for(r=c.bb().mb();r.G();)if(e=zh(r.H(),83),n.Cb(e.Zb())!=e.Yb())return!1;return!0}return!1}(this,n)},IT.v=function(){return Kw(this).v()},IT.V=function(){return Kw(this).V()},IT.mb=function(){return Ir(),new Ua(this,Kw(this).mb())},IT.nb=function(n){return this.Fb(n,1)>0},IT.Fb=function(n,t){throw new Qr},IT.Gb=function(n,t){var e,r;return Ir(),Yp(t,"count"),(r=t-(e=this.Cb(n)))>0?this.Bb(n,r):r<0&&this.Fb(n,-r),e},IT.Hb=function(n,t,e){return function(n,t,e,r){return Ir(),Yp(e,"oldCount"),Yp(r,"newCount"),n.Cb(t)==e&&(n.Gb(t,r),!0)}(this,n,t,e)},IT.Y=function(){return function(n){var t,e;for(Ir(),e=0,t=Kw(n).mb();t.G();)e=Ny(e,zh(t.H(),83).Yb());return wp(e)}(this)},IT.w=function(){return rH(Kw(this))};Bw(wP,"AbstractMultiset",656);lL(657,649,jP),IT.Q=function(){this.Ib().Q()},IT.kb=function(n){var t;return!!ds(n,83)&&(!((t=zh(n,83)).Yb()<=0)&&this.Ib().Cb(t.Zb())==t.Yb())},IT.nb=function(n){var t,e,r;return!(!ds(n,83)||(t=(e=zh(n,83)).Zb(),0==(r=e.Yb())))&&this.Ib().Hb(t,r,0)};Bw(wP,"Multisets/EntrySet",657);lL(396,657,jP,Bt),IT.mb=function(){return this.a.Eb()},IT.Ib=function(){return this.a},IT.Y=function(){return this.a.Db()};Bw(wP,"AbstractMultiset/EntrySet",396);lL(384,294,gP),IT.Z=function(){return new Ia(vj(this.a))},IT.$=function(){return hh(),od(),EA},IT.U=function(n){return zh(uC(this,n),18)},IT.X=function(n){return zh(pI(this,n),18)},IT.P=function(){return this.f||(this.f=new Pa(this,this.b))},IT.t=function(n){return Xj(this,n)};Bw(wP,"AbstractSetMultimap",384);lL(342,656,LP);Bw(wP,"AbstractSortedMultiset",342);lL(280,600,gP,Qb),IT.a=0;var bA,hA;Bw(wP,"ArrayListMultimap",280);lL(159,17,GP);var lA=op(wP,"BoundType",159,oA,(function(){return Qf(),_j(Ni(lA,1),bP,159,0,[hA,bA])}));lL(623,159,GP,hf);op(wP,"BoundType/1",623,lA,null);lL(624,159,GP,Yf);var wA;op(wP,"BoundType/2",624,lA,null);lL(234,1,OP),IT.w=function(){return n=this.c.mb(),Kf(),Zw(Fy((qf(),wA),Zw(new Zi,91),n),93).a;var n};Bw(wP,"FluentIterable",234);lL(170,234,OP,If),IT.mb=function(){return Rw(this)};Bw(wP,"FluentIterable/2",170);lL(664,1,{}),IT.w=function(){return rH(Pd(this.a.d).b)};Bw(wP,"ForwardingObject",664);lL(665,664,mP),IT.ib=function(n){return Pd(this.a.d),Zr()},IT.jb=function(n){return Pd(this.a.d),Xr()},IT.Q=function(){Pd(this.a.d),nc()},IT.kb=function(n){return Bu(Pd(this.a.d),n)},IT.lb=function(n){return $u(Pd(this.a.d),n)},IT.V=function(){return Pd(this.a.d).b.V()},IT.mb=function(){return new tr(Pd(this.a.d).b.mb())},IT.nb=function(n){return Pd(this.a.d),tc()},IT.Y=function(){return Pd(this.a.d).b.Y()},IT.ob=function(){return Zd(Pd(this.a.d))},IT.pb=function(n){return og(Pd(this.a.d),n)};Bw(wP,"ForwardingCollection",665);lL(660,640,TP),IT.mb=function(){return this.Kb()},IT.ib=function(n){return function(){throw new Qr}()},IT.jb=function(n){return function(){throw new Qr}()},IT.Q=function(){!function(){throw new Qr}()},IT.kb=function(n){return null!=n&&OS(this,n,!1)},IT.Jb=function(){switch(this.Y()){case 0:return ud(),ud(),dA;case 1:return ud(),new zl(this.Kb().H());default:return new mw(this,this.ob())}},IT.nb=function(n){return function(){throw new Qr}()};Bw(wP,"ImmutableCollection",660);lL(316,660,TP,wc),IT.mb=function(){return _p(this.a.mb())},IT.kb=function(n){return null!=n&&this.a.kb(n)},IT.lb=function(n){return this.a.lb(n)},IT.V=function(){return this.a.V()},IT.Kb=function(){return _p(this.a.mb())},IT.Y=function(){return this.a.Y()},IT.ob=function(){return this.a.ob()},IT.pb=function(n){return this.a.pb(n)},IT.w=function(){return rH(this.a)};var dA;Bw(wP,"ForwardingImmutableCollection",316);lL(87,660,PP),IT.mb=function(){return this.Kb()},IT.tb=function(){return this.Lb(0)},IT.ub=function(n){return this.Lb(n)},IT.xb=function(n,t){return this.Mb(n,t)},IT.rb=function(n,t){throw new Qr},IT.t=function(n){return eL(this,n)},IT.v=function(){return function(n){var t,e,r;for(t=1,r=n.mb();r.G();)t=~~(t=31*t+(null==(e=r.H())?0:oS(e)));return t}(this)},IT.Kb=function(){return this.Lb(0)},IT.Lb=function(n){return Ns(this,n)},IT.vb=function(n){throw new Qr},IT.wb=function(n,t){throw new Qr},IT.Mb=function(n,t){return Bj(new Zg(new Qa(this),n,t))};Bw(wP,"ImmutableList",87);lL(667,87,PP),IT.mb=function(){return _p(this.Nb().mb())},IT.xb=function(n,t){return Bj(this.Nb().xb(n,t))},IT.kb=function(n){return oh(this,n)},IT.lb=function(n){return this.Nb().lb(n)},IT.t=function(n){return this.Nb().t(n)},IT.sb=function(n){return Jo(this,n)},IT.v=function(){return this.Nb().v()},IT.V=function(){return this.Nb().V()},IT.Kb=function(){return _p(this.Nb().mb())},IT.Y=function(){return this.Nb().Y()},IT.Mb=function(n,t){return Bj(this.Nb().xb(n,t))},IT.ob=function(){return this.Nb().pb(Pk(WY,fP,1,this.Nb().Y(),4,1))},IT.pb=function(n){return this.Nb().pb(n)},IT.w=function(){return rH(this.Nb())};Bw(wP,"ForwardingImmutableList",667);lL(524,1,RP),IT.bb=function(){return fw(this)},IT.W=function(){return sw(this)},IT.fb=function(){return this.Rb()},IT.Q=function(){throw new Qr},IT.R=function(n){return null!=this.cb(n)},IT.ab=function(n){return this.Rb().kb(n)},IT.Pb=function(){return new dc(this)},IT.Qb=function(){return new gc(this)},IT.t=function(n){return function(n,t){var e;return Es(),n===t||!!ds(t,57)&&(e=zh(t,57),eI(fw(n),e.bb()))}(this,n)},IT.v=function(){return fw(this).v()},IT.V=function(){return 0==this.Y()},IT.db=function(n,t){return function(){throw new Qr}()},IT.eb=function(n){throw new Qr},IT.w=function(){var n;return Es(),n=Zw(dp(this.Y()),123),Vy(kA,n,fw(this).mb()),n.a+="}",n.a},IT.Rb=function(){return this.g?this.g:this.g=this.Qb()},IT.e=null,IT.f=null,IT.g=null;Bw(wP,"ImmutableMap",524);lL(320,524,RP),IT.R=function(n){return LE(this.d,n)},IT.ab=function(n){return xu(this.d,n)},IT.Ob=function(){return Gy(new $t(this))},IT.Pb=function(){return Gy(vd(this.d))},IT.Qb=function(){return hh(),new wc(Rd(this.d))},IT.t=function(n){return ja(this.d,n)},IT.cb=function(n){return null==n?null:pE(this.d,n)},IT.v=function(){return this.d.c.v()},IT.V=function(){return this.d.c.V()},IT.Y=function(){return this.d.c.Y()},IT.w=function(){return rH(this.d.c)};Bw(wP,"ForwardingImmutableMap",320);lL(666,665,jP),IT.t=function(n){return n===this||ma(Pd(this.a.d),n)},IT.v=function(){return Pd(this.a.d).b.v()};Bw(wP,"ForwardingSet",666);lL(523,666,jP,$t),IT.kb=function(n){if(ds(n,21)&&null==zh(n,21).yb())return!1;try{return Bu(Pd(this.a.d),n)}catch(n){if(ds(n=ly(n),119))return!1;throw zy(n)}},IT.pb=function(n){var t;return t=og(Pd(this.a.d),n),Pd(this.a.d).b.Y()=(c=i.Y()))i.Q();else for(r=i.mb(),e=0;et?1:0}(t.Yb(),n.Yb())}(zh(n,83),zh(t,83))};Bw(wP,"Multisets/1",398);lL(397,658,{83:1,3:1},hl),IT.Yb=function(){return this.a},IT.Zb=function(){return this.b},IT.a=0;Bw(wP,"Multisets/ImmutableEntry",397);lL(303,1,vP,Ua),IT.G=function(){return this.d>0||this.c.G()},IT.H=function(){if(!(this.d>0||this.c.G()))throw new mc;return 0==this.d&&(this.b=zh(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},IT.I=function(){Sj(this.a),1==this.f?this.c.I():this.e.Fb(this.b.Zb(),1),--this.f,this.a=!1},IT.a=!1,IT.d=0,IT.f=0;var yA;Bw(wP,"Multisets/MultisetIteratorImpl",303);lL(622,659,{3:1,56:1},f),IT.$b=function(n,t){return function(n,t){return _l(n),_l(t),Wm(n,t)}(zh(n,23),zh(t,23))},IT.w=function(){return"Ordering.natural()"};Bw(wP,"NaturalOrdering",622);lL(343,661,PP,mw),IT.ub=function(n){return Ns(this.b,n)},IT.Sb=function(){return this.a},IT.sb=function(n){return Jo(this.b,n)},IT.Lb=function(n){return Ns(this.b,n)};var SA;Bw(wP,"RegularImmutableAsList",343);lL(559,275,RP,wd),IT.Tb=function(){return this.a};Bw(wP,"RegularImmutableBiMap",559);lL(53,667,PP,lv),IT.Nb=function(){return this.a};Bw(wP,"RegularImmutableList",53);lL(321,320,RP,Pc);var EA;Bw(wP,"RegularImmutableMap",321);lL(265,315,YP,Ku);Bw(wP,"RegularImmutableSet",265);lL(650,641,jP);Bw(wP,"Sets/SetView",650);lL(377,650,jP,gh),IT.kb=function(n){return ya(this.b,n)&&ya(this.c,n)},IT.lb=function(n){return uj(this.b,n)&&uj(this.c,n)},IT.V=function(){return Bp(this)},IT.mb=function(){return pw(new $e(new Be(this.b.a).a.bb().mb()),this.a)},IT.Y=function(){return ak(pw(new $e(new Be(this.b.a).a.bb().mb()),this.a))};Bw(wP,"Sets/2",377);lL(328,275,RP,nv,Wk),IT.fb=function(){return hh(),new oa(this.c)},IT.Tb=function(){return this.a||(this.a=new Wk(this.c,this.b,this))},IT.Ub=function(){return hh(),new oa(this.c)};Bw(wP,"SingletonImmutableBiMap",328);lL(127,667,PP,zl),IT.Nb=function(){return this.a};Bw(wP,"SingletonImmutableList",127);lL(135,663,YP,oa),IT.mb=function(){return Kf(),new Vt(this.a)},IT.kb=function(n){return vy(this.a,n)},IT.Kb=function(){return Kf(),new Vt(this.a)},IT.Y=function(){return 1};Bw(wP,"SingletonImmutableSet",135);lL(285,342,{207:1,3:1,22:1,19:1},Dg,jE),IT.Bb=function(n,t){return CI(this,n,t)},IT.Cb=function(n){return $H(this,n)},IT.Db=function(){return wp(Wj(this,(Jf(),HA)))},IT.Eb=function(){return new As(this)},IT.Fb=function(n,t){return sL(this,n,t)},IT.Gb=function(n,t){return bC(this,n,t)},IT.Hb=function(n,t,e){var r,c,i;return Yp(e,"newCount"),Yp(t,"oldCount"),Uo(lb(this.b,n)),(i=this.c.a)?(c=Pk(OQ,BP,26,1,12,1),r=MN(i,this.d,n,t,e,c),Dl(this.c,i,r),c[0]==t):0==t&&(e>0&&CI(this,n,e),!0)},IT.Y=function(){return wp(Wj(this,(Jf(),CA)))};Bw(wP,"TreeMultiset",285);lL(619,658,{83:1},Va),IT.Yb=function(){var n;return 0==(n=this.b.c)?$H(this.a,this.b.b):n},IT.Zb=function(){return this.b.b};Bw(wP,"TreeMultiset/1",619);lL(620,1,vP,As),IT.H=function(){return function(n){var t;if(!yj(n))throw new mc;return t=new Va(n.c,n.a),n.b=t,n.a.i==n.c.a?n.a=null:n.a=n.a.i,t}(this)},IT.G=function(){return yj(this)},IT.I=function(){Sj(!!this.b),bC(this.c,this.b.b.b,0),this.b=null};var HA,CA;Bw(wP,"TreeMultiset/2",620);lL(205,17,$P);var IA=op(wP,"TreeMultiset/Aggregate",205,oA,(function(){return Jf(),_j(Ni(IA,1),bP,205,0,[CA,HA])}));lL(617,205,$P,lf),IT._b=function(n){return n.c},IT.ac=function(n){return n?n.j:0};op(wP,"TreeMultiset/Aggregate/1",617,IA,null);lL(618,205,$P,ys),IT._b=function(n){return 1},IT.ac=function(n){return n?n.a:0};op(wP,"TreeMultiset/Aggregate/2",618,IA,null);lL(206,658,{83:1,206:1},Am),IT.Yb=function(){return this.c},IT.Zb=function(){return this.b},IT.w=function(){return Ir(),Rv(new hl(this.b,this.c))},IT.a=0,IT.c=0,IT.d=0,IT.j=0;Bw(wP,"TreeMultiset/AvlNode",206);lL(616,1,{},s);Bw(wP,"TreeMultiset/Reference",616);var LA,GA=Bw(eP,"JavaScriptObject$",0);lL(628,1,{});Bw(eP,"Scheduler",628);var NA,OA=0,TA=0,PA=-1;lL(360,628,{},a);Bw(rP,"SchedulerImpl",360);lL(646,1,{}),IT.hc=function(){return null},IT.ic=function(){return null},IT.jc=function(){return null},IT.kc=function(){return null},IT.lc=function(){return null};Bw(FP,"JSONValue",646);lL(214,646,{214:1},cr,Xt),IT.t=function(n){return!!ds(n,214)&&this.a==zh(n,214).a},IT.gc=function(){return hr},IT.v=function(){return wb(this.a)},IT.hc=function(){return this},IT.w=function(){var n,t,e;for(e=new zi("["),t=0,n=this.a.length;t0&&(e.a+=","),ef(e,Mp(this,t));return e.a+="]",e.a};var RA,YA;Bw(FP,"JSONArray",214);lL(292,646,{},ne),IT.gc=function(){return lr},IT.ic=function(){return this},IT.w=function(){return ms(this.a)},IT.a=!1;Bw(FP,"JSONBoolean",292);lL(371,72,MT,Mc);var AA;Bw(FP,"JSONException",371);lL(435,646,{},w),IT.gc=function(){return kr},IT.w=function(){return DT};Bw(FP,"JSONNull",435);lL(104,646,{104:1},te),IT.t=function(n){return!!ds(n,104)&&this.a==zh(n,104).a},IT.gc=function(){return wr},IT.v=function(){return Eg(ri(this.a))},IT.jc=function(){return this},IT.w=function(){return this.a+""},IT.a=0;Bw(FP,"JSONNumber",104);lL(69,646,{69:1},$c,ee),IT.t=function(n){return!!ds(n,69)&&this.a==zh(n,69).a},IT.gc=function(){return dr},IT.v=function(){return wb(this.a)},IT.kc=function(){return this},IT.w=function(){var n,t,e,r,c,i;for(i=new zi("{"),n=!0,e=0,r=(c=Pm(this,Pk(XY,AT,2,0,5,1))).length;e>>28]|t[n>>24&15]<<4|t[n>>20&15]<<8|t[n>>16&15]<<12|t[n>>12&15]<<16|t[n>>8&15]<<20|t[n>>4&15]<<24|t[15&n]<<28);var n,t},IT.w=function(){return"("+this.a+","+this.b+")"},IT.a=0,IT.b=0;var BA=Bw(XP,"KVector",10);lL(58,648,{3:1,5:1,22:1,19:1,58:1,20:1},oi),IT.ib=function(n){return Th(this,n)},IT.Q=function(){Yd(this)},IT.ub=function(n){return BE(this,n)},IT.Y=function(){return this.b},IT.b=0;Bw(pP,"LinkedList",58);lL(44,58,{44:1,286:1,3:1,5:1,22:1,19:1,58:1,20:1},_r,Nb),IT.w=function(){var n,t,e;for(n=new zi("("),t=BE(this,0);t.b!=t.d.c;)rf(n,(e=zh(Yv(t),10)).a+","+e.b),t.b!=t.d.c&&(n.a+="; ");return n.a+=")",n.a};Bw(XP,"KVectorChain",44);var $A=Hl(tR,"IProperty");lL(131,1,{179:1,131:1,3:1},d);var UA,FA;Bw(tR,"MapPropertyHolder",131);lL(14,1,eR,Pl,Tl,wl,Rh,Lg,ev),IT.F=function(n){return function(n,t){return Id(n.b,t.mc())}(this,zh(n,79))},IT.t=function(n){return jd(this,n)},IT.mc=function(){return this.b},IT.nc=function(){return this.c},IT.oc=function(){return this.d},IT.v=function(){return EE(this.b)},IT.w=function(){return this.b};Bw(tR,"Property",14);lL(366,1,{23:1},g),IT.F=function(n){return-1};Bw(tR,"Property/1",366);lL(367,1,{23:1},v),IT.F=function(n){return 1};Bw(tR,"Property/2",367);lL(27,1,{27:1,22:1},Xa),IT.t=function(n){var t,e,r;return!!ds(n,27)&&(e=zh(n,27),t=null==this.a?null==e.a:vy(this.a,e.a),r=null==this.b?null==e.b:vy(this.b,e.b),t&&r)},IT.v=function(){var n,t,e;return n=-65536&(t=null==this.a?0:oS(this.a)),t&zT^(-65536&(e=null==this.b?0:oS(this.b)))>>16&zT|n^(e&zT)<<16},IT.mb=function(){return new re(this)},IT.w=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+rH(this.b)+")":null==this.b?"pair("+rH(this.a)+",null)":"pair("+rH(this.a)+","+rH(this.b)+")"};Bw(rR,"Pair",27);lL(431,1,vP,re),IT.G=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},IT.H=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw new mc},IT.I=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),new zr},IT.b=!1,IT.c=!1;Bw(rR,"Pair/1",431);lL(228,72,MT,Dc);Bw(cR,"UnsupportedConfigurationException",228);lL(99,72,MT,xc);var VA,zA,qA,QA,KA,WA,JA;Bw(cR,"UnsupportedGraphException",99);lL(103,17,{103:1,3:1,23:1,17:1},nu);var ZA,XA,n_,t_,e_,r_,c_=op(oR,"Alignment",103,oA,(function(){return SE(),_j(Ni(c_,1),bP,103,0,[zA,KA,WA,JA,qA,QA])}));lL(59,17,{59:1,3:1,23:1,17:1},uu);var i_,a_,u_,o_,f_,s_=op(oR,"Direction",59,oA,(function(){return Py(),_j(Ni(s_,1),bP,59,0,[e_,t_,n_,XA,r_])}));lL(107,17,{107:1,3:1,23:1,17:1},ou);var b_,h_,l_,w_,d_,g_=op(oR,"EdgeLabelPlacement",107,oA,(function(){return qm(),_j(Ni(g_,1),bP,107,0,[f_,a_,u_,o_])}));lL(122,17,{122:1,3:1,23:1,17:1},fu);var v_,k_,p_,m_,j_,y_,S_,E_=op(oR,"EdgeRouting",122,oA,(function(){return Ry(),_j(Ni(E_,1),bP,122,0,[d_,l_,h_,w_])}));lL(133,17,{133:1,3:1,23:1,17:1},su);var H_,C_,I_,L_,G_=op(oR,"EdgeType",133,oA,(function(){return QH(),_j(Ni(G_,1),bP,133,0,[y_,m_,S_,k_,j_,p_])}));lL(166,17,{166:1,3:1,23:1,17:1},bu);var N_,O_,T_,P_,R_,Y_,A_,__,M_,D_,x_,B_,$_,U_,F_,V_,z_,q_,Q_,K_,W_,J_,Z_,X_,nM,tM,eM,rM,cM,iM,aM,uM,oM,fM,sM,bM,hM,lM,wM,dM,gM,vM,kM,pM,mM,jM,yM,SM,EM,HM,CM,IM,LM,GM,NM,OM,TM,PM,RM,YM=op(oR,"HierarchyHandling",166,oA,(function(){return Yy(),_j(Ni(YM,1),bP,166,0,[I_,C_,L_])}));lL(41,17,{41:1,3:1,23:1,17:1},hu);var AM,_M,MM,DM,xM,BM,$M=op(oR,"NodeLabelPlacement",41,oA,(function(){return PI(),_j(Ni($M,1),bP,41,0,[IM,CM,GM,RM,PM,TM,NM,OM,LM])}));lL(100,17,{100:1,3:1,23:1,17:1},lu);var UM,FM,VM,zM,qM,QM,KM,WM=op(oR,"PortAlignment",100,oA,(function(){return BS(),_j(Ni(WM,1),bP,100,0,[BM,xM,_M,MM,DM])}));lL(28,17,{28:1,3:1,23:1,17:1},wu);var JM,ZM,XM,nD,tD=op(oR,"PortConstraints",28,oA,(function(){return NH(),_j(Ni(tD,1),bP,28,0,[KM,QM,qM,FM,zM,VM])}));lL(149,17,{149:1,3:1,23:1,17:1},du);var eD,rD,cD,iD,aD,uD,oD,fD,sD,bD,hD,lD,wD,dD,gD,vD,kD,pD,mD,jD,yD,SD,ED=op(oR,"PortLabelPlacement",149,oA,(function(){return Vp(),_j(Ni(ED,1),bP,149,0,[nD,XM,ZM])}));lL(32,17,{32:1,3:1,23:1,17:1},gu);var HD,CD,ID,LD,GD,ND=op(oR,"PortSide",32,oA,(function(){return FO(),_j(Ni(ND,1),bP,32,0,[yD,cD,rD,jD,SD])}));lL(150,17,{150:1,3:1,23:1,17:1},vu);var OD,TD,PD,RD,YD,AD=op(oR,"SizeConstraint",150,oA,(function(){return $S(),_j(Ni(AD,1),bP,150,0,[LD,GD,ID,CD])}));lL(139,17,{139:1,3:1,23:1,17:1},ku);var _D,MD=op(oR,"SizeOptions",139,oA,(function(){return eC(),_j(Ni(MD,1),bP,139,0,[RD,YD,PD,TD])}));lL(62,1,{62:1},co,Ed),IT.t=function(n){var t;return!(null==n||!ds(n,62))&&(t=zh(n,62),Nd(this.d,t.d)&&Nd(this.e,t.e)&&Nd(this.c,t.c)&&Nd(this.b,t.b))},IT.v=function(){return iy(_j(Ni(WY,1),fP,1,4,[this.d,this.e,this.c,this.b]))},IT.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},IT.b=0,IT.c=0,IT.d=0,IT.e=0;Bw(lR,"Rectangle",62);lL(283,62,{283:1,62:1},Mr),IT.a=0;var DD,xD,BD,$D,UD,FD,VD,zD,qD,QD,KD,WD,JD,ZD,XD,nx,tx,ex,rx,cx,ix,ax;Bw(wR,"LabelGroup",283);lL(67,17,{67:1,3:1,23:1,17:1},Cd);var ux,ox,fx,sx=op(wR,"LabelLocation",67,oA,xS);lL(225,17,{225:1,3:1,23:1,17:1},pu);var bx,hx=op(wR,"TextAlignment",225,oA,(function(){return qv(),_j(Ni(hx,1),bP,225,0,[ox,ux,fx])}));lL(589,1,{},xN),IT.a=0,IT.b=!1,IT.d=0,IT.f=0,IT.k=0,IT.r=0,IT.s=0;var lx,wx,dx,gx;Bw(lR,"LabelAndNodeSizeProcessor/NodeData",589);lL(171,17,{171:1,3:1,23:1,17:1},mu);var vx=op(lR,"LabelSide",171,oA,(function(){return US(),_j(Ni(vx,1),bP,171,0,[gx,lx,wx])}));lL(590,1,{},ce),IT.b=!0,IT.c=!0,IT.d=!0,IT.e=!0;Bw(lR,gR,590);lL(121,1,kR),IT.t=function(n){var t;return!!ds(n,121)&&(t=zh(n,121),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},IT.v=function(){var n,t;return n=Eg(ri(this.b))<<16,n|=Eg(ri(this.a))&zT,t=Eg(ri(this.c))<<16,n^(t|=Eg(ri(this.d))&zT)},IT.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},IT.a=0,IT.b=0,IT.c=0,IT.d=0;Bw(lR,"Spacing",121);lL(232,121,kR,Dr,Sb,Kb);Bw(lR,"Spacing/Insets",232);lL(65,121,{286:1,121:1,65:1,3:1,5:1},xr,Eb,Wb);var kx,px,mx;Bw(lR,"Spacing/Margins",65);lL(364,1,{},QE),IT.c=!1,IT.d=null,IT.g=null;var jx,yx,Sx,Ex,Hx,Cx,Ix,Lx,Gx;Bw(OR,"JsonGraphImporter",364);lL(417,14,eR,fo);var Nx;Bw(OR,"LayoutOptionResolver/DummyProperty",417);lL(348,1,{},jt);Bw(OR,"RecursiveLGraphLayout",348);lL(73,99,{73:1,3:1,54:1,46:1},Bc,Js,Sw);var Ox,Tx,Px=Bw(OR,"UnsupportedJsonGraphException",73);lL(380,1,{},dd);Bw(YR,"GraphConfigurator",380);lL(49,1,{},dS);Bw(YR,"IntermediateProcessingConfiguration",49);lL(365,1,{},Uv);var Rx;Bw(YR,"KlayLayered",365);lL(577,1,{},ej),IT.i=0;var Yx;Bw(DR,"ComponentsToCGraphTransformer",577);lL(578,1,{},H),IT.tc=function(n,t){return xi(n.wc(),t.wc())},IT.uc=function(n,t){return xi(n.xc(),t.xc())};Bw(DR,"ComponentsToCGraphTransformer/1",578);lL(25,1,{25:1}),IT.k=0,IT.o=null,IT.p=!0,IT.r=MR;var Ax=Bw(xR,"CNode",25);lL(198,25,{198:1,25:1},is,wm),IT.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},IT.wc=function(){return null!=this.a?ri(this.a):this.c.i},IT.xc=function(){return null!=this.a?ri(this.a):this.c.i},IT.w=function(){return""};var _x,Mx;Bw(DR,"ComponentsToCGraphTransformer/CRectNode",198);lL(549,1,{},C);Bw(DR,"OneDimensionalComponentsCompaction",549);lL(550,1,AP,I),IT.B=function(n){return Hj(),ql(),0!=zh(zh(n,27).a,25).f.f?tQ:nQ};Bw(DR,"OneDimensionalComponentsCompaction/lambda$0$Type",550);lL(551,1,AP,L),IT.B=function(n){return Hj(),ql(),jS(zh(zh(n,27).a,25).n,zh(zh(n,27).b,59))||0!=zh(zh(n,27).a,25).f.f&&jS(zh(zh(n,27).a,25).n,zh(zh(n,27).b,59))?tQ:nQ};Bw(DR,"OneDimensionalComponentsCompaction/lambda$1$Type",551);lL(324,1,{},Ew);Bw(xR,"CGraph",324);lL(78,1,{78:1},uE),IT.b=0,IT.c=0,IT.d=0,IT.f=0,IT.i=!0,IT.j=MR;Bw(xR,"CGroup",78);lL(470,1,{},G),IT.tc=function(n,t){return _i(n.wc(),t.wc())},IT.uc=function(n,t){return _i(n.xc(),t.xc())};var Dx,xx,Bx;Bw(xR,"ISpacingsHandler/1",470);lL(323,1,{},RI),IT.e=!1;var $x=Bw(xR,"OneDimensionalCompactor",323);lL(554,1,AP,p),IT.B=function(n){return Wl(),ql(),0!=zh(zh(n,27).a,25).f.f?tQ:nQ};Bw(xR,"OneDimensionalCompactor/lambda$0$Type",554);lL(335,1,{},$h),IT.a=!1,IT.b=!1,IT.c=!1,IT.d=!1;Bw(xR,"Quadruplet",335);lL(587,1,{},m),IT.Cc=function(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g;for(s=_R,r=new Qe(n.a.b);r.ae.j.d||e.j.d==c.j.d&&e.j.c0&&(Ph(n.c,new vh(t.c,t.d,n.d)),n.b=t.d)}(this,zh(n,48))},IT.b=0;Bw(UR,"RectilinearConvexHull/MaximalElementsEventHandler",243);lL(571,1,WT,N),IT.$b=function(n,t){return id(n,t)};Bw(UR,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",571);lL(570,1,{160:1},ok),IT.Ec=function(n){AL(this,zh(n,48))},IT.a=0,IT.b=null,IT.c=null,IT.d=null,IT.e=null;Bw(UR,"RectilinearConvexHull/RectangleEventHandler",570);lL(572,1,WT,O),IT.$b=function(n,t){return zv(),zh(n,48).c==zh(t,48).c?xj(zh(t,48).d,zh(n,48).d):xj(zh(n,48).c,zh(t,48).c)};Bw(UR,"RectilinearConvexHull/lambda$0$Type",572);lL(573,1,WT,T),IT.$b=function(n,t){return zv(),zh(n,48).c==zh(t,48).c?xj(zh(n,48).d,zh(t,48).d):xj(zh(n,48).c,zh(t,48).c)};Bw(UR,"RectilinearConvexHull/lambda$1$Type",573);lL(574,1,WT,P),IT.$b=function(n,t){return zv(),zh(n,48).c==zh(t,48).c?xj(zh(t,48).d,zh(n,48).d):xj(zh(t,48).c,zh(n,48).c)};Bw(UR,"RectilinearConvexHull/lambda$2$Type",574);lL(575,1,WT,R),IT.$b=function(n,t){return zv(),zh(n,48).c==zh(t,48).c?xj(zh(n,48).d,zh(t,48).d):xj(zh(t,48).c,zh(n,48).c)};Bw(UR,"RectilinearConvexHull/lambda$3$Type",575);lL(576,1,WT,Y),IT.$b=function(n,t){return jC(n,t)};Bw(UR,"RectilinearConvexHull/lambda$4$Type",576);lL(469,1,{},Ov);Bw(UR,"Scanline",469);lL(662,1,{});var eB;Bw(VR,"AbstractGraphPlacer",662);lL(222,1,{222:1},nh);Bw(VR,"ComponentGroup",222);lL(434,662,{},Nr),IT.Fc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l;if(this.a.c=Pk(WY,fP,1,0,4,1),t.b.c=Pk(WY,fP,1,0,4,1),n.V())return t.e.a=0,void(t.e.b=0);for(Uy(t,c=zh(n.sb(0),55)),r=n.mb();r.G();)nS(this,zh(r.H(),55));for(h=new ui,l=2*zh(Pj(c,(jT(),zz)),15).a,u=new Qe(this.a);u.ab&&(j=0,y+=s+p,s=0),HG(i,j+(w=i.d).a,y+w.b),w.a=0,w.b=0,e=_i(e,j+v.a),s=_i(s,v.b),j+=v.a+p;if(t.e.a=e,t.e.b=y+s,g=zh(Pj(t,zz),15).a,ei(ri(Ob(Pj(c,(yT(),lq)))))){for(fT(r=new A,n,g),f=n.mb();f.G();)Rb(No(zh(f.H(),55).d),r.e);Rb(No(t.e),r.a)}yk(t,n)}else(k=zh(n.sb(0),55))!=t&&(t.b.c=Pk(WY,fP,1,0,4,1),_G(t,k,0,0),Uy(t,k),Cl(t.a,k.a),t.e.a=k.e.a,t.e.b=k.e.b)};Bw(VR,"SimpleRowGraphPlacer",432);lL(433,1,WT,M),IT.$b=function(n,t){return function(n,t){var e;return 0==(e=t.k-n.k)?xj(n.e.a*n.e.b,t.e.a*t.e.b):e}(zh(n,55),zh(t,55))};var rB;Bw(VR,"SimpleRowGraphPlacer/1",433);lL(369,1,KR,yt),IT.sc=function(n,t){dT(n,t)};Bw(WR,"CompoundGraphPostprocessor",369);lL(370,1,FR,D),IT.D=function(n){var t;return!!(t=zh(Pj(zh(n,114).b,(HT(),W_)),44))&&0!=t.b};Bw(WR,"CompoundGraphPostprocessor/1",370);lL(368,1,KR,zo),IT.sc=function(n,t){dE(this,n,t)};Bw(WR,"CompoundGraphPreprocessor",368);lL(187,1,{187:1},Dy),IT.c=!1;Bw(WR,"CompoundGraphPreprocessor/ExternalPort",187);lL(114,1,{114:1},kh),IT.w=function(){return gb(this.c)+":"+Up(this.b)};Bw(WR,"CrossHierarchyEdge",114);lL(310,1,WT,ie),IT.$b=function(n,t){return function(n,t,e){var r,c;return t.c==(bm(),oq)&&e.c==uq?-1:t.c==uq&&e.c==oq?1:(r=PS(t.a,n.a),c=PS(e.a,n.a),t.c==oq?c-r:r-c)}(this,zh(n,114),zh(t,114))};Bw(WR,"CrossHierarchyEdgeComparator",310);lL(147,131,{179:1,131:1,147:1,3:1}),IT.k=0;Bw(ZR,"LGraphElement",147);lL(12,147,{179:1,131:1,12:1,147:1,3:1},Dd),IT.w=function(){return Up(this)};var cB=Bw(ZR,"LEdge",12);lL(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},Qp),IT.mb=function(){return new Qe(this.c)},IT.w=function(){return 0==this.c.c.length?"G-unlayered"+dC(this.b):0==this.b.c.length?"G-layered"+dC(this.c):"G[layerless"+dC(this.b)+", layers"+dC(this.c)+"]"};var iB=Bw(ZR,"LGraph",55);lL(273,1,{}),IT.pc=function(){return this.e.j};Bw(ZR,"LGraphAdapters/AbstractLShapeAdapter",273);lL(240,1,{627:1},ae),IT.b=null;Bw(ZR,"LGraphAdapters/LEdgeAdapter",240);lL(325,1,{},Su),IT.pc=function(){return this.a.e},IT.b=null,IT.c=!1;Bw(ZR,"LGraphAdapters/LGraphAdapter",325);lL(224,273,{129:1,224:1},ue);Bw(ZR,"LGraphAdapters/LLabelAdapter",224);lL(555,273,{626:1},Eu),IT.a=null,IT.b=null,IT.c=!1;Bw(ZR,"LGraphAdapters/LNodeAdapter",555);lL(556,273,{161:1},Hu),IT.a=null,IT.b=null,IT.c=null,IT.d=!1;Bw(ZR,"LGraphAdapters/LPortAdapter",556);lL(557,1,WT,x),IT.$b=function(n,t){return function(n,t){var e,r,c,i;if(0!=(i=n.g.e-t.g.e))return i;if(e=zh(Pj(n,(HT(),wM)),24),r=zh(Pj(t,wM),24),e&&r&&0!=(c=e.a-r.a))return c;switch(n.g.e){case 1:return xj(n.i.a,t.i.a);case 2:return xj(n.i.b,t.i.b);case 3:return xj(t.i.a,n.i.a);case 4:return xj(t.i.b,n.i.b);default:throw new ji(XR)}}(zh(n,7),zh(t,7))};Bw(ZR,"LGraphAdapters/PortComparator",557);lL(168,1,{168:1},Yt,Ud),IT.t=function(n){var t;return!!ds(n,168)&&(t=zh(n,168),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},IT.v=function(){var n,t;return n=Eg(ri(this.b))<<16,n|=Eg(ri(this.a))&zT,t=Eg(ri(this.c))<<16,n^(t|=Eg(ri(this.d))&zT)},IT.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},IT.a=0,IT.b=0,IT.c=0,IT.d=0;Bw(ZR,"LInsets",168);lL(165,147,{179:1,131:1,147:1,165:1,3:1});Bw(ZR,"LShape",165);lL(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},Hf),IT.w=function(){return null==this.a?"l_"+this.k:"l_"+this.a};Bw(ZR,"LLabel",33);lL(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},_E),IT.w=function(){return pg(this)};var aB,uB,oB,fB,sB,bB,hB=Bw(ZR,"LNode",9);lL(132,17,{132:1,3:1,23:1,17:1},Iu);var lB,wB,dB,gB,vB,kB,pB=op(ZR,"LNode/NodeType",132,oA,(function(){return KH(),_j(Ni(pB,1),bP,132,0,[sB,fB,uB,bB,oB,aB])}));lL(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},MH),IT.w=function(){var n;return null==(n=lk(this))?"p_"+this.k:"p_"+n};var mB=Bw(ZR,"LPort",7);lL(399,1,FR,B),IT.D=function(n){return xb(n)};Bw(ZR,"LPort/1",399);lL(400,1,FR,$),IT.D=function(n){return Db(n)};Bw(ZR,"LPort/2",400);lL(401,1,FR,U),IT.D=function(n){return zh(n,7).g==(FO(),cD)};Bw(ZR,"LPort/3",401);lL(402,1,FR,F),IT.D=function(n){return zh(n,7).g==(FO(),rD)};Bw(ZR,"LPort/4",402);lL(403,1,FR,V),IT.D=function(n){return zh(n,7).g==(FO(),jD)};Bw(ZR,"LPort/5",403);lL(404,1,FR,z),IT.D=function(n){return zh(n,7).g==(FO(),SD)};Bw(ZR,"LPort/6",404);lL(190,1,OP,oe),IT.mb=function(){return new fe(new Qe(this.a.b))};Bw(ZR,"LPort/7",190);lL(405,1,vP,fe),IT.H=function(){return zh(rv(this.a),12).c},IT.G=function(){return gs(this.a)},IT.I=function(){ww(this.a)};Bw(ZR,"LPort/7/1",405);lL(169,1,OP,se),IT.mb=function(){return new be(new Qe(this.a.e))};Bw(ZR,"LPort/8",169);lL(304,1,vP,be),IT.H=function(){return zh(rv(this.a),12).d},IT.G=function(){return gs(this.a)},IT.I=function(){ww(this.a)};Bw(ZR,"LPort/8/1",304);lL(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},Hw),IT.mb=function(){return new Qe(this.a)},IT.w=function(){return"L_"+ap(this.b.c,this,0)+dC(this.a)};Bw(ZR,"Layer",16);lL(437,1,KR,q),IT.sc=function(n,t){var e,r,c,i;for(ZS(t,"Big nodes intermediate-processing",1),this.a=n,r=new Qe(this.a.c);r.ai?50:i,e=new Rt,l=i+this.d,s=new Qe(b);s.al){for(h=1,r=a.j.a;r>i;)++h,r=(a.j.a-(h-1)*this.d)/h;Ph(e,new Vv(this,a,h,r))}for(u=new Qe(e);u.aa?50:a,e=new Rt,w=a+this.d,b=new Qe(h);b.aw){for(l=1,r=u.j.a;r>a;)++l,r=(u.j.a-(l-1)*this.d)/l;Ph(e,new cg(this,u,l))}for(o=new Qe(e);o.a0||s.g==SD&&s.b.c.length-s.e.c.length<0)){e=!1;break}if(s.g==SD)for(c=new Qe(s.e);c.a0&&(n.a=o+(h-1)*c,t.d.b+=n.a,t.e.b+=n.a),0!=l.a.Y()&&(h=YN(new YC(1,c),t,l,w,t.e.b+o-t.d.b))>0&&(t.e.b+=o+(h-1)*c)}(this,n,e),function(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S;for(k=new Rt,s=new Qe(n.c);s.a0&&cN((Nk(0,e.c.length),zh(e.c[0],16)),n),e.c.length>1&&cN(zh(vl(e,e.c.length-1),16),n),Zy(t)};Bw(nY,"HierarchicalPortPositionProcessor",454);lL(471,1,KR,fn),IT.sc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h;for(ZS(t,"Hyperedge merging",1),s=new tv(n.c,0);s.b(l=h.c.length)+1?Ph(s,new Xa(o,(Nk(b=(u+l)/2|0,a.c.length),zh(a.c[b],9)))):l>u+1&&Ph(s,new Xa(o,(Nk(b=((l-u)/2|0)-1,h.c.length),zh(h.c[b],9))))}for(g=new Qe(s);g.a=2){for(o=!0,Nk(1,u.c.length),w=zh(u.c[1],16),b=new Qe(r.a);b.a=2){for(o=!0,d=zh(vl(u,u.c.length-2),16),b=new Qe(c.a);b.ae?o:e}n.e.b=o-f,n.d.b-=f,Zy(t)};Bw(nY,"LayerSizeAndGraphHeightCalculator",496);lL(497,1,KR,In),IT.sc=function(n,t){var e,r,c,i;for(ZS(t,"Edge joining",1),e=ei(ri(Ob(Pj(n,(yT(),bq))))),r=new Qe(n.c);r.a0&&Ph(n.p,s),Ph(n.o,s);l=o+(t-=r),f+=t*n.e,ck(n.a,u,iS(l)),ck(n.b,u,f),n.j=Di(n.j,l),n.k=_i(n.k,f),n.d+=t,t+=d}}(this),this.q=zh(Pj(n,(yT(),Tq)),109),o=zh(Pj(this.g,Pq),24).a,c=new On,this.q.e){case 2:case 1:default:nO(this,c);break;case 3:for(this.q=(mL(),P$),nO(this,c),a=0,i=new Qe(this.a);i.athis.j&&(this.q=I$,nO(this,c));break;case 4:for(this.q=(mL(),P$),nO(this,c),u=0,r=new Qe(this.b);r.athis.k&&(this.q=N$,nO(this,c));break;case 6:nO(this,new pe(Eg(To(this.f.length*o/100))));break;case 5:nO(this,new me(Eg(To(this.d*o/100))))}!function(n,t){var e,r,c,i,a,u;for(c=new Rt,e=0;e<=n.i;e++)(r=new Hw(t)).k=n.i-e,c.c[c.c.length]=r;for(u=new Qe(n.o);u.a=2){for(w=!0,e=zh(rv(b=new Qe(i.f)),7);b.a(r-=n.a)?c:r}return c}(this,n),l=n.c.c.length,d=function(n,t){var e,r,c,i,a;for(r=0,e=new Qe(t.c);e.a(a=(c=zh(rv(i),9)).j.a+c.e.c+c.e.b+n.b)?r:a;return r}(this,n),I=l*d,(r=(c=zh(Pj(n,(HT(),x_)),59))==(Py(),n_)||c==t_||c==e_?zh(Pj(n,nz),15).a:1/zh(Pj(n,nz),15).a)>(e=I/w))Zy(t);else{H=0,i=oY;do{h=i,i=(e=I/++H/(w*H))-r<=0?0-(e-r):e-r}while(e>r);for(hH?1:H)|0,m=S,N=!0;f=S&&(N=!0),++m,++f}for(s=new tv(n.c,0);s.b "+this.a+" "+gb(this.c)},IT.a=0,IT.b=0,IT.d=0;Bw(nY,"SplineSelfLoopRouter/LoopPadding",91);lL(521,1,FR,tl),IT.D=function(n){return VE(this,zh(n,91))},IT.a=0,IT.c=0;Bw(nY,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521);lL(520,1,WT,Zn),IT.$b=function(n,t){return function(n,t){return xj(t.b,n.b)}(zh(n,91),zh(t,91))};Bw(nY,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520);lL(196,1,FR,je),IT.D=function(n){return zh(n,91).c==this.a};Bw(nY,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196);lL(195,1,{195:1},Lv),IT.c=0,IT.d=0,IT.e=0;Bw(nY,"SplineSelfLoopRouter/SelfLoopEdge",195);lL(519,1,WT,Xn),IT.$b=function(n,t){return function(n,t){return n.d-t.d}(zh(n,195),zh(t,195))};Bw(nY,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519);lL(82,25,{25:1,82:1},$I),IT.vc=function(){var n,t;for(n=BE(this.a,0);n.b!=n.d.c;)zh(Yv(n),10).a=this.j.d;for(t=BE(this.c,0);t.b!=t.d.c;)zh(Yv(t),10).a=this.j.d},IT.wc=function(){return this.b},IT.xc=function(){return this.e},IT.w=function(){return dC(new Be(this.d.a))},IT.b=0,IT.e=0;Bw(hY,"CLEdge",82);lL(93,25,{25:1,93:1},EG),IT.vc=function(){this.b.i.a=this.j.d+this.b.e.b},IT.wc=function(){return this.b.g==(KH(),uB)?0:this.a},IT.xc=function(){return this.b.g==(KH(),uB)?0:this.c},IT.w=function(){return rH(Pj(this.b,(jT(),Oz)))},IT.a=0,IT.c=0;var _$,M$;Bw(hY,"CLNode",93);lL(175,17,{175:1,3:1,23:1,17:1},Pu);var D$,x$,B$,$$,U$,F$,V$,z$=op(hY,"ConstraintCalculationStrategy",175,oA,(function(){return Pv(),_j(Ni(z$,1),bP,175,0,[_$,M$])}));lL(125,17,{125:1,3:1,23:1,17:1},Ru);var q$,Q$,K$,W$=op(hY,"GraphCompactionStrategy",125,oA,(function(){return LC(),_j(Ni(W$,1),bP,125,0,[F$,B$,V$,U$,$$,x$])}));lL(455,1,KR,zf),IT.sc=function(n,t){var e,r,c;if((r=zh(Pj(n,(yT(),Aq)),125))!=(LC(),F$)){if(ZS(t,"Horizontal Compaction",1),this.a=n,li(e=new RI(hG(c=new qo,n)),this.b),1===zh(Pj(n,_q),175).e)bi(e,Q$);else bi(e,(Wl(),xx));switch(r.e){case 1:$G(e);break;case 2:$G(TO(e,(Py(),t_)));break;case 3:$G(ha(TO($G(e),(Py(),t_))));break;case 4:$G(ha(hi(TO($G(e),(Py(),t_)),new Fn)));break;case 5:$G(function(n,t){return n.b=t,n}(e,K$))}TO(e,(Py(),n_)),e.e=!0,YG(c),Zy(t)}};Bw(hY,"HorizontalGraphCompactor",455);lL(462,1,{},ye),IT.tc=function(n,t){var e,r;return ds(n,82)&&ds(t,82)&&!Bp(am(zh(n,82).d,zh(t,82).d))?0:(e=null,ds(n,93)&&(e=zh(n,93).b),r=null,ds(t,93)&&(r=zh(t,93).b),e&&e.g==(KH(),uB)||r&&r.g==(KH(),uB)?0:ps(zh(Pj(this.a.a,(jT(),qz)),134),e?e.g:(KH(),fB),r?r.g:(KH(),fB)))},IT.uc=function(n,t){return ds(n,82)&&ds(t,82)&&!Bp(am(zh(n,82).d,zh(t,82).d))?1:xi(n.xc(),t.xc())};Bw(hY,"HorizontalGraphCompactor/1",462);lL(456,317,{},rl),IT.Dc=function(n){var t,e,r;for(this.b=n,GI(this,new Vn,this.a),GI(this,new zn,this.a),t=_R,r=new Qe(this.b.a.b);r.a(r=Math.ceil(r))?0:r,t.o&&i.o&&ds(t,82)&&ds(i,82)&&!Bp(am(zh(t,82).d,zh(i,82).d))?(c=us(new Yr,n.d),u=Eg(To(i.g.a-t.g.a)),ML(la(da(ga(wa(new Rr,0>u?0:u),1),c),n.c[t.f.d])),ML(la(da(ga(wa(new Rr,0>-u?0:-u),1),c),n.c[i.f.d]))):(f=1,(ds(t,82)&&ds(i,93)||ds(i,82)&&ds(t,93))&&(f=2),ML(la(da(ga(wa(new Rr,Eg(r)),f),n.c[t.f.d]),n.c[i.f.d]))))}(this),function(n){var t,e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v;for(Es(),s=new jr,o=new qu,r=new Qe(n.a.a.b);r.at.j.d){if((l=n.c[t.f.d])==(g=n.c[b.f.d]))continue;ML(la(da(ga(wa(new Rr,1),100),l),g))}}}(this),function(n){var t,e,r,c,i,a;for(c=new oi,r=new Qe(n.d.a);r.a1)for(t=us(ka(new Yr,n.b++),n.d),a=BE(c,0);a.b!=a.d.c;)i=zh(Yv(a),61),ML(la(da(ga(wa(new Rr,1),0),t),i))}(this),MG(eh(this.d),new qb),c=new Qe(this.a.a.b);c.a0&&(this.a[D.k]=W++)}else{for(P=0,x=new Qe(C.f);x.a0&&++W}for(tn=0,G=0,T=t.length;G0;){for(Pf(U.b>0),$=0,a=new Qe((D=zh(U.a.sb(U.c=--U.b),7)).b);a.a0&&(D.g==(FO(),cD)?(this.a[D.k]=tn,++tn):(this.a[D.k]=tn+R+A,++A))}tn+=A}else{for(P=0,x=new Qe(C.f);x.a0&&++tn}for(B=new jr,w=new Jc,I=0,N=n.length;Is.c&&(s.c=F)):D.f.d==K&&(Fs.d&&(s.d=F));for(nH(d,0,d.length,(Xu(),Xu(),wQ)),nn=Pk(OQ,BP,26,d.length,12,1),e=Pk(OQ,BP,26,tn+1,12,1),v=0;v0;)j%2>0&&(r+=cn[j+1]),++cn[j=(j-1)/2|0];for(E=Pk(Z$,fP,158,2*d.length,0,1),m=0;mt.f?1:n.gt.g?1:n.b-t.b}(this,zh(n,204))},IT.b=0,IT.c=0,IT.d=0,IT.f=0,IT.g=0;var J$=Bw(lY,"BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge",204);lL(158,1,{158:1,23:1},Hd),IT.F=function(n){return function(n,t){return n.ct.c?1:n.bt.b?1:n.a!=t.a?n.a.b-t.a.b:0==n.d&&1==t.d?-1:1==n.d&&0==t.d?1:0}(this,zh(n,158))},IT.b=0,IT.c=0,IT.d=0;var Z$=Bw(lY,"BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner",158);lL(611,339,{},Fc),IT.Gc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S;for(S=0,c=0,a=n[0].d,p=t[0].d,f=0,b=t.length;f0;){for(Pf(k.b>0),v=0,r=new Qe((d=zh(k.a.sb(k.c=--k.b),7)).b);r.a0&&(d.g==(FO(),cD)?(this.a[d.k]=S,++S):(this.a[d.k]=S+l+w,++w),c+=v)}S+=w}else{for(h=0,g=new Qe(u.f);g.a0&&(++S,c+=h)}for(m=Pk(OQ,BP,26,c,12,1),i=0,o=0,s=n.length;o0;)i%2>0&&(r+=u[i+1]),++u[i=(i-1)/2|0];return r}(S,c,m),e};Bw(lY,"BetweenLayerStraightEdgeAllCrossingsCounter",611);lL(338,1,{},GC),IT.b=0,IT.e=!1;Bw(lY,"CrossingMatrixFiller",338);lL(447,1,KR,nt),IT.sc=function(n,t){var e,r;ZS(t,"Greedy switch crossing reduction",1),this.e=zh(Pj(n,(yT(),Eq)),110),n.c.c.length<2||this.e==(QN(),AV)||(function(n,t){var e,r,c,i,a,u,o,f;for(n.f=t,c=t.c.c.length,n.a=Pk(hB,AT,51,c,0,2),n.d=Pk(hB,AT,51,c,0,2),n.g=Pk(hB,AT,51,c,0,2),a=new tv(t.c,0);a.bAb(n.d,xf(t.a,t.b))?-1:n.c==t.c&&xf(n.a,n.b)==xf(n.a,n.b)?0:1}(this,zh(n,226))},IT.w=function(){return"ComparableEdgeAndPort [port="+this.b+", edge="+this.a+", portPosition="+this.c+"]"},IT.c=0;Bw(lY,"InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort",226);lL(612,1,{},lH),IT.e=!0,IT.f=0,IT.g=0,IT.k=!1;Bw(lY,"NorthSouthEdgeAllCrossingsCounter",612);lL(615,1,{},tj),IT.b=0,IT.d=0,IT.e=!1;Bw(lY,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",615);lL(143,1,OP,zb),IT.mb=function(){return YL(this)},IT.b=0;Bw(lY,"PortIterable",143);lL(344,1,vP,Yg),IT.H=function(){return zh(dw(this.a),7)},IT.G=function(){return this.a.b>0},IT.I=function(){throw new Qr};Bw(lY,"PortIterable/1",344);lL(336,1,{},ZH);Bw(lY,"SwitchDecider",336);lL(89,1,{89:1},tt),IT.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},IT.a=1,IT.b=0,IT.e=!1,IT.f=0;var X$=Bw(dY,"NEdge",89);lL(157,1,{},Rr);Bw(dY,"NEdge/NEdgeBuilder",157);lL(278,1,{},Pr);Bw(dY,"NGraph",278);lL(61,1,{61:1},$v),IT.b=0,IT.d=-1,IT.e=0,IT.i=-1,IT.j=!1;var nU=Bw(dY,"NNode",61);lL(333,13,zR,Br),IT.rb=function(n,t){++this.d,Gk(n,this.c.length),Io(this.c,n,t)},IT.ib=function(n){return Iw(this,n)},IT.jb=function(n){return++this.d,wj(this,n)},IT.Q=function(){++this.d,this.c=Pk(WY,fP,1,0,4,1)},IT.vb=function(n){return++this.d,Hk(this,n)},IT.nb=function(n){return _f(this,n)};Bw(dY,"NNode/ChangeAwareArrayList",333);lL(199,1,{},Yr);Bw(dY,"NNode/NNodeBuilder",199);lL(595,1,{},et),IT.a=!1,IT.f=UT,IT.j=0;var tU,eU;Bw(dY,"NetworkSimplex",595);lL(193,17,{180:1,193:1,3:1,23:1,17:1},Yu),IT.rc=function(){switch(this.e){case 0:return new Yh;case 1:return new mt;default:throw new ii("No implementation is available for the cycle breaker "+(null!=this.d?this.d:""+this.e))}};var rU,cU,iU=op(vY,"CycleBreakingStrategy",193,oA,(function(){return qd(),_j(Ni(iU,1),bP,193,0,[tU,eU])}));lL(539,1,kY,Yh),IT.qc=function(n){return cU},IT.sc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j,y,S,E,H,C,I,L,G,N,O;for(ZS(t,"Greedy cycle removal",1),O=(v=n.b).c.length,this.a=Pk(OQ,BP,26,O,12,1),this.c=Pk(OQ,BP,26,O,12,1),this.b=Pk(OQ,BP,26,O,12,1),u=0,d=new Qe(v);d.a0?H+1:1);for(c=new Qe(m.e);c.a0?H+1:1)}0==this.c[u]?Th(this.d,l):0==this.a[u]&&Th(this.e,l),++u}for(h=-1,b=1,f=new Rt,C=zh(Pj(n,(jT(),Uz)),154);O>0;){for(;0!=this.d.b;)L=zh(yh(this.d),9),this.b[L.k]=h--,eN(this,L),--O;for(;0!=this.e.b;)G=zh(yh(this.e),9),this.b[G.k]=b++,eN(this,G),--O;if(O>0){for(s=KT,g=new Qe(v);g.a=s&&(k>s&&(f.c=Pk(WY,fP,1,0,4,1),s=k),f.c[f.c.length]=l);o=zh(vl(f,oH(C,f.c.length)),9),this.b[o.k]=b++,eN(this,o),--O}}for(I=v.c.length+1,u=0;uthis.b[N]&&(mN(e,!0),ip(n,lz,(ql(),ql(),tQ)));this.a=null,this.c=null,this.b=null,Yd(this.e),Yd(this.d),Zy(t)};var aU;Bw(vY,"GreedyCycleBreaker",539);lL(540,1,kY,mt),IT.qc=function(n){return aU},IT.sc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l;for(ZS(t,"Interactive cycle breaking",1),f=new Rt,b=new Qe(n.b);b.a0&&zC(this,a,f);for(r=new Qe(f);r.a(a=u+f.j.a)?u+1:a,d=new tv(e,0),r=null;d.b=a){Pf(d.b>0),d.a.sb(d.c=--d.b);break}l.a>u&&(r?(wj(r.b,l.b),r.a=_i(r.a,l.a),bd(d)):(Ph(l.b,f),l.c=xi(l.c,u),l.a=_i(l.a,a),r=l))}r||((r=new Ar).c=u,r.a=a,ch(d,r),Ph(r.b,f))}for(i=n.c,o=0,w=new Qe(e);w.a0&&(e+=a.i.a+a.j.a/2,++f),s=new Qe(a.f);s.a1&&(n.c[s]=!0):k.g==SD&&k.e.c.length+k.b.c.length>1&&(n.d[s]=!0)}d.g==(KH(),bB)&&(++u[s],i[s]=!0)}for(e=!0,w=!0,a=0;a0;I++){o=(f=0!=zI(C,1))?0:d-1,u=this.b[o],E=0!=zI(C,1)?y:k,wS(u,c,f,!1,!0),i=UT,a=!0;do{if(Fm(this.b,this.k),H=i,i=0,i+=hp(this.f,u,o),f){for(g=1;g=0;g--)s=this.b[g],Ek(E,u,(bm(),uq)),wS(s,c,!1,!a,!1),i+=hp(this.f,s,g),this.c[g]||this.d[g+1]?i+=ET(this.e,s,u):i+=wT(this.i,s,u),u=s;o=0}a=!1,f=!f}while(i0);(ir?i:r;if(i>a){for(s=GS(n,e).mb();s.G();)h[(f=zh(s.H(),7)).k]=t+iL(e,f.g)-a;return i-a}return 0}switch(e.e){case 1:for(c=0,u=0,b=new Qe(n.f);b.a"),nt.e?1:n.ft.f?1:wb(n)-wb(t)}(this,zh(n,197))},IT.b=0,IT.c=0,IT.e=0,IT.f=0;var CU=Bw(LY,"HyperedgeCrossingsCounter/Hyperedge",197);lL(156,1,{156:1,23:1},Bd),IT.F=function(n){return function(n,t){return n.ct.c?1:n.bt.b?1:n.a!=t.a?wb(n.a)-wb(t.a):n.d==(vv(),LU)&&t.d==IU?-1:n.d==IU&&t.d==LU?1:0}(this,zh(n,156))},IT.b=0,IT.c=0;var IU,LU,GU=Bw(LY,"HyperedgeCrossingsCounter/HyperedgeCorner",156);lL(242,17,{242:1,3:1,23:1,17:1},io);var NU,OU=op(LY,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",242,oA,(function(){return vv(),_j(Ni(OU,1),bP,242,0,[LU,IU])}));lL(545,1,kY,Ct),IT.qc=function(n){return zh(Pj(n,(jT(),mz)),18).kb((kG(),LV))?NU:null},IT.sc=function(n,t){var e;for(ZS(t,"Interactive node placement",1),this.a=zh(Pj(n,(jT(),qz)),134),e=new Qe(n.c);e.a0&&f[r]&&(w=ah(n.b,f[r],o)),d=_i(d,c.d.c.b+w);for(i=new Qe(s.f);i.am)?(o=2,a=UT):0==o?(o=1,a=y):(o=0,a=y):(h=y>=a||a-y0?(s=zh(vl(b.d.a,i-1),9),S=Ih(n.b,b,s),d=b.i.b-b.e.d-(s.i.b+s.j.b+s.e.a+S)):d=b.i.b-b.e.d,o=d0?S:0,l.c=e,l.d=zh(td(p,f.c.f),61),Iw(l.c.g,l),Iw(l.d.c,l),(C=new tt).f=WE(f),C.a=S<0?-S:0,C.c=e,C.d=zh(td(p,f.d.f),61),Iw(C.c.g,C),Iw(C.d.c,C));for(c=zh(Pj(n,(yT(),Bq)),24).a*Eg(Math.sqrt(k)),MG(wi(di(eh(r),c),!1),$m(t,1)),d=new Qe(r.a);d.aa)&&Gw(n.c,zh(g.b,12));++u}i=a}}}(this,n),Yp(4,MP),h=new vp(4),zh(Pj(n,Sq),124).e){case 3:l=new _L(n,this.d.d,(dv(),qU),(dg(),VU)),h.c[h.c.length]=l;break;case 1:w=new _L(n,this.d.d,(dv(),QU),(dg(),VU)),h.c[h.c.length]=w;break;case 4:v=new _L(n,this.d.d,(dv(),qU),(dg(),zU)),h.c[h.c.length]=v;break;case 2:k=new _L(n,this.d.d,(dv(),QU),(dg(),zU)),h.c[h.c.length]=k;break;default:l=new _L(n,this.d.d,(dv(),qU),(dg(),VU)),w=new _L(n,this.d.d,QU,VU),v=new _L(n,this.d.d,qU,zU),k=new _L(n,this.d.d,QU,zU),h.c[h.c.length]=v,h.c[h.c.length]=k,h.c[h.c.length]=l,h.c[h.c.length]=w}for(e=new ho(n,this.d),i=new Qe(h);i.ay[o]&&(w=o),s=new Qe(n.b.c);s.aAI(r))&&(f=r);for(!f&&(Nk(0,h.c.length),f=zh(h.c[0],81)),b=new Qe(n.c);b.a0?1:r<0?-1:0)}(this,zh(n,27),zh(t,27))};Bw(OY,"NeighborhoodInformation/NeighborComparator",598);lL(334,1,{});Bw(OY,"ThresholdStrategy",334);lL(602,334,{},jc),IT.Ic=function(n,t,e){return this.a.k==(dv(),QU)?_R:MR},IT.Jc=function(){};Bw(OY,"ThresholdStrategy/NullThresholdStrategy",602);lL(249,1,{249:1},lo),IT.c=!1,IT.d=!1;Bw(OY,"ThresholdStrategy/Postprocessable",249);lL(603,334,{},yc),IT.Ic=function(n,t,e){var r,c,i;return c=t==e,r=this.a.a[e.k]==t,c||r?(i=n,this.a.c,dg(),c&&(i=NN(this,t,!0)),(i==1/0||i==-1/0)&&r&&(i=NN(this,e,!1)),i):n},IT.Jc=function(){for(var n,t,e;0!=this.d.b;)(t=jG(this,e=zh(tg(this.d),249))).a&&(n=t.a,this.c.a[n.c.f.d.k]!==this.c.a[n.d.f.d.k]&&(XI(this,e)||ff(this.e,e)));for(;0!=this.e.a.c.length;)XI(this,zh(ny(this.e),249))};Bw(OY,"ThresholdStrategy/SimpleThresholdStrategy",603);lL(423,1,{180:1},ut),IT.rc=function(){switch(this.a.e){case 1:return new Bo;case 3:return new Ot;default:return new Nt}};var eF,rF,cF,iF,aF,uF,oF,fF;Bw(TY,"EdgeRouterFactory",423);lL(538,1,kY,Nt),IT.qc=function(n){var t,e;return e=zh(Pj(n,(jT(),mz)),18),t=new dS,e.kb((kG(),GV))&&(Bm(t,iF),Bm(t,uF)),(e.kb(OV)||ei(ri(Ob(Pj(n,(yT(),yq))))))&&(Bm(t,uF),e.kb(TV)&&Bm(t,oF)),e.kb(LV)&&Bm(t,cF),e.kb(RV)&&Bm(t,fF),e.kb(NV)&&Bm(t,aF),e.kb(HV)&&Bm(t,eF),e.kb(IV)&&Bm(t,rF),t},IT.sc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l;ZS(t,"Orthogonal edge routing",1),h=zh(Pj(n,(jT(),qz)),134),ei(ri(Ob(Pj(n,(HT(),D_))))),s=new YC(0,h.a),l=0,i=new tv(n.c,0),a=null,u=null;do{f=(o=i.b0?(e=h.b+(b-1)*h.a,o&&(e+=h.b),e"+this.b},IT.c=0;Bw(TY,"OrthogonalRoutingGenerator/Dependency",118);lL(80,1,{80:1,23:1},rj),IT.F=function(n){return function(n,t){return n.d-t.d}(this,zh(n,80))},IT.t=function(n){var t;return!!ds(n,80)&&(t=zh(n,80),this.d==t.d)},IT.v=function(){return this.d},IT.w=function(){var n,t,e,r;for(n=new zi("{"),r=new Qe(this.g);r.aQR&&(c=new Za(o,b),Th(e.a,c),gG(this.a,e,n,c,!1),i=new Za(s,b),Th(e.a,i),gG(this.a,e,n,i,!1))},IT.Lc=function(n){return n.f.i.a+n.i.a+n.a.a},IT.Mc=function(){return FO(),jD},IT.Nc=function(){return FO(),cD};Bw(TY,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580);lL(581,1,{},Re),IT.Kc=function(n,t){var e,r,c,i,a,u,o,f,s,b;for(b=t-n.i*this.a.c,u=new Qe(n.g);u.aQR&&(c=new Za(o,b),Th(e.a,c),gG(this.a,e,n,c,!1),i=new Za(s,b),Th(e.a,i),gG(this.a,e,n,i,!1))},IT.Lc=function(n){return n.f.i.a+n.i.a+n.a.a},IT.Mc=function(){return FO(),cD},IT.Nc=function(){return FO(),jD};Bw(TY,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581);lL(579,1,{},Ye),IT.Kc=function(n,t){var e,r,c,i,a,u,o,f,s,b;for(b=t+n.i*this.a.c,u=new Qe(n.g);u.aQR&&(c=new Za(b,o),Th(e.a,c),gG(this.a,e,n,c,!0),i=new Za(b,s),Th(e.a,i),gG(this.a,e,n,i,!0))},IT.Lc=function(n){return n.f.i.b+n.i.b+n.a.b},IT.Mc=function(){return FO(),rD},IT.Nc=function(){return FO(),SD};var sF,bF,hF,lF,wF;Bw(TY,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579);lL(535,1,kY,Bo),IT.qc=function(n){var t,e;return e=zh(Pj(n,(jT(),mz)),18),t=new dS,(e.kb((kG(),OV))||ei(ri(Ob(Pj(n,(yT(),yq))))))&&(Bm(t,hF),e.kb(TV)&&Bm(t,lF)),e.kb(HV)&&Bm(t,sF),e.kb(IV)&&Bm(t,bF),t},IT.sc=function(n,t){var e,r,c,i,a,u,o,f,s,b,h,l,w,d,g,v,k,p,m,j;for(ZS(t,"Polyline edge routing",1),b=zh(Pj(n,(jT(),zz)),15).a,e=zh(Pj(n,(yT(),jq)),15).a,g=0,0!=n.c.c.length&&(g=.4*e*(v=tL(zh(vl(n.c,0),16)))),i=new tv(n.c,0);i.b0&&(g-=b),cO(c,g),o=0,s=new Qe(c.a);s.a(d-w<=0?0-(d-w):d-w)?u:d-w<=0?0-(d-w):d-w;switch(f.g.e){case 0:case 4:case 1:case 3:PN(this,f,g)}o=o>u?o:u}i.b(v=tL((Pf(i.b0),i.a.sb(i.c=--i.b)),a=.4*e*o,!r&&i.b0?((h=(v+1)*this.a)=0&&(N+=(v+2)*this.a)}d=m,o=f}while(m);for(r=new Qe(I);r.a("+this.c+") "+this.b},IT.c=0;var WF,JF;Bw(PY,"SplineEdgeRouter/Dependency",117);lL(223,17,{223:1,3:1,23:1,17:1},wo);var ZF=op(PY,"SplineEdgeRouter/SideToProcess",223,oA,(function(){return gg(),_j(Ni(ZF,1),bP,223,0,[WF,JF])}));lL(77,1,{77:1,23:1},hI,eO),IT.F=function(n){return function(n,t){return n.i-t.i}(this,zh(n,77))},IT.a=0,IT.b=0,IT.e=0,IT.f=!1,IT.i=0,IT.k=0,IT.n=0,IT.p=0;var XF,nV,tV,eV,rV,cV;Bw(PY,"SplineEdgeRouter/SplineHyperEdge",77);lL(123,17,{123:1,3:1,23:1,17:1},go);var iV,aV,uV,oV,fV=op(MY,"ContentAlignment",123,oA,(function(){return qH(),_j(Ni(fV,1),bP,123,0,[cV,rV,eV,nV,XF,tV])}));lL(218,17,{218:1,3:1,23:1,17:1},vo);var sV,bV,hV,lV,wV,dV=op(MY,"EdgeConstraint",218,oA,(function(){return Vj(),_j(Ni(dV,1),bP,218,0,[uV,aV,oV])}));lL(115,17,{115:1,3:1,23:1,17:1},ko);var gV,vV,kV,pV,mV,jV,yV,SV=op(MY,"EdgeLabelSideSelection",115,oA,(function(){return TH(),_j(Ni(SV,1),bP,115,0,[bV,sV,lV,hV,wV])}));lL(124,17,{124:1,3:1,23:1,17:1},po);var EV,HV,CV,IV,LV,GV,NV,OV,TV,PV,RV,YV=op(MY,"FixedAlignment",124,oA,(function(){return zH(),_j(Ni(YV,1),bP,124,0,[mV,pV,yV,kV,jV,vV])}));lL(113,17,{113:1,3:1,23:1,17:1},mo);var AV,_V,MV,DV,xV,BV,$V,UV,FV=op(MY,"GraphProperties",113,oA,(function(){return kG(),_j(Ni(FV,1),bP,113,0,[CV,LV,GV,NV,OV,TV,RV,HV,IV,PV])}));lL(110,17,{110:1,3:1,23:1,17:1},Nv),IT.a=!1,IT.b=!1,IT.c=!1;var VV,zV,qV,QV,KV=op(MY,"GreedySwitchType",110,oA,(function(){return QN(),_j(Ni(KV,1),bP,110,0,[_V,BV,MV,$V,DV,UV,xV,AV])}));lL(140,17,{140:1,3:1,23:1,17:1},jo);var WV,JV,ZV=op(MY,"InLayerConstraint",140,oA,(function(){return zp(),_j(Ni(ZV,1),bP,140,0,[qV,QV,zV])}));lL(174,17,{174:1,3:1,23:1,17:1},yo);var XV,nz,tz,ez,rz,cz,iz,az,uz,oz,fz,sz,bz,hz,lz,wz,dz,gz,vz,kz,pz,mz,jz,yz,Sz,Ez,Hz,Cz,Iz,Lz,Gz,Nz,Oz,Tz,Pz,Rz,Yz,Az,_z,Mz,Dz,xz,Bz,$z,Uz,Fz,Vz,zz,qz,Qz,Kz,Wz,Jz,Zz,Xz,nq,tq,eq,rq,cq,iq=op(MY,"InteractiveReferencePoint",174,oA,(function(){return wv(),_j(Ni(iq,1),bP,174,0,[WV,JV])}));lL(85,17,{85:1,3:1,23:1,17:1},So);var aq,uq,oq,fq,sq=op(MY,"LayerConstraint",85,oA,(function(){return iH(),_j(Ni(sq,1),bP,85,0,[cq,nq,tq,eq,rq])}));lL(219,17,{219:1,3:1,23:1,17:1},Eo);var bq,hq,lq,wq,dq,gq,vq,kq,pq,mq,jq,yq,Sq,Eq,Hq,Cq,Iq,Lq,Gq,Nq,Oq,Tq,Pq,Rq,Yq,Aq,_q,Mq,Dq,xq,Bq,$q,Uq,Fq,Vq,zq=op(MY,"PortType",219,oA,(function(){return bm(),_j(Ni(zq,1),bP,219,0,[fq,uq,oq])}));lL(153,17,{153:1,3:1,23:1,17:1},Ho);var qq,Qq=op(MY,"SelfLoopPlacement",153,oA,(function(){return FS(),_j(Ni(Qq,1),bP,153,0,[Uq,Vq,Fq])}));lL(134,1,{134:1},xO),IT.a=0,IT.b=0,IT.c=0,IT.d=0,IT.e=0,IT.f=0;var Kq,Wq,Jq;Bw(MY,"Spacings",134);lL(172,17,{172:1,3:1,23:1,17:1},Co);var Zq,Xq=op(MY,"WideNodesStrategy",172,oA,(function(){return Qm(),_j(Ni(Xq,1),bP,172,0,[Kq,Wq,Jq])}));lL(644,1,{});Bw(cP,"OutputStream",644);lL(645,644,{});Bw(cP,"FilterOutputStream",645);lL(291,645,{},ft);Bw(cP,"PrintStream",291);lL(255,1,{}),IT.w=function(){return this.a};Bw(tP,"AbstractStringBuilder",255);lL(621,95,MT,Sc);Bw(tP,"ArrayIndexOutOfBoundsException",621);lL(290,72,MT,Vr,mi);Bw(tP,"ArrayStoreException",290);lL(252,46,_T);Bw(tP,"Error",252);lL(84,252,_T,mr,gp);var nQ,tQ;Bw(tP,"AssertionError",84);TT={3:1,349:1,23:1};var eQ=Bw(tP,"Boolean",349);PT={3:1,23:1,184:1,231:1};var rQ=Bw(tP,"Double",184);lL(15,231,{3:1,23:1,15:1,231:1},_e,Me),IT.F=function(n){return function(n,t){return xj(n.a,t.a)}(this,zh(n,15))},IT.t=function(n){return ds(n,15)&&zh(n,15).a==this.a},IT.v=function(){return Eg(this.a)},IT.w=function(){return n=this.a,cc(),""+n;var n},IT.a=0;var cQ=Bw(tP,"Float",15);lL(101,72,MT,zr,ji);var iQ,aQ;Bw(tP,"IllegalStateException",101);lL(608,72,MT,yi);Bw(tP,"NegativeArraySizeException",608);lL(76,72,{3:1,54:1,76:1,46:1},qr,Si);Bw(tP,"NullPointerException",76);lL(130,29,{3:1,54:1,29:1,130:1,46:1},Ec,Qi);Bw(tP,"NumberFormatException",130);lL(146,1,{3:1,146:1},$d),IT.t=function(n){var t;return!!ds(n,146)&&(t=zh(n,146),this.c==t.c&&Nd(this.d,t.d)&&Nd(this.a,t.a)&&Nd(this.b,t.b))},IT.v=function(){return iy(_j(Ni(WY,1),fP,1,4,[iS(this.c),this.a,this.d,this.b]))},IT.w=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},IT.c=0;var uQ=Bw(tP,"StackTraceElement",146);lL(98,255,{345:1},Zi,Xi,zi);var oQ;Bw(tP,"StringBuilder",98);lL(45,72,{3:1,54:1,46:1,45:1},Qr,Ei);Bw(tP,"UnsupportedOperationException",45);lL(213,638,kP),IT.Q=function(){Ik(this)},IT.R=function(n){return np(this,n)},IT.ab=function(n){return fy(this,n,this.e)||fy(this,n,this.d)},IT.bb=function(){return new De(this)},IT.cb=function(n){return td(this,n)},IT.db=function(n,t){return yd(this,n,t)},IT.eb=function(n){return Xl(this,n)},IT.Y=function(){return Du(this)};Bw(pP,"AbstractHashMap",213);lL(120,641,jP,De),IT.Q=function(){this.a.Q()},IT.kb=function(n){return kv(this,n)},IT.mb=function(){return new ry(this.a)},IT.nb=function(n){var t;return!!kv(this,n)&&(t=zh(n,21).yb(),this.a.eb(t),!0)},IT.Y=function(){return this.a.Y()};Bw(pP,"AbstractHashMap/EntrySet",120);lL(148,1,vP,ry),IT.H=function(){return Xp(this)},IT.G=function(){return this.b},IT.I=function(){Kk(this)},IT.b=!1;Bw(pP,"AbstractHashMap/EntrySetIterator",148);lL(162,1,vP,xe),IT.G=function(){return this.b0},IT.L=function(){return this.b},IT.M=function(){return dw(this)},IT.N=function(){return this.b-1},IT.O=function(n){ih(this,n)};Bw(pP,"AbstractList/ListIteratorImpl",43);lL(258,647,yP,Zg),IT.rb=function(n,t){Gk(n,this.b),this.c.rb(this.a+n,t),++this.b},IT.sb=function(n){return Nk(n,this.b),this.c.sb(this.a+n)},IT.vb=function(n){var t;return Nk(n,this.b),t=this.c.vb(this.a+n),--this.b,t},IT.wb=function(n,t){return Nk(n,this.b),this.c.wb(this.a+n,t)},IT.Y=function(){return this.b},IT.a=0,IT.b=0;Bw(pP,"AbstractList/SubList",258);lL(36,641,jP,Be),IT.Q=function(){this.a.Q()},IT.kb=function(n){return this.a.R(n)},IT.mb=function(){return new $e(this.a.bb().mb())},IT.nb=function(n){return!!this.a.R(n)&&(this.a.eb(n),!0)},IT.Y=function(){return this.a.Y()};Bw(pP,"AbstractMap/1",36);lL(40,1,vP,$e),IT.G=function(){return this.a.G()},IT.H=function(){return zh(this.a.H(),21).yb()},IT.I=function(){this.a.I()};Bw(pP,"AbstractMap/1/1",40);lL(211,640,mP,Ue),IT.Q=function(){this.a.Q()},IT.kb=function(n){return this.a.ab(n)},IT.mb=function(){return new Fe(this.a.bb().mb())},IT.Y=function(){return this.a.Y()};Bw(pP,"AbstractMap/2",211);lL(212,1,vP,Fe),IT.G=function(){return this.a.G()},IT.H=function(){return zh(this.a.H(),21).zb()},IT.I=function(){this.a.I()};Bw(pP,"AbstractMap/2/1",212);lL(210,1,{210:1,21:1}),IT.t=function(n){var t;return!!ds(n,21)&&(t=zh(n,21),Nd(this.d,t.yb())&&Nd(this.e,t.zb()))},IT.yb=function(){return this.d},IT.zb=function(){return this.e},IT.v=function(){return $f(this.d)^$f(this.e)},IT.Ab=function(n){return ph(this,n)},IT.w=function(){return this.d+"="+this.e};Bw(pP,"AbstractMap/AbstractEntry",210);lL(163,210,{210:1,163:1,21:1},Do);Bw(pP,"AbstractMap/SimpleEntry",163);lL(652,1,CP),IT.t=function(n){var t;return!!ds(n,21)&&(t=zh(n,21),Nd(this.yb(),t.yb())&&Nd(this.zb(),t.zb()))},IT.v=function(){return $f(this.yb())^$f(this.zb())},IT.w=function(){return this.yb()+"="+this.zb()};Bw(pP,IP,652);lL(639,638,kP),IT._=function(n){return Ok(this,n)},IT.R=function(n){return Yo(this,n)},IT.bb=function(){return new Ve(this)},IT.cb=function(n){return Wo(sy(this,n))},IT.W=function(){return new ze(this)};Bw(pP,"AbstractNavigableMap",639);lL(287,641,jP,Ve),IT.kb=function(n){return ds(n,21)&&Ok(this.b,zh(n,21))},IT.mb=function(){return new wh(this.b)},IT.nb=function(n){var t;return!!ds(n,21)&&(t=zh(n,21),Vk(this.b,t))},IT.Y=function(){return this.b.c};Bw(pP,"AbstractNavigableMap/EntrySet",287);lL(229,641,HP,ze),IT.Q=function(){si(this.a)},IT.kb=function(n){return Yo(this.a,n)},IT.mb=function(){return new qe(new wh(new eb(this.a).b))},IT.nb=function(n){return!!Yo(this.a,n)&&(kd(this.a,n),!0)},IT.Y=function(){return this.a.c};Bw(pP,"AbstractNavigableMap/NavigableKeySet",229);lL(230,1,vP,qe),IT.G=function(){return Mu(this.a.a)},IT.H=function(){return vb(this.a).yb()},IT.I=function(){il(this.a)};Bw(pP,"AbstractNavigableMap/NavigableKeySet/1",230);lL(4,1,vP,Qe),IT.G=function(){return gs(this)},IT.H=function(){return rv(this)},IT.I=function(){ww(this)},IT.a=0,IT.b=-1;Bw(pP,"ArrayList/1",4);lL(94,647,xY,Ke),IT.kb=function(n){return-1!=function(n,t){var e,r;for(e=0,r=n.Y();eli{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/core/static/vendored/font-awesome/fonts/FontAwesome.otf b/core/static/vendored/font-awesome/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f3..00000000 Binary files a/core/static/vendored/font-awesome/fonts/FontAwesome.otf and /dev/null differ diff --git a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.eot b/core/static/vendored/font-awesome/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.svg b/core/static/vendored/font-awesome/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.ttf b/core/static/vendored/font-awesome/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff b/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff2 b/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/core/static/vendored/font-awesome/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/core/static/vendored/font-awesome/js/fontawesome.min.js b/core/static/vendored/font-awesome/js/fontawesome.min.js deleted file mode 100644 index 2877154a..00000000 --- a/core/static/vendored/font-awesome/js/fontawesome.min.js +++ /dev/null @@ -1,1232 +0,0 @@ -/*! - * Font Awesome Free 5.8.2 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -!function() { - "use strict"; - function r(t) { - return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { - return typeof t; - } : function(t) { - return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; - })(t); - } - function i(t, n) { - for (var e = 0; e < n.length; e++) { - var a = n[e]; - a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), - Object.defineProperty(t, a.key, a); - } - } - function W(r) { - for (var t = 1; t < arguments.length; t++) { - var i = null != arguments[t] ? arguments[t] : {}, n = Object.keys(i); - "function" == typeof Object.getOwnPropertySymbols && (n = n.concat(Object.getOwnPropertySymbols(i).filter(function(t) { - return Object.getOwnPropertyDescriptor(i, t).enumerable; - }))), n.forEach(function(t) { - var n, e, a; - n = r, a = i[e = t], e in n ? Object.defineProperty(n, e, { - value: a, - enumerable: !0, - configurable: !0, - writable: !0 - }) : n[e] = a; - }); - } - return r; - } - function m(t, n) { - return function(t) { - if (Array.isArray(t)) return t; - }(t) || function(t, n) { - var e = [], a = !0, r = !1, i = void 0; - try { - for (var o, s = t[Symbol.iterator](); !(a = (o = s.next()).done) && (e.push(o.value), - !n || e.length !== n); a = !0) ; - } catch (t) { - r = !0, i = t; - } finally { - try { - a || null == s.return || s.return(); - } finally { - if (r) throw i; - } - } - return e; - }(t, n) || function() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - }(); - } - function d(t) { - return function(t) { - if (Array.isArray(t)) { - for (var n = 0, e = new Array(t.length); n < t.length; n++) e[n] = t[n]; - return e; - } - }(t) || function(t) { - if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t); - }(t) || function() { - throw new TypeError("Invalid attempt to spread non-iterable instance"); - }(); - } - var t = function() {}, n = {}, e = {}, a = null, o = { - mark: t, - measure: t - }; - try { - "undefined" != typeof window && (n = window), "undefined" != typeof document && (e = document), - "undefined" != typeof MutationObserver && (a = MutationObserver), "undefined" != typeof performance && (o = performance); - } catch (t) {} - var s = (n.navigator || {}).userAgent, c = void 0 === s ? "" : s, g = n, v = e, l = a, f = o, u = !!g.document, h = !!v.documentElement && !!v.head && "function" == typeof v.addEventListener && "function" == typeof v.createElement, k = ~c.indexOf("MSIE") || ~c.indexOf("Trident/"), p = "___FONT_AWESOME___", A = 16, b = "fa", y = "svg-inline--fa", U = "data-fa-i2svg", w = "data-fa-pseudo-element", x = "data-fa-pseudo-element-pending", C = "data-prefix", M = "data-icon", N = "fontawesome-i2svg", S = "async", z = [ "HTML", "HEAD", "STYLE", "SCRIPT" ], O = function() { - try { - return !1; - } catch (t) { - return !1; - } - }(), E = { - fas: "solid", - far: "regular", - fal: "light", - fab: "brands", - fa: "solid" - }, j = { - solid: "fas", - regular: "far", - light: "fal", - brands: "fab" - }, P = "fa-layers-text", L = /Font Awesome 5 (Solid|Regular|Light|Brands|Free|Pro)/, T = { - 900: "fas", - 400: "far", - normal: "far", - 300: "fal" - }, _ = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], I = _.concat([ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]), R = [ "class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask" ], H = [ "xs", "sm", "lg", "fw", "ul", "li", "border", "pull-left", "pull-right", "spin", "pulse", "rotate-90", "rotate-180", "rotate-270", "flip-horizontal", "flip-vertical", "flip-both", "stack", "stack-1x", "stack-2x", "inverse", "layers", "layers-text", "layers-counter" ].concat(_.map(function(t) { - return "".concat(t, "x"); - })).concat(I.map(function(t) { - return "w-".concat(t); - })), D = g.FontAwesomeConfig || {}; - if (v && "function" == typeof v.querySelector) { - [ [ "data-family-prefix", "familyPrefix" ], [ "data-replacement-class", "replacementClass" ], [ "data-auto-replace-svg", "autoReplaceSvg" ], [ "data-auto-add-css", "autoAddCss" ], [ "data-auto-a11y", "autoA11y" ], [ "data-search-pseudo-elements", "searchPseudoElements" ], [ "data-observe-mutations", "observeMutations" ], [ "data-mutate-approach", "mutateApproach" ], [ "data-keep-original-source", "keepOriginalSource" ], [ "data-measure-performance", "measurePerformance" ], [ "data-show-missing-icons", "showMissingIcons" ] ].forEach(function(t) { - var n, e = m(t, 2), a = e[0], r = e[1], i = "" === (n = function(t) { - var n = v.querySelector("script[" + t + "]"); - if (n) return n.getAttribute(t); - }(a)) || "false" !== n && ("true" === n || n); - null != i && (D[r] = i); - }); - } - var F = W({}, { - familyPrefix: b, - replacementClass: y, - autoReplaceSvg: !0, - autoAddCss: !0, - autoA11y: !0, - searchPseudoElements: !1, - observeMutations: !0, - mutateApproach: "async", - keepOriginalSource: !0, - measurePerformance: !1, - showMissingIcons: !0 - }, D); - F.autoReplaceSvg || (F.observeMutations = !1); - var V = W({}, F); - g.FontAwesomeConfig = V; - var X = g || {}; - X[p] || (X[p] = {}), X[p].styles || (X[p].styles = {}), X[p].hooks || (X[p].hooks = {}), - X[p].shims || (X[p].shims = []); - var B = X[p], Y = [], q = !1; - function K(t) { - h && (q ? setTimeout(t, 0) : Y.push(t)); - } - h && ((q = (v.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(v.readyState)) || v.addEventListener("DOMContentLoaded", function t() { - v.removeEventListener("DOMContentLoaded", t), q = 1, Y.map(function(t) { - return t(); - }); - })); - var G, J = "pending", Q = "settled", Z = "fulfilled", $ = "rejected", tt = function() {}, nt = "undefined" != typeof global && void 0 !== global.process && "function" == typeof global.process.emit, et = "undefined" == typeof setImmediate ? setTimeout : setImmediate, at = []; - function rt() { - for (var t = 0; t < at.length; t++) at[t][0](at[t][1]); - G = !(at = []); - } - function it(t, n) { - at.push([ t, n ]), G || (G = !0, et(rt, 0)); - } - function ot(t) { - var n = t.owner, e = n._state, a = n._data, r = t[e], i = t.then; - if ("function" == typeof r) { - e = Z; - try { - a = r(a); - } catch (t) { - ft(i, t); - } - } - st(i, a) || (e === Z && ct(i, a), e === $ && ft(i, a)); - } - function st(n, e) { - var a; - try { - if (n === e) throw new TypeError("A promises callback cannot return that same promise."); - if (e && ("function" == typeof e || "object" === r(e))) { - var t = e.then; - if ("function" == typeof t) return t.call(e, function(t) { - a || (a = !0, e === t ? lt(n, t) : ct(n, t)); - }, function(t) { - a || (a = !0, ft(n, t)); - }), !0; - } - } catch (t) { - return a || ft(n, t), !0; - } - return !1; - } - function ct(t, n) { - t !== n && st(t, n) || lt(t, n); - } - function lt(t, n) { - t._state === J && (t._state = Q, t._data = n, it(mt, t)); - } - function ft(t, n) { - t._state === J && (t._state = Q, t._data = n, it(dt, t)); - } - function ut(t) { - t._then = t._then.forEach(ot); - } - function mt(t) { - t._state = Z, ut(t); - } - function dt(t) { - t._state = $, ut(t), !t._handled && nt && global.process.emit("unhandledRejection", t._data, t); - } - function ht(t) { - global.process.emit("rejectionHandled", t); - } - function pt(t) { - if ("function" != typeof t) throw new TypeError("Promise resolver " + t + " is not a function"); - if (this instanceof pt == !1) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); - this._then = [], function(t, n) { - function e(t) { - ft(n, t); - } - try { - t(function(t) { - ct(n, t); - }, e); - } catch (t) { - e(t); - } - }(t, this); - } - pt.prototype = { - constructor: pt, - _state: J, - _then: null, - _data: void 0, - _handled: !1, - then: function(t, n) { - var e = { - owner: this, - then: new this.constructor(tt), - fulfilled: t, - rejected: n - }; - return !n && !t || this._handled || (this._handled = !0, this._state === $ && nt && it(ht, this)), - this._state === Z || this._state === $ ? it(ot, e) : this._then.push(e), e.then; - }, - catch: function(t) { - return this.then(null, t); - } - }, pt.all = function(s) { - if (!Array.isArray(s)) throw new TypeError("You must pass an array to Promise.all()."); - return new pt(function(e, t) { - var a = [], r = 0; - function n(n) { - return r++, function(t) { - a[n] = t, --r || e(a); - }; - } - for (var i, o = 0; o < s.length; o++) (i = s[o]) && "function" == typeof i.then ? i.then(n(o), t) : a[o] = i; - r || e(a); - }); - }, pt.race = function(r) { - if (!Array.isArray(r)) throw new TypeError("You must pass an array to Promise.race()."); - return new pt(function(t, n) { - for (var e, a = 0; a < r.length; a++) (e = r[a]) && "function" == typeof e.then ? e.then(t, n) : t(e); - }); - }, pt.resolve = function(n) { - return n && "object" === r(n) && n.constructor === pt ? n : new pt(function(t) { - t(n); - }); - }, pt.reject = function(e) { - return new pt(function(t, n) { - n(e); - }); - }; - var gt = "function" == typeof Promise ? Promise : pt, vt = A, bt = { - size: 16, - x: 0, - y: 0, - rotate: 0, - flipX: !1, - flipY: !1 - }; - function yt(t) { - if (t && h) { - var n = v.createElement("style"); - n.setAttribute("type", "text/css"), n.innerHTML = t; - for (var e = v.head.childNodes, a = null, r = e.length - 1; -1 < r; r--) { - var i = e[r], o = (i.tagName || "").toUpperCase(); - -1 < [ "STYLE", "LINK" ].indexOf(o) && (a = i); - } - return v.head.insertBefore(n, a), t; - } - } - var wt = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - function xt() { - for (var t = 12, n = ""; 0 < t--; ) n += wt[62 * Math.random() | 0]; - return n; - } - function kt(t) { - for (var n = [], e = (t || []).length >>> 0; e--; ) n[e] = t[e]; - return n; - } - function At(t) { - return t.classList ? kt(t.classList) : (t.getAttribute("class") || "").split(" ").filter(function(t) { - return t; - }); - } - function Ct(t, n) { - var e, a = n.split("-"), r = a[0], i = a.slice(1).join("-"); - return r !== t || "" === i || (e = i, ~H.indexOf(e)) ? null : i; - } - function Mt(t) { - return "".concat(t).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); - } - function Nt(e) { - return Object.keys(e || {}).reduce(function(t, n) { - return t + "".concat(n, ": ").concat(e[n], ";"); - }, ""); - } - function St(t) { - return t.size !== bt.size || t.x !== bt.x || t.y !== bt.y || t.rotate !== bt.rotate || t.flipX || t.flipY; - } - function zt(t) { - var n = t.transform, e = t.containerWidth, a = t.iconWidth, r = { - transform: "translate(".concat(e / 2, " 256)") - }, i = "translate(".concat(32 * n.x, ", ").concat(32 * n.y, ") "), o = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), s = "rotate(".concat(n.rotate, " 0 0)"); - return { - outer: r, - inner: { - transform: "".concat(i, " ").concat(o, " ").concat(s) - }, - path: { - transform: "translate(".concat(a / 2 * -1, " -256)") - } - }; - } - var Ot = { - x: 0, - y: 0, - width: "100%", - height: "100%" - }; - function Et(t) { - var n = t.icons, e = n.main, a = n.mask, r = t.prefix, i = t.iconName, o = t.transform, s = t.symbol, c = t.title, l = t.extra, f = t.watchable, u = void 0 !== f && f, m = a.found ? a : e, d = m.width, h = m.height, p = "fa-w-".concat(Math.ceil(d / h * 16)), g = [ V.replacementClass, i ? "".concat(V.familyPrefix, "-").concat(i) : "", p ].filter(function(t) { - return -1 === l.classes.indexOf(t); - }).concat(l.classes).join(" "), v = { - children: [], - attributes: W({}, l.attributes, { - "data-prefix": r, - "data-icon": i, - class: g, - role: l.attributes.role || "img", - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 ".concat(d, " ").concat(h) - }) - }; - u && (v.attributes[U] = ""), c && v.children.push({ - tag: "title", - attributes: { - id: v.attributes["aria-labelledby"] || "title-".concat(xt()) - }, - children: [ c ] - }); - var b, y, w, x, k, A, C, M, N, S, z, O, E, j, P, L, T, _, I, R, H, D, F, X = W({}, v, { - prefix: r, - iconName: i, - main: e, - mask: a, - transform: o, - symbol: s, - styles: l.styles - }), B = a.found && e.found ? (y = (b = X).children, w = b.attributes, x = b.main, - k = b.mask, A = b.transform, C = x.width, M = x.icon, N = k.width, S = k.icon, z = zt({ - transform: A, - containerWidth: N, - iconWidth: C - }), O = { - tag: "rect", - attributes: W({}, Ot, { - fill: "white" - }) - }, E = { - tag: "g", - attributes: W({}, z.inner), - children: [ { - tag: "path", - attributes: W({}, M.attributes, z.path, { - fill: "black" - }) - } ] - }, j = { - tag: "g", - attributes: W({}, z.outer), - children: [ E ] - }, P = "mask-".concat(xt()), L = "clip-".concat(xt()), T = { - tag: "defs", - children: [ { - tag: "clipPath", - attributes: { - id: L - }, - children: [ S ] - }, { - tag: "mask", - attributes: W({}, Ot, { - id: P, - maskUnits: "userSpaceOnUse", - maskContentUnits: "userSpaceOnUse" - }), - children: [ O, j ] - } ] - }, y.push(T, { - tag: "rect", - attributes: W({ - fill: "currentColor", - "clip-path": "url(#".concat(L, ")"), - mask: "url(#".concat(P, ")") - }, Ot) - }), { - children: y, - attributes: w - }) : function(t) { - var n = t.children, e = t.attributes, a = t.main, r = t.transform, i = Nt(t.styles); - if (0 < i.length && (e.style = i), St(r)) { - var o = zt({ - transform: r, - containerWidth: a.width, - iconWidth: a.width - }); - n.push({ - tag: "g", - attributes: W({}, o.outer), - children: [ { - tag: "g", - attributes: W({}, o.inner), - children: [ { - tag: a.icon.tag, - children: a.icon.children, - attributes: W({}, a.icon.attributes, o.path) - } ] - } ] - }); - } else n.push(a.icon); - return { - children: n, - attributes: e - }; - }(X), Y = B.children, q = B.attributes; - return X.children = Y, X.attributes = q, s ? (I = (_ = X).prefix, R = _.iconName, - H = _.children, D = _.attributes, F = _.symbol, [ { - tag: "svg", - attributes: { - style: "display: none;" - }, - children: [ { - tag: "symbol", - attributes: W({}, D, { - id: !0 === F ? "".concat(I, "-").concat(V.familyPrefix, "-").concat(R) : F - }), - children: H - } ] - } ]) : function(t) { - var n = t.children, e = t.main, a = t.mask, r = t.attributes, i = t.styles, o = t.transform; - if (St(o) && e.found && !a.found) { - var s = e.width / e.height / 2, c = .5; - r.style = Nt(W({}, i, { - "transform-origin": "".concat(s + o.x / 16, "em ").concat(c + o.y / 16, "em") - })); - } - return [ { - tag: "svg", - attributes: r, - children: n - } ]; - }(X); - } - function jt(t) { - var n = t.content, e = t.width, a = t.height, r = t.transform, i = t.title, o = t.extra, s = t.watchable, c = void 0 !== s && s, l = W({}, o.attributes, i ? { - title: i - } : {}, { - class: o.classes.join(" ") - }); - c && (l[U] = ""); - var f, u, m, d, h, p, g, v, b, y = W({}, o.styles); - St(r) && (y.transform = (u = (f = { - transform: r, - startCentered: !0, - width: e, - height: a - }).transform, m = f.width, d = void 0 === m ? A : m, h = f.height, p = void 0 === h ? A : h, - g = f.startCentered, b = "", b += (v = void 0 !== g && g) && k ? "translate(".concat(u.x / vt - d / 2, "em, ").concat(u.y / vt - p / 2, "em) ") : v ? "translate(calc(-50% + ".concat(u.x / vt, "em), calc(-50% + ").concat(u.y / vt, "em)) ") : "translate(".concat(u.x / vt, "em, ").concat(u.y / vt, "em) "), - b += "scale(".concat(u.size / vt * (u.flipX ? -1 : 1), ", ").concat(u.size / vt * (u.flipY ? -1 : 1), ") "), - b += "rotate(".concat(u.rotate, "deg) ")), y["-webkit-transform"] = y.transform); - var w = Nt(y); - 0 < w.length && (l.style = w); - var x = []; - return x.push({ - tag: "span", - attributes: l, - children: [ n ] - }), i && x.push({ - tag: "span", - attributes: { - class: "sr-only" - }, - children: [ i ] - }), x; - } - var Pt = function() {}, Lt = V.measurePerformance && f && f.mark && f.measure ? f : { - mark: Pt, - measure: Pt - }, Tt = 'FA "5.8.2"', _t = function(t) { - Lt.mark("".concat(Tt, " ").concat(t, " ends")), Lt.measure("".concat(Tt, " ").concat(t), "".concat(Tt, " ").concat(t, " begins"), "".concat(Tt, " ").concat(t, " ends")); - }, It = { - begin: function(t) { - return Lt.mark("".concat(Tt, " ").concat(t, " begins")), function() { - return _t(t); - }; - }, - end: _t - }, Rt = function(t, n, e, a) { - var r, i, o, s, c, l = Object.keys(t), f = l.length, u = void 0 !== a ? (s = n, - c = a, function(t, n, e, a) { - return s.call(c, t, n, e, a); - }) : n; - for (o = void 0 === e ? (r = 1, t[l[0]]) : (r = 0, e); r < f; r++) o = u(o, t[i = l[r]], i, t); - return o; - }; - function Ht(t) { - for (var n = "", e = 0; e < t.length; e++) { - n += ("000" + t.charCodeAt(e).toString(16)).slice(-4); - } - return n; - } - var Dt = B.styles, Ft = B.shims, Xt = {}, Bt = {}, Yt = {}, qt = function() { - var t = function(a) { - return Rt(Dt, function(t, n, e) { - return t[e] = Rt(n, a, {}), t; - }, {}); - }; - Xt = t(function(t, n, e) { - return n[3] && (t[n[3]] = e), t; - }), Bt = t(function(n, t, e) { - var a = t[2]; - return n[e] = e, a.forEach(function(t) { - n[t] = e; - }), n; - }); - var i = "far" in Dt; - Yt = Rt(Ft, function(t, n) { - var e = n[0], a = n[1], r = n[2]; - return "far" !== a || i || (a = "fas"), t[e] = { - prefix: a, - iconName: r - }, t; - }, {}); - }; - function Wt(t, n) { - return (Xt[t] || {})[n]; - } - qt(); - var Ut = B.styles, Vt = function() { - return { - prefix: null, - iconName: null, - rest: [] - }; - }; - function Kt(t) { - return t.reduce(function(t, n) { - var e = Ct(V.familyPrefix, n); - if (Ut[n]) t.prefix = n; else if (V.autoFetchSvg && -1 < [ "fas", "far", "fal", "fab", "fa" ].indexOf(n)) t.prefix = n; else if (e) { - var a = "fa" === t.prefix ? Yt[e] || { - prefix: null, - iconName: null - } : {}; - t.iconName = a.iconName || e, t.prefix = a.prefix || t.prefix; - } else n !== V.replacementClass && 0 !== n.indexOf("fa-w-") && t.rest.push(n); - return t; - }, Vt()); - } - function Gt(t, n, e) { - if (t && t[n] && t[n][e]) return { - prefix: n, - iconName: e, - icon: t[n][e] - }; - } - function Jt(t) { - var e, n = t.tag, a = t.attributes, r = void 0 === a ? {} : a, i = t.children, o = void 0 === i ? [] : i; - return "string" == typeof t ? Mt(t) : "<".concat(n, " ").concat((e = r, Object.keys(e || {}).reduce(function(t, n) { - return t + "".concat(n, '="').concat(Mt(e[n]), '" '); - }, "").trim()), ">").concat(o.map(Jt).join(""), ""); - } - var Qt = function() {}; - function Zt(t) { - return "string" == typeof (t.getAttribute ? t.getAttribute(U) : null); - } - var $t = { - replace: function(t) { - var n = t[0], e = t[1].map(function(t) { - return Jt(t); - }).join("\n"); - if (n.parentNode && n.outerHTML) n.outerHTML = e + (V.keepOriginalSource && "svg" !== n.tagName.toLowerCase() ? "\x3c!-- ".concat(n.outerHTML, " --\x3e") : ""); else if (n.parentNode) { - var a = document.createElement("span"); - n.parentNode.replaceChild(a, n), a.outerHTML = e; - } - }, - nest: function(t) { - var n = t[0], e = t[1]; - if (~At(n).indexOf(V.replacementClass)) return $t.replace(t); - var a = new RegExp("".concat(V.familyPrefix, "-.*")); - delete e[0].attributes.style; - var r = e[0].attributes.class.split(" ").reduce(function(t, n) { - return n === V.replacementClass || n.match(a) ? t.toSvg.push(n) : t.toNode.push(n), - t; - }, { - toNode: [], - toSvg: [] - }); - e[0].attributes.class = r.toSvg.join(" "); - var i = e.map(function(t) { - return Jt(t); - }).join("\n"); - n.setAttribute("class", r.toNode.join(" ")), n.setAttribute(U, ""), n.innerHTML = i; - } - }; - function tn(t) { - t(); - } - function nn(e, t) { - var a = "function" == typeof t ? t : Qt; - if (0 === e.length) a(); else { - var n = tn; - V.mutateApproach === S && (n = g.requestAnimationFrame || tn), n(function() { - var t = !0 === V.autoReplaceSvg ? $t.replace : $t[V.autoReplaceSvg] || $t.replace, n = It.begin("mutate"); - e.map(t), n(), a(); - }); - } - } - var en = !1; - function an() { - en = !1; - } - var rn = null; - function on(t) { - if (l && V.observeMutations) { - var r = t.treeCallback, i = t.nodeCallback, o = t.pseudoElementsCallback, n = t.observeMutationsRoot, e = void 0 === n ? v : n; - rn = new l(function(t) { - en || kt(t).forEach(function(t) { - if ("childList" === t.type && 0 < t.addedNodes.length && !Zt(t.addedNodes[0]) && (V.searchPseudoElements && o(t.target), - r(t.target)), "attributes" === t.type && t.target.parentNode && V.searchPseudoElements && o(t.target.parentNode), - "attributes" === t.type && Zt(t.target) && ~R.indexOf(t.attributeName)) if ("class" === t.attributeName) { - var n = Kt(At(t.target)), e = n.prefix, a = n.iconName; - e && t.target.setAttribute("data-prefix", e), a && t.target.setAttribute("data-icon", a); - } else i(t.target); - }); - }), h && rn.observe(e, { - childList: !0, - attributes: !0, - characterData: !0, - subtree: !0 - }); - } - } - function sn(t) { - var n, e, a = t.getAttribute("data-prefix"), r = t.getAttribute("data-icon"), i = void 0 !== t.innerText ? t.innerText.trim() : "", o = Kt(At(t)); - return a && r && (o.prefix = a, o.iconName = r), o.prefix && 1 < i.length ? o.iconName = (n = o.prefix, - e = t.innerText, (Bt[n] || {})[e]) : o.prefix && 1 === i.length && (o.iconName = Wt(o.prefix, Ht(t.innerText))), - o; - } - var cn = function(t) { - var n = { - size: 16, - x: 0, - y: 0, - flipX: !1, - flipY: !1, - rotate: 0 - }; - return t ? t.toLowerCase().split(" ").reduce(function(t, n) { - var e = n.toLowerCase().split("-"), a = e[0], r = e.slice(1).join("-"); - if (a && "h" === r) return t.flipX = !0, t; - if (a && "v" === r) return t.flipY = !0, t; - if (r = parseFloat(r), isNaN(r)) return t; - switch (a) { - case "grow": - t.size = t.size + r; - break; - - case "shrink": - t.size = t.size - r; - break; - - case "left": - t.x = t.x - r; - break; - - case "right": - t.x = t.x + r; - break; - - case "up": - t.y = t.y - r; - break; - - case "down": - t.y = t.y + r; - break; - - case "rotate": - t.rotate = t.rotate + r; - } - return t; - }, n) : n; - }; - function ln(t) { - var n, e, a, r, i, o, s, c = sn(t), l = c.iconName, f = c.prefix, u = c.rest, m = (n = t.getAttribute("style"), - e = [], n && (e = n.split(";").reduce(function(t, n) { - var e = n.split(":"), a = e[0], r = e.slice(1); - return a && 0 < r.length && (t[a] = r.join(":").trim()), t; - }, {})), e), d = cn(t.getAttribute("data-fa-transform")), h = null !== (a = t.getAttribute("data-fa-symbol")) && ("" === a || a), p = (i = kt((r = t).attributes).reduce(function(t, n) { - return "class" !== t.name && "style" !== t.name && (t[n.name] = n.value), t; - }, {}), o = r.getAttribute("title"), V.autoA11y && (o ? i["aria-labelledby"] = "".concat(V.replacementClass, "-title-").concat(xt()) : (i["aria-hidden"] = "true", - i.focusable = "false")), i), g = (s = t.getAttribute("data-fa-mask")) ? Kt(s.split(" ").map(function(t) { - return t.trim(); - })) : Vt(); - return { - iconName: l, - title: t.getAttribute("title"), - prefix: f, - transform: d, - symbol: h, - mask: g, - extra: { - classes: u, - styles: m, - attributes: p - } - }; - } - function fn(t) { - this.name = "MissingIcon", this.message = t || "Icon unavailable", this.stack = new Error().stack; - } - (fn.prototype = Object.create(Error.prototype)).constructor = fn; - var un = { - fill: "currentColor" - }, mn = { - attributeType: "XML", - repeatCount: "indefinite", - dur: "2s" - }, dn = { - tag: "path", - attributes: W({}, un, { - d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" - }) - }, hn = W({}, mn, { - attributeName: "opacity" - }), pn = { - tag: "g", - children: [ dn, { - tag: "circle", - attributes: W({}, un, { - cx: "256", - cy: "364", - r: "28" - }), - children: [ { - tag: "animate", - attributes: W({}, mn, { - attributeName: "r", - values: "28;14;28;28;14;28;" - }) - }, { - tag: "animate", - attributes: W({}, hn, { - values: "1;0;1;1;0;1;" - }) - } ] - }, { - tag: "path", - attributes: W({}, un, { - opacity: "1", - d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" - }), - children: [ { - tag: "animate", - attributes: W({}, hn, { - values: "1;0;0;0;0;1;" - }) - } ] - }, { - tag: "path", - attributes: W({}, un, { - opacity: "0", - d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" - }), - children: [ { - tag: "animate", - attributes: W({}, hn, { - values: "0;0;1;1;0;0;" - }) - } ] - } ] - }, gn = B.styles; - function vn(r, i) { - return new gt(function(t, n) { - var e = { - found: !1, - width: 512, - height: 512, - icon: pn - }; - if (r && i && gn[i] && gn[i][r]) { - var a = gn[i][r]; - return t(e = { - found: !0, - width: a[0], - height: a[1], - icon: { - tag: "path", - attributes: { - fill: "currentColor", - d: a.slice(4)[0] - } - } - }); - } - r && i && !V.showMissingIcons ? n(new fn("Icon is missing for prefix ".concat(i, " with icon name ").concat(r))) : t(e); - }); - } - var bn = B.styles; - function yn(t) { - var i, n, o, s, c, l, f, e, u, a = ln(t); - return ~a.extra.classes.indexOf(P) ? function(t, n) { - var e = n.title, a = n.transform, r = n.extra, i = null, o = null; - if (k) { - var s = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); - i = c.width / s, o = c.height / s; - } - return V.autoA11y && !e && (r.attributes["aria-hidden"] = "true"), gt.resolve([ t, jt({ - content: t.innerHTML, - width: i, - height: o, - transform: a, - title: e, - extra: r, - watchable: !0 - }) ]); - }(t, a) : (i = t, o = (n = a).iconName, s = n.title, c = n.prefix, l = n.transform, - f = n.symbol, e = n.mask, u = n.extra, new gt(function(r, t) { - gt.all([ vn(o, c), vn(e.iconName, e.prefix) ]).then(function(t) { - var n = m(t, 2), e = n[0], a = n[1]; - r([ i, Et({ - icons: { - main: e, - mask: a - }, - prefix: c, - iconName: o, - transform: l, - symbol: f, - mask: a, - title: s, - extra: u, - watchable: !0 - }) ]); - }); - })); - } - function wn(t) { - var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null; - if (h) { - var n = v.documentElement.classList, a = function(t) { - return n.add("".concat(N, "-").concat(t)); - }, r = function(t) { - return n.remove("".concat(N, "-").concat(t)); - }, i = V.autoFetchSvg ? Object.keys(E) : Object.keys(bn), o = [ ".".concat(P, ":not([").concat(U, "])") ].concat(i.map(function(t) { - return ".".concat(t, ":not([").concat(U, "])"); - })).join(", "); - if (0 !== o.length) { - var s = []; - try { - s = kt(t.querySelectorAll(o)); - } catch (t) {} - if (0 < s.length) { - a("pending"), r("complete"); - var c = It.begin("onTree"), l = s.reduce(function(t, n) { - try { - var e = yn(n); - e && t.push(e); - } catch (t) { - O || t instanceof fn && console.error(t); - } - return t; - }, []); - return new gt(function(n, t) { - gt.all(l).then(function(t) { - nn(t, function() { - a("active"), a("complete"), r("pending"), "function" == typeof e && e(), c(), n(); - }); - }).catch(function() { - c(), t(); - }); - }); - } - } - } - } - function xn(t) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null; - yn(t).then(function(t) { - t && nn([ t ], n); - }); - } - function kn(d, h) { - var p = "".concat(x).concat(h.replace(":", "-")); - return new gt(function(a, t) { - if (null !== d.getAttribute(p)) return a(); - var n = kt(d.children).filter(function(t) { - return t.getAttribute(w) === h; - })[0], e = g.getComputedStyle(d, h), r = e.getPropertyValue("font-family").match(L), i = e.getPropertyValue("font-weight"); - if (n && !r) return d.removeChild(n), a(); - if (r) { - var o = e.getPropertyValue("content"), s = ~[ "Light", "Regular", "Solid", "Brands" ].indexOf(r[1]) ? j[r[1].toLowerCase()] : T[i], c = Ht(3 === o.length ? o.substr(1, 1) : o), l = Wt(s, c), f = l; - if (!l || n && n.getAttribute(C) === s && n.getAttribute(M) === f) a(); else { - d.setAttribute(p, f), n && d.removeChild(n); - var u = { - iconName: null, - title: null, - prefix: null, - transform: bt, - symbol: !1, - mask: null, - extra: { - classes: [], - styles: {}, - attributes: {} - } - }, m = u.extra; - m.attributes[w] = h, vn(l, s).then(function(t) { - var n = Et(W({}, u, { - icons: { - main: t, - mask: Vt() - }, - prefix: s, - iconName: f, - extra: m, - watchable: !0 - })), e = v.createElement("svg"); - ":before" === h ? d.insertBefore(e, d.firstChild) : d.appendChild(e), e.outerHTML = n.map(function(t) { - return Jt(t); - }).join("\n"), d.removeAttribute(p), a(); - }).catch(t); - } - } else a(); - }); - } - function An(t) { - return gt.all([ kn(t, ":before"), kn(t, ":after") ]); - } - function Cn(t) { - return !(t.parentNode === document.head || ~z.indexOf(t.tagName.toUpperCase()) || t.getAttribute(w) || t.parentNode && "svg" === t.parentNode.tagName); - } - function Mn(r) { - if (h) return new gt(function(t, n) { - var e = kt(r.querySelectorAll("*")).filter(Cn).map(An), a = It.begin("searchPseudoElements"); - en = !0, gt.all(e).then(function() { - a(), an(), t(); - }).catch(function() { - a(), an(), n(); - }); - }); - } - var Nn = 'svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}'; - function Sn() { - var t = b, n = y, e = V.familyPrefix, a = V.replacementClass, r = Nn; - if (e !== t || a !== n) { - var i = new RegExp("\\.".concat(t, "\\-"), "g"), o = new RegExp("\\.".concat(n), "g"); - r = r.replace(i, ".".concat(e, "-")).replace(o, ".".concat(a)); - } - return r; - } - function zn(t) { - return { - found: !0, - width: t[0], - height: t[1], - icon: { - tag: "path", - attributes: { - fill: "currentColor", - d: t.slice(4)[0] - } - } - }; - } - function On() { - V.autoAddCss && !Tn && (yt(Sn()), Tn = !0); - } - function En(n, t) { - return Object.defineProperty(n, "abstract", { - get: t - }), Object.defineProperty(n, "html", { - get: function() { - return n.abstract.map(function(t) { - return Jt(t); - }); - } - }), Object.defineProperty(n, "node", { - get: function() { - if (h) { - var t = v.createElement("div"); - return t.innerHTML = n.html, t.children; - } - } - }), n; - } - function jn(t) { - var n = t.prefix, e = void 0 === n ? "fa" : n, a = t.iconName; - if (a) return Gt(Ln.definitions, e, a) || Gt(B.styles, e, a); - } - var Pn, Ln = new (function() { - function t() { - !function(t, n) { - if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function"); - }(this, t), this.definitions = {}; - } - var n, e, a; - return n = t, (e = [ { - key: "add", - value: function() { - for (var n = this, t = arguments.length, e = new Array(t), a = 0; a < t; a++) e[a] = arguments[a]; - var r = e.reduce(this._pullDefinitions, {}); - Object.keys(r).forEach(function(t) { - n.definitions[t] = W({}, n.definitions[t] || {}, r[t]), function t(n, a) { - var e = (2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}).skipHooks, r = void 0 !== e && e, i = Object.keys(a).reduce(function(t, n) { - var e = a[n]; - return e.icon ? t[e.iconName] = e.icon : t[n] = e, t; - }, {}); - "function" != typeof B.hooks.addPack || r ? B.styles[n] = W({}, B.styles[n] || {}, i) : B.hooks.addPack(n, i), - "fas" === n && t("fa", a); - }(t, r[t]), qt(); - }); - } - }, { - key: "reset", - value: function() { - this.definitions = {}; - } - }, { - key: "_pullDefinitions", - value: function(i, t) { - var o = t.prefix && t.iconName && t.icon ? { - 0: t - } : t; - return Object.keys(o).map(function(t) { - var n = o[t], e = n.prefix, a = n.iconName, r = n.icon; - i[e] || (i[e] = {}), i[e][a] = r; - }), i; - } - } ]) && i(n.prototype, e), a && i(n, a), t; - }())(), Tn = !1, _n = { - i2svg: function() { - var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; - if (h) { - On(); - var n = t.node, e = void 0 === n ? v : n, a = t.callback, r = void 0 === a ? function() {} : a; - return V.searchPseudoElements && Mn(e), wn(e, r); - } - return gt.reject("Operation requires a DOM of some kind."); - }, - css: Sn, - insertCss: function() { - Tn || (yt(Sn()), Tn = !0); - }, - watch: function() { - var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, n = t.autoReplaceSvgRoot, e = t.observeMutationsRoot; - !1 === V.autoReplaceSvg && (V.autoReplaceSvg = !0), V.observeMutations = !0, K(function() { - Hn({ - autoReplaceSvgRoot: n - }), on({ - treeCallback: wn, - nodeCallback: xn, - pseudoElementsCallback: Mn, - observeMutationsRoot: e - }); - }); - } - }, In = (Pn = function(t) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, e = n.transform, a = void 0 === e ? bt : e, r = n.symbol, i = void 0 !== r && r, o = n.mask, s = void 0 === o ? null : o, c = n.title, l = void 0 === c ? null : c, f = n.classes, u = void 0 === f ? [] : f, m = n.attributes, d = void 0 === m ? {} : m, h = n.styles, p = void 0 === h ? {} : h; - if (t) { - var g = t.prefix, v = t.iconName, b = t.icon; - return En(W({ - type: "icon" - }, t), function() { - return On(), V.autoA11y && (l ? d["aria-labelledby"] = "".concat(V.replacementClass, "-title-").concat(xt()) : (d["aria-hidden"] = "true", - d.focusable = "false")), Et({ - icons: { - main: zn(b), - mask: s ? zn(s.icon) : { - found: !1, - width: null, - height: null, - icon: {} - } - }, - prefix: g, - iconName: v, - transform: W({}, bt, a), - symbol: i, - title: l, - extra: { - attributes: d, - styles: p, - classes: u - } - }); - }); - } - }, function(t) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, e = (t || {}).icon ? t : jn(t || {}), a = n.mask; - return a && (a = (a || {}).icon ? a : jn(a || {})), Pn(e, W({}, n, { - mask: a - })); - }), Rn = { - noAuto: function() { - V.autoReplaceSvg = !1, V.observeMutations = !1, rn && rn.disconnect(); - }, - config: V, - dom: _n, - library: Ln, - parse: { - transform: function(t) { - return cn(t); - } - }, - findIconDefinition: jn, - icon: In, - text: function(t) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, e = n.transform, a = void 0 === e ? bt : e, r = n.title, i = void 0 === r ? null : r, o = n.classes, s = void 0 === o ? [] : o, c = n.attributes, l = void 0 === c ? {} : c, f = n.styles, u = void 0 === f ? {} : f; - return En({ - type: "text", - content: t - }, function() { - return On(), jt({ - content: t, - transform: W({}, bt, a), - title: i, - extra: { - attributes: l, - styles: u, - classes: [ "".concat(V.familyPrefix, "-layers-text") ].concat(d(s)) - } - }); - }); - }, - counter: function(t) { - var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, e = n.title, a = void 0 === e ? null : e, r = n.classes, i = void 0 === r ? [] : r, o = n.attributes, s = void 0 === o ? {} : o, c = n.styles, l = void 0 === c ? {} : c; - return En({ - type: "counter", - content: t - }, function() { - return On(), function(t) { - var n = t.content, e = t.title, a = t.extra, r = W({}, a.attributes, e ? { - title: e - } : {}, { - class: a.classes.join(" ") - }), i = Nt(a.styles); - 0 < i.length && (r.style = i); - var o = []; - return o.push({ - tag: "span", - attributes: r, - children: [ n ] - }), e && o.push({ - tag: "span", - attributes: { - class: "sr-only" - }, - children: [ e ] - }), o; - }({ - content: t.toString(), - title: a, - extra: { - attributes: s, - styles: l, - classes: [ "".concat(V.familyPrefix, "-layers-counter") ].concat(d(i)) - } - }); - }); - }, - layer: function(t) { - return En({ - type: "layer" - }, function() { - On(); - var n = []; - return t(function(t) { - Array.isArray(t) ? t.map(function(t) { - n = n.concat(t.abstract); - }) : n = n.concat(t.abstract); - }), [ { - tag: "span", - attributes: { - class: "".concat(V.familyPrefix, "-layers") - }, - children: n - } ]; - }); - }, - toHtml: Jt - }, Hn = function() { - var t = (0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).autoReplaceSvgRoot, n = void 0 === t ? v : t; - (0 < Object.keys(B.styles).length || V.autoFetchSvg) && h && V.autoReplaceSvg && Rn.dom.i2svg({ - node: n - }); - }; - !function(t) { - try { - t(); - } catch (t) { - if (!O) throw t; - } - }(function() { - u && (g.FontAwesome || (g.FontAwesome = Rn), K(function() { - Hn(), on({ - treeCallback: wn, - nodeCallback: xn, - pseudoElementsCallback: Mn - }); - })), B.hooks = W({}, B.hooks, { - addPack: function(t, n) { - B.styles[t] = W({}, B.styles[t] || {}, n), qt(), Hn(); - }, - addShims: function(t) { - var n; - (n = B.shims).push.apply(n, d(t)), qt(), Hn(); - } - }); - }); -}(); \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/LICENSE b/core/static/vendored/native-file-system-adapter/LICENSE deleted file mode 100644 index 3c6728ed..00000000 --- a/core/static/vendored/native-file-system-adapter/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Jimmy Wärting - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/core/static/vendored/native-file-system-adapter/mod.js b/core/static/vendored/native-file-system-adapter/mod.js deleted file mode 100644 index 1227a299..00000000 --- a/core/static/vendored/native-file-system-adapter/mod.js +++ /dev/null @@ -1 +0,0 @@ -export*from"./src/es6.js"; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/mod.min.js b/core/static/vendored/native-file-system-adapter/mod.min.js deleted file mode 100644 index e69de29b..00000000 diff --git a/core/static/vendored/native-file-system-adapter/src/FileSystemDirectoryHandle.js b/core/static/vendored/native-file-system-adapter/src/FileSystemDirectoryHandle.js deleted file mode 100644 index 28a73b85..00000000 --- a/core/static/vendored/native-file-system-adapter/src/FileSystemDirectoryHandle.js +++ /dev/null @@ -1 +0,0 @@ -import FileSystemHandle from"./FileSystemHandle.js";import{errors}from"./util.js";const{GONE:GONE,MOD_ERR:MOD_ERR}=errors,kAdapter=Symbol("adapter");class FileSystemDirectoryHandle extends FileSystemHandle{[kAdapter];constructor(e){super(e),this[kAdapter]=e}async getDirectoryHandle(e,t={}){if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");t.create=!!t.create;const r=await this[kAdapter].getDirectoryHandle(e,t);return new FileSystemDirectoryHandle(r)}async*entries(){const{FileSystemFileHandle:e}=await import("./FileSystemFileHandle.js");for await(const[t,r]of this[kAdapter].entries())yield[r.name,"file"===r.kind?new e(r):new FileSystemDirectoryHandle(r)]}async*getEntries(){const{FileSystemFileHandle:e}=await import("./FileSystemFileHandle.js");console.warn("deprecated, use .entries() instead");for await(let t of this[kAdapter].entries())yield"file"===t.kind?new e(t):new FileSystemDirectoryHandle(t)}async getFileHandle(e,t={}){const{FileSystemFileHandle:r}=await import("./FileSystemFileHandle.js");if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");t.create=!!t.create;return new r(await this[kAdapter].getFileHandle(e,t))}async removeEntry(e,t={}){if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");return t.recursive=!!t.recursive,this[kAdapter].removeEntry(e,t)}async resolve(e){if(await e.isSameEntry(this))return[];const t=[{handle:this,path:[]}];for(;t.length;){let{handle:r,path:n}=t.pop();for await(const a of r.values()){if(await a.isSameEntry(e))return[...n,a.name];"directory"===a.kind&&t.push({handle:a,path:[...n,a.name]})}}return null}async*keys(){for await(const[e]of this[kAdapter].entries())yield e}async*values(){for await(const[e,t]of this)yield t}[Symbol.asyncIterator](){return this.entries()}}if(Object.defineProperty(FileSystemDirectoryHandle.prototype,Symbol.toStringTag,{value:"FileSystemDirectoryHandle",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(FileSystemDirectoryHandle.prototype,{getDirectoryHandle:{enumerable:!0},entries:{enumerable:!0},getFileHandle:{enumerable:!0},removeEntry:{enumerable:!0}}),globalThis.FileSystemDirectoryHandle){const e=globalThis.FileSystemDirectoryHandle.prototype;async function ensureDoActuallyStillExist(e){const t=await navigator.storage.getDirectory();if(null===await t.resolve(e))throw new DOMException(...GONE)}e.resolve=async function(e){if(await e.isSameEntry(this))return[];const t=[{handle:this,path:[]}];for(;t.length;){let{handle:r,path:n}=t.pop();for await(const a of r.values()){if(await a.isSameEntry(e))return[...n,a.name];"directory"===a.kind&&t.push({handle:a,path:[...n,a.name]})}}return null};const t=e.entries;e.entries=async function*(){await ensureDoActuallyStillExist(this),yield*t.call(this)},e[Symbol.asyncIterator]=async function*(){yield*this.entries()};const r=e.removeEntry;e.removeEntry=async function(e,n={}){return r.call(this,e,n).catch((async e=>{if(e instanceof DOMException&&"UnknownError"===e.name&&!n.recursive){if(!(await t.call(this).next()).done)throw new DOMException(...MOD_ERR)}throw e}))}}export default FileSystemDirectoryHandle;export{FileSystemDirectoryHandle}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/FileSystemFileHandle.js b/core/static/vendored/native-file-system-adapter/src/FileSystemFileHandle.js deleted file mode 100644 index 565e0a5a..00000000 --- a/core/static/vendored/native-file-system-adapter/src/FileSystemFileHandle.js +++ /dev/null @@ -1 +0,0 @@ -import FileSystemHandle from"./FileSystemHandle.js";import FileSystemWritableFileStream from"./FileSystemWritableFileStream.js";import{errors}from"./util.js";const{INVALID:INVALID,SYNTAX:SYNTAX,GONE:GONE}=errors,kAdapter=Symbol("adapter");class FileSystemFileHandle extends FileSystemHandle{[kAdapter];constructor(e){super(e),this[kAdapter]=e}async createWritable(e={}){return new FileSystemWritableFileStream(await this[kAdapter].createWritable(e))}async getFile(){return this[kAdapter].getFile()}}if(Object.defineProperty(FileSystemFileHandle.prototype,Symbol.toStringTag,{value:"FileSystemFileHandle",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(FileSystemFileHandle.prototype,{createWritable:{enumerable:!0},getFile:{enumerable:!0}}),globalThis.FileSystemFileHandle&&!globalThis.FileSystemFileHandle.prototype.createWritable){const e=new WeakMap;let t;const a=()=>{let e,t;onmessage=async a=>{const i=a.ports[0],r=a.data;switch(r.type){case"open":const a=r.name;let i=await navigator.storage.getDirectory();for(const e of r.path)i=await i.getDirectoryHandle(e);e=await i.getFileHandle(a),t=await e.createSyncAccessHandle();break;case"write":t.write(r.data,{at:r.position}),t.flush();break;case"truncate":t.truncate(r.size);break;case"abort":case"close":t.close()}i.postMessage(0)}};globalThis.FileSystemFileHandle.prototype.createWritable=async function(i){if(!t){const e=`(${a.toString()})()`,i=new Blob([e],{type:"text/javascript"});t=URL.createObjectURL(i)}const r=new Worker(t,{type:"module"});let n=0;const s=new TextEncoder;let o=await this.getFile().then((e=>e.size));const l=e=>new Promise(((t,a)=>{const i=new MessageChannel;i.port1.onmessage=e=>{e.data instanceof Error?a(e.data):t(e.data),i.port1.close(),i.port2.close(),i.port1.onmessage=null},r.postMessage(e,[i.port2])})),c=await navigator.storage.getDirectory(),p=await e.get(this),y=await c.resolve(p);if(null===y)throw new DOMException(...GONE);let d;await l({type:"open",path:y,name:this.name}),!1===i?.keepExistingData&&(await l({type:"truncate",size:0}),o=0);return new FileSystemWritableFileStream({start:e=>{d=e},async write(e){if("write"===(e=e?.constructor===Object?{...e}:{type:"write",data:e,position:n}).type){if(!("data"in e))throw await l({type:"close"}),new DOMException(...SYNTAX("write requires a data argument"));if(e.position??=n,"string"==typeof e.data)e.data=s.encode(e.data);else if(e.data instanceof ArrayBuffer)e.data=new Uint8Array(e.data);else if(e.data instanceof Uint8Array||!ArrayBuffer.isView(e.data)){if(!(e.data instanceof Uint8Array)){const t=await new Response(e.data).arrayBuffer();e.data=new Uint8Array(t)}}else e.data=new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.byteLength);Number.isInteger(e.position)&&e.position>=0&&(n=e.position),n+=e.data.byteLength,o+=e.data.byteLength}else{if("seek"===e.type){if(Number.isInteger(e.position)&&e.position>=0){if(o=0))throw await l({type:"close"}),new DOMException(...SYNTAX("truncate requires a size argument"));o=e.size,n>o&&(n=o)}}await l(e)},async close(){await l({type:"close"}),r.terminate()},async abort(e){await l({type:"abort",reason:e}),r.terminate()}})};const i=FileSystemDirectoryHandle.prototype.getFileHandle;FileSystemDirectoryHandle.prototype.getFileHandle=async function(...t){const a=await i.call(this,...t);return e.set(a,this),a}}export default FileSystemFileHandle;export{FileSystemFileHandle}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/FileSystemHandle.js b/core/static/vendored/native-file-system-adapter/src/FileSystemHandle.js deleted file mode 100644 index 990045a6..00000000 --- a/core/static/vendored/native-file-system-adapter/src/FileSystemHandle.js +++ /dev/null @@ -1 +0,0 @@ -const kAdapter=Symbol("adapter");class FileSystemHandle{[kAdapter];name;kind;constructor(e){this.kind=e.kind,this.name=e.name,this[kAdapter]=e}async queryPermission(e={}){const{mode:r="read"}=e,t=this[kAdapter];if(t.queryPermission)return t.queryPermission({mode:r});if("read"===r)return"granted";if("readwrite"===r)return t.writable?"granted":"denied";throw new TypeError(`Mode ${r} must be 'read' or 'readwrite'`)}async requestPermission({mode:e="read"}={}){const r=this[kAdapter];if(r.requestPermission)return r.requestPermission({mode:e});if("read"===e)return"granted";if("readwrite"===e)return r.writable?"granted":"denied";throw new TypeError(`Mode ${e} must be 'read' or 'readwrite'`)}async remove(e={}){await this[kAdapter].remove(e)}async isSameEntry(e){return this===e||!(!e||"object"!=typeof e||this.kind!==e.kind||!e[kAdapter])&&this[kAdapter].isSameEntry(e[kAdapter])}}Object.defineProperty(FileSystemHandle.prototype,Symbol.toStringTag,{value:"FileSystemHandle",writable:!1,enumerable:!1,configurable:!0}),globalThis.FileSystemHandle&&(globalThis.FileSystemHandle.prototype.queryPermission??=function(e){return"granted"});export default FileSystemHandle;export{FileSystemHandle}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/FileSystemWritableFileStream.js b/core/static/vendored/native-file-system-adapter/src/FileSystemWritableFileStream.js deleted file mode 100644 index dd8794f9..00000000 --- a/core/static/vendored/native-file-system-adapter/src/FileSystemWritableFileStream.js +++ /dev/null @@ -1 +0,0 @@ -import config from"./config.js";const{WritableStream:WritableStream}=config;class FileSystemWritableFileStream extends WritableStream{#e;constructor(e){super(e),this.#e=e,Object.setPrototypeOf(this,FileSystemWritableFileStream.prototype),this._closed=!1}async close(){this._closed=!0;const e=this.getWriter(),t=e.close();return e.releaseLock(),t}seek(e){return this.write({type:"seek",position:e})}truncate(e){return this.write({type:"truncate",size:e})}write(e){if(this._closed)return Promise.reject(new TypeError("Cannot write to a CLOSED writable stream"));const t=this.getWriter(),r=t.write(e);return t.releaseLock(),r}}Object.defineProperty(FileSystemWritableFileStream.prototype,Symbol.toStringTag,{value:"FileSystemWritableFileStream",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(FileSystemWritableFileStream.prototype,{close:{enumerable:!0},seek:{enumerable:!0},truncate:{enumerable:!0},write:{enumerable:!0}}),!globalThis.FileSystemFileHandle||globalThis.FileSystemFileHandle.prototype.createWritable||globalThis.FileSystemWritableFileStream||(globalThis.FileSystemWritableFileStream=FileSystemWritableFileStream);export default FileSystemWritableFileStream;export{FileSystemWritableFileStream}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/_template.js b/core/static/vendored/native-file-system-adapter/src/adapters/_template.js deleted file mode 100644 index 0a50fbd2..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/_template.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";const{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX,SECURITY:SECURITY,DISALLOWED:DISALLOWED}=errors;export class Sink{constructor(){}write(e){}close(){}}export class FileHandle{constructor(){this._path=""}async getFile(){return new File([],"")}async createWritable(){}async isSameEntry(e){return e._path===this._path}}export class FolderHandle{constructor(){this._path=""}async*entries(){yield}async isSameEntry(e){return e._path===this._path}async getDirectoryHandle(e,r){return new FolderHandle}async getFileHandle(e,r){return new FileHandle}async removeEntry(e,r){}}const fs=new FolderHandle("");export default()=>fs; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/cache.js b/core/static/vendored/native-file-system-adapter/src/adapters/cache.js deleted file mode 100644 index ad9394a3..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/cache.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";const{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX}=errors,DIR={headers:{"content-type":"dir"}},FILE=()=>({headers:{"content-type":"file","last-modified":Date.now()}}),hasOwn=Object.prototype.hasOwnProperty;class Sink{constructor(e,t,i){this._cache=e,this.path=t,this.size=i.size,this.position=0,this.file=i}write(e,t){if("object"==typeof e)if("write"===e.type){if(Number.isInteger(e.position)&&e.position>=0&&(this.size=0){if(this.size=0){let t=this.file;return t=e.sizet.size&&(this.position=t.size),void(this.file=t)}throw new DOMException(...SYNTAX("truncate requires a size argument"))}}e=new Blob([e]);let i=this.file;const s=i.slice(0,this.position),n=i.slice(this.position+e.size);let a=this.position-s.size;a<0&&(a=0),i=new File([s,new Uint8Array(a),e,n],i.name),this.size=i.size,this.position+=e.size,this.file=i}async close(){const[e]=await this._cache.keys(this.path);if(!e)throw new DOMException(...GONE);return this._cache.put(this.path,new Response(this.file,FILE()))}}export class FileHandle{constructor(e,t){this._cache=t,this.path=e,this.kind="file",this.writable=!0,this.readable=!0}get name(){return this.path.split("/").pop()}async isSameEntry(e){return this.path===e.path}async getFile(){const e=await this._cache.match(this.path);if(!e)throw new DOMException(...GONE);const t=await e.blob();return new File([t],this.name,{lastModified:+e.headers.get("last-modified")})}async createWritable(e){const[t]=await this._cache.keys(this.path);if(!t)throw new DOMException(...GONE);return new Sink(this._cache,this.path,e.keepExistingData?await this.getFile():new File([],this.name))}}export class FolderHandle{constructor(e,t){this._dir=e,this.writable=!0,this.readable=!0,this._cache=t,this.kind="directory",this.name=e.split("/").pop()}async*entries(){for(const[e,t]of Object.entries(await this._tree))yield[e.split("/").pop(),t?new FileHandle(e,this._cache):new FolderHandle(e,this._cache)]}async isSameEntry(e){return this._dir===e._dir}async getDirectoryHandle(e,t){const i=this._dir.endsWith("/")?this._dir+e:`${this._dir}/${e}`,s=await this._tree;if(hasOwn.call(s,i)){if(s[i])throw new DOMException(...MISMATCH);return new FolderHandle(i,this._cache)}if(t.create)return s[i]=!1,await this._cache.put(i,new Response("{}",DIR)),await this._save(s),new FolderHandle(i,this._cache);throw new DOMException(...GONE)}get _tree(){return this._cache.match(this._dir).then((e=>e.json())).catch((e=>{throw new DOMException(...GONE)}))}_save(e){return this._cache.put(this._dir,new Response(JSON.stringify(e),DIR))}async getFileHandle(e,t){const i=this._dir.endsWith("/")?this._dir+e:`${this._dir}/${e}`,s=await this._tree;if(hasOwn.call(s,i)){if(!s[i])throw new DOMException(...MISMATCH);return new FileHandle(i,this._cache)}if(t.create){const e=await this._tree;return e[i]=!0,await this._cache.put(i,new Response("",FILE())),await this._save(e),new FileHandle(i,this._cache)}throw new DOMException(...GONE)}async removeEntry(e,t){const i=await this._tree,s=this._dir.endsWith("/")?this._dir+e:`${this._dir}/${e}`;if(!hasOwn.call(i,s))throw new DOMException(...GONE);if(t.recursive){const e=[...Object.entries(i)];for(;e.length;){const[t,i]=e.pop();if(i)await this._cache.delete(t);else{const i=await this._cache.match(t).then((e=>e.json()));e.push(...Object.entries(i))}}delete i[s]}else{const e=i[s];if(delete i[s],e)await this._cache.delete(s);else{const e=await this._cache.match(s).then((e=>e.json()));if(Object.keys(e).length)throw new DOMException(...MOD_ERR);await this._cache.delete(s)}}await this._save(i)}}export default async function(){const e=await caches.open("sandboxed-fs");return await e.match("/")||await e.put("/",new Response("{}",DIR)),new FolderHandle(location.origin+"/",e)} \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/deno.js b/core/static/vendored/native-file-system-adapter/src/adapters/deno.js deleted file mode 100644 index bd2320aa..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/deno.js +++ /dev/null @@ -1 +0,0 @@ -import{join,basename}from"https://deno.land/std@0.108.0/path/mod.ts";import{errors}from"../util.js";const{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX}=errors;async function fileFrom(t){const e=Deno.readFileSync(t),i=await Deno.stat(t);return new File([e],basename(t),{lastModified:Number(i.mtime)})}export class Sink{constructor(t,e){this.fileHandle=t,this.size=e,this.position=0}async abort(){await this.fileHandle.close()}async write(t){if("object"==typeof t)if("write"===t.type){if(Number.isInteger(t.position)&&t.position>=0&&(this.position=t.position),!("data"in t))throw await this.fileHandle.close(),new DOMException(...SYNTAX("write requires a data argument"));t=t.data}else{if("seek"===t.type){if(Number.isInteger(t.position)&&t.position>=0){if(this.size=0)return await this.fileHandle.truncate(t.size),this.size=t.size,void(this.position>this.size&&(this.position=this.size));throw await this.fileHandle.close(),new DOMException(...SYNTAX("truncate requires a size argument"))}}if(t instanceof ArrayBuffer)t=new Uint8Array(t);else if("string"==typeof t)t=(new TextEncoder).encode(t);else if(t instanceof Blob){await this.fileHandle.seek(this.position,Deno.SeekMode.Start);for await(const e of t.stream()){const t=await this.fileHandle.write(e);this.position+=t,this.size+=t}return}await this.fileHandle.seek(this.position,Deno.SeekMode.Start);const e=await this.fileHandle.write(t);this.position+=e,this.size+=e}async close(){await this.fileHandle.close()}}export class FileHandle{#t;constructor(t,e){this.#t=t,this.name=e,this.kind="file"}async getFile(){return await Deno.stat(this.#t).catch((t=>{if("NotFound"===t.name)throw new DOMException(...GONE)})),fileFrom(this.#t)}async isSameEntry(t){return this.#t===this.#e.apply(t)}#e(){return this.#t}async createWritable(t){const e=await Deno.open(this.#t,{write:!0,truncate:!t.keepExistingData}).catch((t=>{if("NotFound"===t.name)throw new DOMException(...GONE);throw t})),{size:i}=await e.stat();return new Sink(e,i)}}export class FolderHandle{#t="";constructor(t,e=""){this.name=e,this.kind="directory",this.#t=join(t)}async isSameEntry(t){return this.#t===this.#e.apply(t)}#e(){return this.#t}async*entries(){const t=this.#t;try{for await(const e of Deno.readDir(t)){const{name:i}=e,n=join(t,i),o=await Deno.lstat(n);o.isFile?yield[i,new FileHandle(n,i)]:o.isDirectory&&(yield[i,new FolderHandle(n,i)])}}catch(t){throw"NotFound"===t.name?new DOMException(...GONE):t}}async getDirectoryHandle(t,e){const i=join(this.#t,t),n=await Deno.lstat(i).catch((t=>{if("NotFound"!==t.name)throw t})),o=n?.isDirectory;if(n&&o)return new FolderHandle(i,t);if(n&&!o)throw new DOMException(...MISMATCH);if(!e.create)throw new DOMException(...GONE);return await Deno.mkdir(i),new FolderHandle(i,t)}async getFileHandle(t,e){const i=join(this.#t,t),n=await Deno.lstat(i).catch((t=>{if("NotFound"!==t.name)throw t})),o=n?.isFile;if(n&&o)return new FileHandle(i,t);if(n&&!o)throw new DOMException(...MISMATCH);if(!e.create)throw new DOMException(...GONE);return(await Deno.open(i,{create:!0,write:!0})).close(),new FileHandle(i,t)}async queryPermission(){return"granted"}async removeEntry(t,e){const i=join(this.#t,t);(await Deno.lstat(i).catch((t=>{if("NotFound"===t.name)throw new DOMException(...GONE);throw t}))).isDirectory?e.recursive?await Deno.remove(i,{recursive:!0}).catch((t=>{if("ENOTEMPTY"===t.code)throw new DOMException(...MOD_ERR);throw t})):await Deno.remove(i).catch((()=>{throw new DOMException(...MOD_ERR)})):await Deno.remove(i)}}export default t=>new FolderHandle(join(Deno.cwd(),t)); \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/downloader.js b/core/static/vendored/native-file-system-adapter/src/adapters/downloader.js deleted file mode 100644 index aca88970..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/downloader.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";import config from"../config.js";const{WritableStream:WritableStream,TransformStream:TransformStream,DOMException:DOMException,Blob:Blob}=config,{GONE:GONE}=errors,isOldSafari=/constructor/i.test(window.HTMLElement);export class FileHandle{constructor(e="unkown"){this.name=e,this.kind="file"}async getFile(){throw new DOMException(...GONE)}async isSameEntry(e){return this===e}async createWritable(e={}){const t=await(navigator.serviceWorker?.getRegistration()),r=document.createElement("a"),s=new TransformStream,a=s.writable;if(r.download=this.name,isOldSafari||!t){let e=[];s.readable.pipeTo(new WritableStream({write(t){e.push(new Blob([t]))},close(){const t=new Blob(e,{type:"application/octet-stream; charset=utf-8"});e=[],r.href=URL.createObjectURL(t),r.click(),setTimeout((()=>URL.revokeObjectURL(r.href)),1e4)}}))}else{const{writable:r,readablePort:a}=new RemoteWritableStream(WritableStream),o=encodeURIComponent(this.name).replace(/['()]/g,escape).replace(/\*/g,"%2A"),n={"content-disposition":"attachment; filename*=UTF-8''"+o,"content-type":"application/octet-stream; charset=utf-8",...e.size?{"content-length":e.size}:{}},i=setTimeout((()=>t.active.postMessage(0)),1e4);s.readable.pipeThrough(new TransformStream({transform(e,t){if(e instanceof Uint8Array)return t.enqueue(e);const r=new Response(e).body.getReader(),s=e=>r.read().then((e=>e.done?0:s(t.enqueue(e.value))));return s()}})).pipeTo(r).finally((()=>{clearInterval(i)})),t.active.postMessage({url:t.scope+o,headers:n,readablePort:a},[a]);const c=document.createElement("iframe");c.hidden=!0,c.src=t.scope+o,document.body.appendChild(c)}return a.getWriter()}}const WRITE=0,PULL=0,ERROR=1,ABORT=1,CLOSE=2;class MessagePortSink{constructor(e){e.onmessage=e=>this._onMessage(e.data),this._port=e,this._resetReady()}start(e){return this._controller=e,this._readyPromise}write(e){const t={type:0,chunk:e};return this._port.postMessage(t,[e.buffer]),this._resetReady(),this._readyPromise}close(){this._port.postMessage({type:2}),this._port.close()}abort(e){this._port.postMessage({type:1,reason:e}),this._port.close()}_onMessage(e){0===e.type&&this._resolveReady(),1===e.type&&this._onError(e.reason)}_onError(e){this._controller.error(e),this._rejectReady(e),this._port.close()}_resetReady(){this._readyPromise=new Promise(((e,t)=>{this._readyResolve=e,this._readyReject=t})),this._readyPending=!0}_resolveReady(){this._readyResolve(),this._readyPending=!1}_rejectReady(e){this._readyPending||this._resetReady(),this._readyPromise.catch((()=>{})),this._readyReject(e),this._readyPending=!1}}class RemoteWritableStream{constructor(e){const t=new MessageChannel;this.readablePort=t.port1,this.writable=new e(new MessagePortSink(t.port2))}} \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/indexeddb.js b/core/static/vendored/native-file-system-adapter/src/adapters/indexeddb.js deleted file mode 100644 index a8c3a18f..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/indexeddb.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";const{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX,ABORT:ABORT}=errors;function setupTxErrorHandler(e,t){e.onerror=()=>t(e.error),e.onabort=()=>t(e.error||new DOMException(...ABORT))}class Sink{constructor(e,t,i,s){this.db=e,this.id=t,this.size=i,this.position=0,this.file=s}write(e){if("object"==typeof e)if("write"===e.type){if(Number.isInteger(e.position)&&e.position>=0&&(this.size=0){if(this.size=0){let t=this.file;return t=e.sizet.size&&(this.position=t.size),void(this.file=t)}throw new DOMException(...SYNTAX("truncate requires a size argument"))}}e=new Blob([e]);let t=this.file;const i=t.slice(0,this.position),s=t.slice(this.position+e.size);let n=this.position-i.size;n<0&&(n=0),t=new File([i,new Uint8Array(n),e,s],t.name),this.size=t.size,this.position+=e.size,this.file=t}close(){return new Promise(((e,t)=>{const[i,s]=store(this.db);s.get(this.id).onsuccess=e=>{e.target.result?s.put(this.file,this.id):t(new DOMException(...GONE))},i.oncomplete=()=>e(),i.onerror=t,i.onabort=t}))}}class FileHandle{constructor(e,t,i){this._db=e,this._id=t,this.name=i,this.kind="file",this.readable=!0,this.writable=!0}async isSameEntry(e){return this._id===e._id}async getFile(){const e=await new Promise(((e,t)=>{const i=store(this._db)[1].get(this._id);i.onsuccess=t=>e(t.target.result),i.onerror=e=>t(e.target.error)}));if(!e)throw new DOMException(...GONE);return e}async createWritable(e){let t=await this.getFile();return t=e.keepExistingData?t:new File([],this.name),new Sink(this._db,this._id,t.size,t)}}function store(e){const t=e.transaction("entries","readwrite",{durability:"relaxed"});return[t,t.objectStore("entries")]}function rimraf(e,t,i=!0){const{source:s,result:n}=e.target;for(const[e,r]of Object.values(t||n))r?s.delete(e):i?(s.get(e).onsuccess=rimraf,s.delete(e)):s.get(e).onsuccess=t=>{0!==Object.keys(t.target.result).length?t.target.transaction.abort():s.delete(e)}}class FolderHandle{constructor(e,t,i){this._db=e,this._id=t,this.kind="directory",this.name=i,this.readable=!0,this.writable=!0}async*entries(){const e=store(this._db)[1].get(this._id);await new Promise(((t,i)=>{e.onsuccess=()=>t(),e.onerror=()=>i(e.error)}));const t=e.result;if(!t)throw new DOMException(...GONE);for(const[e,[i,s]]of Object.entries(t))yield[e,s?new FileHandle(this._db,i,e):new FolderHandle(this._db,i,e)]}isSameEntry(e){return this._id===e._id}getDirectoryHandle(e,t){return new Promise(((i,s)=>{const n=store(this._db)[1],r=n.get(this._id);r.onsuccess=()=>{const o=r.result,c=o[e];c?c[1]?s(new DOMException(...MISMATCH)):i(new FolderHandle(this._db,c[0],e)):t.create?n.add({}).onsuccess=t=>{const s=t.target.result;o[e]=[s,!1],n.put(o,this._id).onsuccess=()=>i(new FolderHandle(this._db,s,e))}:s(new DOMException(...GONE))}}))}getFileHandle(e,t){return new Promise(((i,s)=>{const n=store(this._db)[1],r=n.get(this._id);r.onsuccess=()=>{const o=r.result,c=o[e];if(c&&c[1]&&i(new FileHandle(this._db,c[0],e)),c&&!c[1]&&s(new DOMException(...MISMATCH)),c||t.create||s(new DOMException(...GONE)),!c&&t.create){const t=n.put(new File([],e));t.onsuccess=()=>{const s=t.result;o[e]=[s,!0];n.put(o,this._id).onsuccess=()=>{i(new FileHandle(this._db,s,e))}}}}}))}async removeEntry(e,t){return new Promise(((i,s)=>{const[n,r]=store(this._db),o=r.get(this._id);o.onsuccess=i=>{const n=o.result,c={_:n[e]};if(!c._)return s(new DOMException(...GONE));delete n[e],r.put(n,this._id),rimraf(i,c,!!t.recursive)},n.oncomplete=i,n.onerror=s,n.onabort=()=>{s(new DOMException(...MOD_ERR))}}))}}export default(e={persistent:!1})=>new Promise((e=>{const t=indexedDB.open("fileSystem");t.onupgradeneeded=()=>{const e=t.result;e.createObjectStore("entries",{autoIncrement:!0}).transaction.oncomplete=t=>{e.transaction("entries","readwrite").objectStore("entries").add({})}},t.onsuccess=()=>{e(new FolderHandle(t.result,1,""))}})); \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/jsdelivr.js b/core/static/vendored/native-file-system-adapter/src/adapters/jsdelivr.js deleted file mode 100644 index ad1b66b2..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/jsdelivr.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";const{GONE:GONE,MISMATCH:MISMATCH,SYNTAX:SYNTAX,DISALLOWED:DISALLOWED}=errors;export class FileHandle{constructor(e,t){this.name=e.name,this.kind="file",this._deleted=!1,this._root=t,this._entry=e,this.writable=!1,this.readable=!0}async getFile(){const e=await fetch(`https://cdn.jsdelivr.net/${this._root}/${this.name}`),t=await e.blob();return new File([t],this.name,{type:t.type,lastModified:this._entry.time})}async createWritable(){throw new DOMException(...DISALLOWED)}async isSameEntry(e){return this===e}}function toDic(e,t){const n={};for(const i of e)i.time=+new Date(i.time),"file"===i.type?n[i.name]=new FileHandle(i,t):n[i.name]=new FolderHandle(i.files,`${t}/${i.name}`,i.name);return n}export class FolderHandle{constructor(e,t,n=""){this.name=n,this.kind="directory",this._deleted=!1,this._entries=toDic(e,t),this.writable=!1,this.readable=!0}async*entries(){yield*Object.entries(this._entries)}async isSameEntry(e){return this===e}async getDirectoryHandle(e,t){if(this._deleted)throw new DOMException(...GONE);const n=this._entries[e];if(n){if(n instanceof FileHandle)throw new DOMException(...MISMATCH);return n}throw t.create?new DOMException(...DISALLOWED):new DOMException(...GONE)}async getFileHandle(e,t){const n=this._entries[e],i=n instanceof FileHandle;if(n&&i)return n;if(n&&!i)throw new DOMException(...MISMATCH);if(!n&&!t.create)throw new DOMException(...GONE);if(!n&&t.create)throw new DOMException(...DISALLOWED)}async removeEntry(e,t){throw new DOMException(...DISALLOWED)}}export default async e=>{const t=await fetch(`https://data.jsdelivr.com/v1/package/${e}`),{files:n}=await t.json();return new FolderHandle(n,e)}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/memory.js b/core/static/vendored/native-file-system-adapter/src/adapters/memory.js deleted file mode 100644 index 7c08f6e7..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/memory.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";import config from"../config.js";const{File:File,Blob:Blob,DOMException:DOMException}=config,{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX,SECURITY:SECURITY,DISALLOWED:DISALLOWED}=errors;export class Sink{constructor(e,i){this.fileHandle=e,this.file=i,this.size=i.size,this.position=0}write(e){let i=this.file;if("object"==typeof e)if("write"===e.type){if(Number.isInteger(e.position)&&e.position>=0&&(this.position=e.position,this.size=0){if(this.size=0)return i=e.sizei.size&&(this.position=i.size),void(this.file=i);throw new DOMException(...SYNTAX("truncate requires a size argument"))}}e=new Blob([e]);let t=this.file;const s=t.slice(0,this.position),n=t.slice(this.position+e.size);let o=this.position-s.size;o<0&&(o=0),t=new File([s,new Uint8Array(o),e,n],t.name),this.size=t.size,this.position+=e.size,this.file=t}close(){if(this.fileHandle._deleted)throw new DOMException(...GONE);this.fileHandle._file=this.file,this.file=this.position=this.size=null,this.fileHandle.onclose&&this.fileHandle.onclose(this.fileHandle)}}export class FileHandle{constructor(e="",i=new File([],e),t=!0){this._file=i,this.name=e,this.kind="file",this._deleted=!1,this.writable=t,this.readable=!0}async getFile(){if(this._deleted)throw new DOMException(...GONE);return this._file}async createWritable(e){if(!this.writable)throw new DOMException(...DISALLOWED);if(this._deleted)throw new DOMException(...GONE);const i=e.keepExistingData?await this.getFile():new File([],this.name);return new Sink(this,i)}async isSameEntry(e){return this===e}async _destroy(){this._deleted=!0,this._file=null}}export class FolderHandle{constructor(e,i=!0){this.name=e,this.kind="directory",this._deleted=!1,this._entries={},this.writable=i,this.readable=!0}async*entries(){if(this._deleted)throw new DOMException(...GONE);yield*Object.entries(this._entries)}async isSameEntry(e){return this===e}async getDirectoryHandle(e,i){if(this._deleted)throw new DOMException(...GONE);const t=this._entries[e];if(t){if(t instanceof FileHandle)throw new DOMException(...MISMATCH);return t}if(i.create)return this._entries[e]=new FolderHandle(e);throw new DOMException(...GONE)}async getFileHandle(e,i){const t=this._entries[e],s=t instanceof FileHandle;if(t&&s)return t;if(t&&!s)throw new DOMException(...MISMATCH);if(!t&&!i.create)throw new DOMException(...GONE);return!t&&i.create?this._entries[e]=new FileHandle(e):void 0}async removeEntry(e,i){const t=this._entries[e];if(!t)throw new DOMException(...GONE);await t._destroy(i.recursive),delete this._entries[e]}async _destroy(e){for(let i of Object.values(this._entries)){if(!e)throw new DOMException(...MOD_ERR);await i._destroy(e)}this._entries={},this._deleted=!0}}const fs=new FolderHandle("");export default()=>fs; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/node.js b/core/static/vendored/native-file-system-adapter/src/adapters/node.js deleted file mode 100644 index 4f1018d1..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/node.js +++ /dev/null @@ -1 +0,0 @@ -import fs from"node:fs/promises";import{join}from"node:path";import{errors}from"../util.js";import config from"../config.js";const{DOMException:DOMException}=config,{INVALID:INVALID,GONE:GONE,MISMATCH:MISMATCH,MOD_ERR:MOD_ERR,SYNTAX:SYNTAX}=errors;function isBlob(t){return t&&"object"==typeof t&&"function"==typeof t.constructor&&("function"==typeof t.stream||"function"==typeof t.arrayBuffer)&&/^(Blob|File)$/.test(t[Symbol.toStringTag])}export class Sink{constructor(t,i){this._fileHandle=t,this._size=i,this._position=0}async abort(){await this._fileHandle.close()}async write(t){if("object"==typeof t)if("write"===t.type){if(Number.isInteger(t.position)&&t.position>=0&&(this._position=t.position),!("data"in t))throw await this._fileHandle.close(),new DOMException(...SYNTAX("write requires a data argument"));t=t.data}else{if("seek"===t.type){if(Number.isInteger(t.position)&&t.position>=0){if(this._size=0)return await this._fileHandle.truncate(t.size),this._size=t.size,void(this._position>this._size&&(this._position=this._size));throw await this._fileHandle.close(),new DOMException(...SYNTAX("truncate requires a size argument"))}}if(t instanceof ArrayBuffer)t=new Uint8Array(t);else if("string"==typeof t)t=Buffer.from(t);else if(isBlob(t)){for await(const i of t.stream()){const t=await this._fileHandle.writev([i],this._position);this._position+=t.bytesWritten,this._size+=t.bytesWritten}return}const i=await this._fileHandle.writev([t],this._position);this._position+=i.bytesWritten,this._size+=i.bytesWritten}async close(){await this._fileHandle.close()}}export class FileHandle{constructor(t,i){this._path=t,this.name=i,this.kind="file"}async getFile(){await fs.stat(this._path).catch((t=>{if("ENOENT"===t.code)throw new DOMException(...GONE)}));const{fileFrom:t}=await import("fetch-blob/from.js");return t(this._path)}async isSameEntry(t){return this._path===this._getPath.apply(t)}_getPath(){return this._path}async createWritable(t){const i=await fs.open(this._path,t.keepExistingData?"r+":"w+").catch((t=>{if("ENOENT"===t.code)throw new DOMException(...GONE);throw t})),{size:e}=await i.stat();return new Sink(i,e)}}export class FolderHandle{_path="";constructor(t="",i=""){this.name=i,this.kind="directory",this._path=t}async isSameEntry(t){return this._path===t._path}async*entries(){const t=this._path,i=await fs.readdir(t).catch((t=>{if("ENOENT"===t.code)throw new DOMException(...GONE);throw t}));for(let e of i){const i=join(t,e),o=await fs.lstat(i);o.isFile()?yield[e,new FileHandle(i,e)]:o.isDirectory()&&(yield[e,new FolderHandle(i,e)])}}async getDirectoryHandle(t,i){const e=join(this._path,t),o=await fs.lstat(e).catch((t=>{if("ENOENT"!==t.code)throw t})),s=o?.isDirectory();if(o&&s)return new FolderHandle(e,t);if(o&&!s)throw new DOMException(...MISMATCH);if(!i.create)throw new DOMException(...GONE);return await fs.mkdir(e),new FolderHandle(e,t)}async getFileHandle(t,i){const e=join(this._path,t),o=await fs.lstat(e).catch((t=>{if("ENOENT"!==t.code)throw t})),s=o?.isFile();if(o&&s)return new FileHandle(e,t);if(o&&!s)throw new DOMException(...MISMATCH);if(!i.create)throw new DOMException(...GONE);return await(await fs.open(e,"w")).close(),new FileHandle(e,t)}async queryPermission(){return"granted"}async removeEntry(t,i){const e=join(this._path,t);(await fs.lstat(e).catch((t=>{if("ENOENT"===t.code)throw new DOMException(...GONE);throw t}))).isDirectory()?i.recursive?await fs.rm(e,{recursive:!0}).catch((t=>{if("ENOTEMPTY"===t.code)throw new DOMException(...MOD_ERR);throw t})):await fs.rmdir(e).catch((t=>{if("ENOTEMPTY"===t.code)throw new DOMException(...MOD_ERR);throw t})):await fs.unlink(e)}}export default t=>new FolderHandle(t); \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/adapters/sandbox.js b/core/static/vendored/native-file-system-adapter/src/adapters/sandbox.js deleted file mode 100644 index e6110eba..00000000 --- a/core/static/vendored/native-file-system-adapter/src/adapters/sandbox.js +++ /dev/null @@ -1 +0,0 @@ -import{errors}from"../util.js";const{DISALLOWED:DISALLOWED}=errors;class Sink{constructor(e,i){this.writer=e,this.fileEntry=i}async write(e){if("object"==typeof e)if("write"===e.type){if(Number.isInteger(e.position)&&e.position>=0&&(this.writer.seek(e.position),this.writer.position!==e.position&&(await new Promise(((i,t)=>{this.writer.onwriteend=i,this.writer.onerror=t,this.writer.truncate(e.position)})),this.writer.seek(e.position))),!("data"in e))throw new DOMException("Failed to execute 'write' on 'UnderlyingSinkBase': Invalid params passed. write requires a data argument","SyntaxError");e=e.data}else{if("seek"===e.type){if(Number.isInteger(e.position)&&e.position>=0){if(this.writer.seek(e.position),this.writer.position!==e.position)throw new DOMException("seeking position failed","InvalidStateError");return}throw new DOMException("Failed to execute 'write' on 'UnderlyingSinkBase': Invalid params passed. seek requires a position argument","SyntaxError")}if("truncate"===e.type)return new Promise((i=>{if(!(Number.isInteger(e.size)&&e.size>=0))throw new DOMException("Failed to execute 'write' on 'UnderlyingSinkBase': Invalid params passed. truncate requires a size argument","SyntaxError");this.writer.onwriteend=e=>i(),this.writer.truncate(e.size)}))}await new Promise(((i,t)=>{this.writer.onwriteend=i,this.writer.onerror=t,this.writer.write(new Blob([e]))}))}close(){return new Promise(this.fileEntry.file.bind(this.fileEntry))}}export class FileHandle{constructor(e,i=!0){this.file=e,this.kind="file",this.writable=i,this.readable=!0}get name(){return this.file.name}isSameEntry(e){return this.file.toURL()===e.file.toURL()}getFile(){return new Promise(this.file.file.bind(this.file))}createWritable(e){if(!this.writable)throw new DOMException(...DISALLOWED);return new Promise(((i,t)=>this.file.createWriter((t=>{!1===e.keepExistingData?(t.onwriteend=e=>i(new Sink(t,this.file)),t.truncate(0)):i(new Sink(t,this.file))}),t)))}}export class FolderHandle{constructor(e,i=!0){this.dir=e,this.writable=i,this.readable=!0,this.kind="directory",this.name=e.name}isSameEntry(e){return this.dir.fullPath===e.dir.fullPath}async*entries(){const e=this.dir.createReader(),i=await new Promise(e.readEntries.bind(e));for(const e of i)yield[e.name,e.isFile?new FileHandle(e,this.writable):new FolderHandle(e,this.writable)]}getDirectoryHandle(e,i){return new Promise(((t,r)=>{this.dir.getDirectory(e,i,(e=>{t(new FolderHandle(e))}),r)}))}getFileHandle(e,i){return new Promise(((t,r)=>this.dir.getFile(e,i,(e=>t(new FileHandle(e))),r)))}async removeEntry(e,i){const t=await this.getDirectoryHandle(e,{create:!1}).catch((i=>"TypeMismatchError"===i.name?this.getFileHandle(e,{create:!1}):i));if(t instanceof Error)throw t;return new Promise(((e,r)=>{t instanceof FolderHandle?i.recursive?t.dir.removeRecursively((()=>e()),r):t.dir.remove((()=>e()),r):t.file&&t.file.remove((()=>e()),r)}))}}export default(e={})=>new Promise(((i,t)=>window.webkitRequestFileSystem(e._persistent,0,(e=>i(new FolderHandle(e.root))),t))); \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/config.js b/core/static/vendored/native-file-system-adapter/src/config.js deleted file mode 100644 index ffa0159d..00000000 --- a/core/static/vendored/native-file-system-adapter/src/config.js +++ /dev/null @@ -1 +0,0 @@ -const config={ReadableStream:globalThis.ReadableStream,WritableStream:globalThis.WritableStream,TransformStream:globalThis.TransformStream,DOMException:globalThis.DOMException,Blob:globalThis.Blob,File:globalThis.File};export default config; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/es6.js b/core/static/vendored/native-file-system-adapter/src/es6.js deleted file mode 100644 index 2f336005..00000000 --- a/core/static/vendored/native-file-system-adapter/src/es6.js +++ /dev/null @@ -1 +0,0 @@ -import showDirectoryPicker from"./showDirectoryPicker.js";import showOpenFilePicker from"./showOpenFilePicker.js";import showSaveFilePicker from"./showSaveFilePicker.js";import getOriginPrivateDirectory from"./getOriginPrivateDirectory.js";import FileSystemWritableFileStream from"./FileSystemWritableFileStream.js";import FileSystemDirectoryHandle from"./FileSystemDirectoryHandle.js";import FileSystemFileHandle from"./FileSystemFileHandle.js";import FileSystemHandle from"./FileSystemHandle.js";export{FileSystemDirectoryHandle,FileSystemFileHandle,FileSystemHandle,FileSystemWritableFileStream,getOriginPrivateDirectory,showDirectoryPicker,showOpenFilePicker,showSaveFilePicker}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/getOriginPrivateDirectory.js b/core/static/vendored/native-file-system-adapter/src/getOriginPrivateDirectory.js deleted file mode 100644 index c4b5531d..00000000 --- a/core/static/vendored/native-file-system-adapter/src/getOriginPrivateDirectory.js +++ /dev/null @@ -1 +0,0 @@ -async function getOriginPrivateDirectory(e,t={}){if(!e)return globalThis.navigator?.storage?.getDirectory()||globalThis.getOriginPrivateDirectory();const{FileSystemDirectoryHandle:i}=await import("./FileSystemDirectoryHandle.js"),r=await e;return new i(await(r.default?r.default(t):r(t)))}globalThis.DataTransferItem&&!DataTransferItem.prototype.getAsFileSystemHandle&&(DataTransferItem.prototype.getAsFileSystemHandle=async function(){const e=this.webkitGetAsEntry(),[{FileHandle:t,FolderHandle:i},{FileSystemDirectoryHandle:r},{FileSystemFileHandle:a}]=await Promise.all([import("./adapters/sandbox.js"),import("./FileSystemDirectoryHandle.js"),import("./FileSystemFileHandle.js")]);return e.isFile?new a(new t(e,!1)):new r(new i(e,!1))});export default getOriginPrivateDirectory; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/showDirectoryPicker.js b/core/static/vendored/native-file-system-adapter/src/showDirectoryPicker.js deleted file mode 100644 index 6e102a09..00000000 --- a/core/static/vendored/native-file-system-adapter/src/showDirectoryPicker.js +++ /dev/null @@ -1 +0,0 @@ -const native=globalThis.showDirectoryPicker;async function showDirectoryPicker(e={}){if(native&&!e._preferPolyfill)return native(e);const t=document.createElement("input");t.type="file",t.webkitdirectory=!0,t.multiple=!0,t.style.position="fixed",t.style.top="-100000px",t.style.left="-100000px",document.body.appendChild(t);const i=import("./util.js");return await new Promise((e=>{t.addEventListener("change",e),t.click()})),i.then((e=>e.getDirHandlesFromInput(t)))}export default showDirectoryPicker;export{showDirectoryPicker}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/showOpenFilePicker.js b/core/static/vendored/native-file-system-adapter/src/showOpenFilePicker.js deleted file mode 100644 index 493994cd..00000000 --- a/core/static/vendored/native-file-system-adapter/src/showOpenFilePicker.js +++ /dev/null @@ -1 +0,0 @@ -const def={accepts:[]},native=globalThis.showOpenFilePicker;async function showOpenFilePicker(e={}){const t={...def,...e};if(native&&!e._preferPolyfill)return native(t);const i=document.createElement("input");i.type="file",i.multiple=t.multiple,i.accept=(t.accepts||[]).map((e=>[...(e.extensions||[]).map((e=>"."+e)),...e.mimeTypes||[]])).flat().join(","),Object.assign(i.style,{position:"fixed",top:"-100000px",left:"-100000px"}),document.body.appendChild(i);const n=import("./util.js");return await new Promise((e=>{i.addEventListener("change",e,{once:!0}),i.click()})),i.remove(),n.then((e=>e.getFileHandlesFromInput(i)))}export default showOpenFilePicker;export{showOpenFilePicker}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/showSaveFilePicker.js b/core/static/vendored/native-file-system-adapter/src/showSaveFilePicker.js deleted file mode 100644 index 4889f44f..00000000 --- a/core/static/vendored/native-file-system-adapter/src/showSaveFilePicker.js +++ /dev/null @@ -1 +0,0 @@ -const native=globalThis.showSaveFilePicker;async function showSaveFilePicker(e={}){if(native&&!e._preferPolyfill)return native(e);e._name&&(console.warn("deprecated _name, spec now have `suggestedName`"),e.suggestedName=e._name);const{FileSystemFileHandle:a}=await import("./FileSystemFileHandle.js"),{FileHandle:i}=await import("./adapters/downloader.js");return new a(new i(e.suggestedName))}export default showSaveFilePicker;export{showSaveFilePicker}; \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/src/util.js b/core/static/vendored/native-file-system-adapter/src/util.js deleted file mode 100644 index da9ef546..00000000 --- a/core/static/vendored/native-file-system-adapter/src/util.js +++ /dev/null @@ -1 +0,0 @@ -export const errors={INVALID:["seeking position failed.","InvalidStateError"],GONE:["A requested file or directory could not be found at the time an operation was processed.","NotFoundError"],MISMATCH:["The path supplied exists, but was not an entry of requested type.","TypeMismatchError"],MOD_ERR:["The object can not be modified in this way.","InvalidModificationError"],SYNTAX:e=>[`Failed to execute 'write' on 'UnderlyingSinkBase': Invalid params passed. ${e}`,"SyntaxError"],SECURITY:["It was determined that certain files are unsafe for access within a Web application, or that too many calls are being made on file resources.","SecurityError"],DISALLOWED:["The request is not allowed by the user agent or the platform in the current context.","NotAllowedError"]};export const config={writable:globalThis.WritableStream};export async function fromDataTransfer(e){console.warn("deprecated fromDataTransfer - use `dt.items[0].getAsFileSystemHandle()` instead");const[t,r,a]=await Promise.all([import("./adapters/memory.js"),import("./adapters/sandbox.js"),import("./FileSystemDirectoryHandle.js")]),n=new t.FolderHandle("",!1);return n._entries=e.map((e=>e.isFile?new r.FileHandle(e,!1):new r.FolderHandle(e,!1))),new a.FileSystemDirectoryHandle(n)}export async function getDirHandlesFromInput(e){const{FolderHandle:t,FileHandle:r}=await import("./adapters/memory.js"),{FileSystemDirectoryHandle:a}=await import("./FileSystemDirectoryHandle.js"),n=Array.from(e.files),i=n[0].webkitRelativePath.split("/",1)[0],o=new t(i,!1);return n.forEach((e=>{const a=e.webkitRelativePath.split("/");a.shift();const n=a.pop();a.reduce(((e,r)=>(e._entries[r]||(e._entries[r]=new t(r,!1)),e._entries[r])),o)._entries[n]=new r(e.name,e,!1)})),new a(o)}export async function getFileHandlesFromInput(e){const{FileHandle:t}=await import("./adapters/memory.js"),{FileSystemFileHandle:r}=await import("./FileSystemFileHandle.js");return Array.from(e.files).map((e=>new r(new t(e.name,e,!1))))} \ No newline at end of file diff --git a/core/static/vendored/native-file-system-adapter/sw.js b/core/static/vendored/native-file-system-adapter/sw.js deleted file mode 100644 index f7847503..00000000 --- a/core/static/vendored/native-file-system-adapter/sw.js +++ /dev/null @@ -1 +0,0 @@ -const WRITE=0,PULL=0,ERROR=1,ABORT=1,CLOSE=2,PING=3;class MessagePortSource{controller;constructor(e){this.port=e,this.port.onmessage=e=>this.onMessage(e.data)}start(e){this.controller=e}pull(){this.port.postMessage({type:0})}cancel(e){this.port.postMessage({type:1,reason:e.message}),this.port.close()}onMessage(e){0===e.type&&this.controller.enqueue(e.chunk),1===e.type&&(this.controller.error(e.reason),this.port.close()),2===e.type&&(this.controller.close(),this.port.close())}}self.addEventListener("install",(()=>{self.skipWaiting()})),self.addEventListener("activate",(e=>{e.waitUntil(self.clients.claim())}));const map=new Map;globalThis.addEventListener("message",(e=>{const t=e.data;t.url&&t.readablePort&&(t.rs=new ReadableStream(new MessagePortSource(e.data.readablePort),new CountQueuingStrategy({highWaterMark:4})),map.set(t.url,t))})),globalThis.addEventListener("fetch",(e=>{const t=e.request.url,s=map.get(t);if(!s)return null;map.delete(t),e.respondWith(new Response(s.rs,{headers:s.headers}))})); \ No newline at end of file diff --git a/core/static/vendored/zipjs/LICENSE b/core/static/vendored/zipjs/LICENSE deleted file mode 100644 index c4fd485e..00000000 --- a/core/static/vendored/zipjs/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2023, Gildas Lormeau - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/core/static/vendored/zipjs/README.md b/core/static/vendored/zipjs/README.md deleted file mode 100644 index 0c1a9d2b..00000000 --- a/core/static/vendored/zipjs/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Built scripts of zip.js - -**Warning**: These files are not compatible with ES modules, i.e. they cannot be imported with `import`. Instead, import `index.js` in the root folder of the project or one of the files prefixed with `zip-` in the [`/lib`](../lib) folder (e.g. `/lib/zip-no-worker-inflate.js`). - -- for production (minified): - -| | [`ZipReader`](https://gildas-lormeau.github.io/zip.js/api/classes/ZipReader.html) API | [`ZipWriter`](https://gildas-lormeau.github.io/zip.js/api/classes/ZipWriter.html) API | [`zip.fs`](https://gildas-lormeau.github.io/zip.js/api/classes/FS.html) API | Web Workers | No Web Workers | Usage | -|--------------------------------|-----------------|-----------------|--------------|-------------|----------------|-------------------------------------------------------| -| `zip.min.js` | x | x | | x | | compression/decompression with web workers | -| `zip-no-worker.min.js` | x | x | | | x | compression/decompression without web workers | -| `zip-no-worker-inflate.min.js` | x | | | | x | decompression without web workers | -| `zip-no-worker-deflate.min.js` | | x | | | x | compression without web workers | -| `zip-full.min.js` | x | x | | x | x | compression/decompression with or without web workers | -| `zip-fs.min.js` | x | x | x | x | | compression/decompression with web workers | -| `zip-fs-full.min.js` | x | x | x | x | x | compression/decompression with or without web workers | - -- for development/debugging: - -| | `zip` API | [`zip.fs`](https://gildas-lormeau.github.io/zip.js/api/classes/FS.html) API | Web Workers | No Web Workers | -|-----------------------|-----------|--------------|-------------|----------------| -| `zip.js` | x | | x | | -| `zip-full.js` | x | | x | x | -| `zip-fs.js` | x | x | x | | -| `zip-fs-full.js` | x | x | x | x | - -- `z-worker.js` can be used as a web worker script if the [Content Security Policy](https://developer.mozilla.org/docs/Web/HTTP/CSP) blocks scripts loaded with a `blob:` scheme -- `z-worker-fflate.js` is the web worker script for using [fflate](https://gildas-lormeau.github.io/zip.js/core-api.html#alternative-codec-fflate) -- `z-worker-pako.js` is the web worker script for using [pako](https://gildas-lormeau.github.io/zip.js/core-api.html#alternative-codec-pako) diff --git a/core/static/vendored/zipjs/zip-fs-full.min.js b/core/static/vendored/zipjs/zip-fs-full.min.js deleted file mode 100644 index 10f19672..00000000 --- a/core/static/vendored/zipjs/zip-fs-full.min.js +++ /dev/null @@ -1 +0,0 @@ -((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,(function(e){"use strict";const{Array:t,Object:n,String:r,Number:i,BigInt:s,Math:a,Date:o,Map:l,Set:c,Response:d,URL:f,Error:u,Uint8Array:p,Uint16Array:m,Uint32Array:h,DataView:w,Blob:x,Promise:g,TextEncoder:v,TextDecoder:b,document:y,crypto:_,btoa:k,TransformStream:z,ReadableStream:S,WritableStream:D,CompressionStream:A,DecompressionStream:C,navigator:F,Worker:R}="undefined"!=typeof globalThis?globalThis:this||self;var E=void 0!==y?y.currentScript:null;const j=15,T=573,q=-2;function U(e){return I(e.map((([e,n])=>new t(e).fill(n,0,e))))}function I(e){return e.reduce(((e,n)=>e.concat(t.isArray(n)?I(n):n)),[])}const W=[0,1,2,3].concat(...U([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function N(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,s=e.stat_desc.elems;let o,l,c,d=-1;for(n.heap_len=0,n.heap_max=T,o=0;s>o;o++)0!==r[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):r[2*o+1]=0;for(;2>n.heap_len;)c=n.heap[++n.heap_len]=2>d?++d:0,r[2*c]=1,n.depth[c]=0,n.opt_len--,i&&(n.static_len-=i[2*c+1]);for(e.max_code=d,o=a.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(r,o);c=s;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),l=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=l,r[2*c]=r[2*o]+r[2*l],n.depth[c]=a.max(n.depth[o],n.depth[l])+1,r[2*o+1]=r[2*l+1]=c,n.heap[1]=c++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,l,c,d,f,u,p=0;for(d=0;j>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;T>o;o++)l=t.heap[o],d=n[2*n[2*l+1]+1]+1,d>a&&(d=a,p++),n[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,f=0,s>l||(f=i[l-s]),u=n[2*l],t.opt_len+=u*(d+f),r&&(t.static_len+=u*(r[2*l+1]+f)));if(0!==p){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,p-=2}while(p>0);for(d=a;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(n[2*c+1]!=d&&(t.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}})(n),((e,n,r)=>{const i=[];let s,a,o,l=0;for(s=1;j>=s;s++)i[s]=l=l+r[s-1]<<1;for(a=0;n>=a;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(i[o]++,o))})(r,e.max_code,n.bl_count)}}function P(e,t,n,r,i){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=r,s.max_length=i}N._length_code=[0,1,2,3,4,5,6,7].concat(...U([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),N.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],N.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],N.d_code=e=>256>e?W[e]:W[256+(e>>>7)],N.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],N.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],N.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const L=U([[144,8],[112,9],[24,7],[8,8]]);P.static_ltree=I([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,L[t]])));const O=U([[30,5]]);function B(e,t,n,r,i){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=r,s.func=i}P.static_dtree=I([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,O[t]]))),P.static_l_desc=new P(P.static_ltree,N.extra_lbits,257,286,j),P.static_d_desc=new P(P.static_dtree,N.extra_dbits,0,30,j),P.static_bl_desc=new P(null,N.extra_blbits,0,19,7);const M=[new B(0,0,0,0,0),new B(4,4,8,4,1),new B(4,5,16,8,1),new B(4,6,32,32,1),new B(4,4,16,16,2),new B(8,16,32,32,2),new B(8,16,128,128,2),new B(8,32,128,256,2),new B(32,128,258,1024,2),new B(32,258,258,4096,2)],G=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],H=113,V=666,Z=262;function K(e,t,n,r){const i=e[2*t],s=e[2*n];return s>i||i==s&&r[t]<=r[n]}function X(){const e=this;let t,n,r,i,s,o,l,c,d,f,u,h,w,x,g,v,b,y,_,k,z,S,D,A,C,F,R,E,j,T,U,I,W;const L=new N,O=new N,B=new N;let X,Y,Q,J,$,ee;function te(){let t;for(t=0;286>t;t++)U[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)W[2*t]=0;U[512]=1,e.opt_len=e.static_len=0,Y=Q=0}function ne(e,t){let n,r=-1,i=e[1],s=0,a=7,o=4;0===i&&(a=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)n=i,i=e[2*(l+1)+1],++ss?W[2*n]+=s:0!==n?(n!=r&&W[2*n]++,W[32]++):s>10?W[36]++:W[34]++,s=0,r=n,0===i?(a=138,o=3):n==i?(a=6,o=3):(a=7,o=4))}function re(t){e.pending_buf[e.pending++]=t}function ie(e){re(255&e),re(e>>>8&255)}function se(e,t){let n;const r=t;ee>16-r?(n=e,$|=n<>>16-ee,ee+=r-16):($|=e<=n;n++)if(r=s,s=e[2*(n+1)+1],++a>=o||r!=s){if(l>a)do{ae(r,W)}while(0!=--a);else 0!==r?(r!=i&&(ae(r,W),a--),ae(16,W),se(a-3,2)):a>10?(ae(18,W),se(a-11,7)):(ae(17,W),se(a-3,3));a=0,i=r,0===s?(o=138,l=3):r==s?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(ie($),$=0,ee=0):8>ee||(re(255&$),$>>>=8,ee-=8)}function ce(t,n){let r,i,s;if(e.dist_buf[Y]=t,e.lc_buf[Y]=255&n,Y++,0===t?U[2*n]++:(Q++,t--,U[2*(N._length_code[n]+256+1)]++,I[2*N.d_code(t)]++),!(8191&Y)&&R>2){for(r=8*Y,i=z-b,s=0;30>s;s++)r+=I[2*s]*(5+N.extra_dbits[s]);if(r>>>=3,Qo);ae(256,t),J=t[513]}function fe(){ee>8?ie($):ee>0&&re(255&$),$=0,ee=0}function ue(t,n,r){se(0+(r?1:0),3),((t,n)=>{fe(),J=8,ie(n),ie(~n),e.pending_buf.set(c.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function pe(n){((t,n,r)=>{let i,s,a=0;R>0?(L.build_tree(e),O.build_tree(e),a=(()=>{let t;for(ne(U,L.max_code),ne(I,O.max_code),B.build_tree(e),t=18;t>=3&&0===W[2*N.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s>i||(i=s)):i=s=n+5,n+4>i||-1==t?s==i?(se(2+(r?1:0),3),de(P.static_ltree,P.static_dtree)):(se(4+(r?1:0),3),((e,t,n)=>{let r;for(se(e-257,5),se(t-1,5),se(n-4,4),r=0;n>r;r++)se(W[2*N.bl_order[r]+1],3);oe(U,e-1),oe(I,t-1)})(L.max_code+1,O.max_code+1,a+1),de(U,I)):ue(t,n,r),te(),r&&fe()})(0>b?-1:b,z-b,n),b=z,t.flush_pending()}function me(){let e,n,r,i;do{if(i=d-D-z,0===i&&0===z&&0===D)i=s;else if(-1==i)i--;else if(z>=s+s-Z){c.set(c.subarray(s,s+s),0),S-=s,z-=s,b-=s,e=w,r=e;do{n=65535&u[--r],u[r]=s>n?0:n-s}while(0!=--e);e=s,r=e;do{n=65535&f[--r],f[r]=s>n?0:n-s}while(0!=--e);i+=s}if(0===t.avail_in)return;e=t.read_buf(c,z+D,i),D+=e,3>D||(h=255&c[z],h=(h<D&&0!==t.avail_in)}function he(e){let t,n,r=C,i=z,a=A;const o=z>s-Z?z-(s-Z):0;let d=T;const u=l,p=z+258;let m=c[i+a-1],h=c[i+a];j>A||(r>>=2),d>D&&(d=D);do{if(t=e,c[t+a]==h&&c[t+a-1]==m&&c[t]==c[i]&&c[++t]==c[i+1]){i+=2,t++;do{}while(c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&c[++i]==c[++t]&&p>i);if(n=258-(p-i),i=p-258,n>a){if(S=e,a=n,n>=d)break;m=c[i+a-1],h=c[i+a]}}}while((e=65535&f[e&u])>o&&0!=--r);return a>D?D:a}e.depth=[],e.bl_count=[],e.heap=[],U=[],I=[],W=[],e.pqdownheap=(t,n)=>{const r=e.heap,i=r[n];let s=n<<1;for(;s<=e.heap_len&&(s(N||(N=8),G||(G=8),V||(V=0),t.msg=null,-1==_&&(_=6),1>G||G>9||8!=N||9>S||S>15||0>_||_>9||0>V||V>2?q:(t.dstate=e,o=S,s=1<(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=H,i=0,L.dyn_tree=U,L.stat_desc=P.static_l_desc,O.dyn_tree=I,O.stat_desc=P.static_d_desc,B.dyn_tree=W,B.stat_desc=P.static_bl_desc,$=0,ee=0,J=8,te(),(()=>{d=2*s,u[w-1]=0;for(let e=0;w-1>e;e++)u[e]=0;F=M[R].max_lazy,j=M[R].good_length,T=M[R].nice_length,C=M[R].max_chain,z=0,b=0,D=0,y=A=2,k=0,h=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=H&&n!=V?q:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,u=null,f=null,c=null,e.dstate=null,n==H?-3:0),e.deflateParams=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?q:(M[R].func!=M[t].func&&0!==e.total_in&&(r=e.deflate(1)),R!=t&&(R=t,F=M[R].max_lazy,j=M[R].good_length,T=M[R].nice_length,C=M[R].max_chain),E=n,r)},e.deflateSetDictionary=(e,t,r)=>{let i,a=r,o=0;if(!t||42!=n)return q;if(3>a)return 0;for(a>s-Z&&(a=s-Z,o=r-a),c.set(t.subarray(o,o+a),0),z=a,b=a,h=255&c[0],h=(h<=i;i++)h=(h<{let p,m,x,C,j;if(d>4||0>d)return q;if(!a.next_out||!a.next_in&&0!==a.avail_in||n==V&&4!=d)return a.msg=G[4],q;if(0===a.avail_out)return a.msg=G[7],-5;var T;if(t=a,C=i,i=d,42==n&&(m=8+(o-8<<4)<<8,x=(R-1&255)>>1,x>3&&(x=3),m|=x<<6,0!==z&&(m|=32),m+=31-m%31,n=H,re((T=m)>>8&255),re(255&T)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return i=-1,0}else if(0===t.avail_in&&C>=d&&4!=d)return t.msg=G[7],-5;if(n==V&&0!==t.avail_in)return a.msg=G[7],-5;if(0!==t.avail_in||0!==D||0!=d&&n!=V){switch(j=-1,M[R].func){case 0:j=(e=>{let n,i=65535;for(i>r-5&&(i=r-5);;){if(1>=D){if(me(),0===D&&0==e)return 0;if(0===D)break}if(z+=D,D=0,n=b+i,(0===z||z>=n)&&(D=z-n,z=n,pe(!1),0===t.avail_out))return 0;if(z-b>=s-Z&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:j=(e=>{let n,r=0;for(;;){if(Z>D){if(me(),Z>D&&0==e)return 0;if(0===D)break}if(3>D||(h=(h<s-Z||2!=E&&(y=he(r)),3>y)n=ce(0,255&c[z]),D--,z++;else if(n=ce(z-S,y-3),D-=y,y>F||3>D)z+=y,y=0,h=255&c[z],h=(h<{let n,r,i=0;for(;;){if(Z>D){if(me(),Z>D&&0==e)return 0;if(0===D)break}if(3>D||(h=(h<A&&s-Z>=(z-i&65535)&&(2!=E&&(y=he(i)),5>=y&&(1==E||3==y&&z-S>4096)&&(y=2)),3>A||y>A)if(0!==k){if(n=ce(0,255&c[z-1]),n&&pe(!1),z++,D--,0===t.avail_out)return 0}else k=1,z++,D--;else{r=z+D-3,n=ce(z-1-_,A-3),D-=A-1,A-=2;do{++z>r||(h=(h<1+J+10-ee&&(se(2,3),ae(256,P.static_ltree),le()),J=7;else if(ue(0,0,!1),3==d)for(p=0;w>p;p++)u[p]=0;if(t.flush_pending(),0===t.avail_out)return i=-1,0}}return 4!=d?0:1}}function Y(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}Y.prototype={deflateInit(e,t){const n=this;return n.dstate=new X,t||(t=j),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):q},deflateEnd(){const e=this;if(!e.dstate)return q;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):q},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):q},read_buf(e,t,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),t),r.next_in_index+=i,r.total_in+=i,i)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const Q=0,J=1,$=-2,ee=-3,te=-4,ne=-5,re=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],ie=1440,se=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],ae=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],oe=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],le=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],ce=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],de=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],fe=15;function ue(){let e,t,n,r,i,s;function a(e,t,a,o,l,c,d,f,u,p,m){let h,w,x,g,v,b,y,_,k,z,S,D,A,C,F;z=0,v=a;do{n[e[t+z]]++,z++,v--}while(0!==v);if(n[0]==a)return d[0]=-1,f[0]=0,Q;for(_=f[0],b=1;fe>=b&&0===n[b];b++);for(y=b,b>_&&(_=b),v=fe;0!==v&&0===n[v];v--);for(x=v,_>v&&(_=v),f[0]=_,C=1<b;b++,C<<=1)if(0>(C-=n[b]))return ee;if(0>(C-=n[v]))return ee;for(n[v]+=C,s[1]=b=0,z=1,A=2;0!=--v;)s[A]=b+=n[z],A++,z++;v=0,z=0;do{0!==(b=e[t+z])&&(m[s[b]++]=v),z++}while(++v=y;y++)for(h=n[y];0!=h--;){for(;y>D+_;){if(g++,D+=_,F=x-D,F=F>_?_:F,(w=1<<(b=y-D))>h+1&&(w-=h+1,A=y,F>b))for(;++bn[++A];)w-=n[A];if(F=1<ie)return ee;i[g]=S=p[0],p[0]+=F,0!==g?(s[g]=v,r[0]=b,r[1]=_,b=v>>>D-_,r[2]=S-i[g-1]-b,u.set(r,3*(i[g-1]+b))):d[0]=S}for(r[1]=y-D,a>z?m[z]m[z]?0:96,r[2]=m[z++]):(r[0]=c[m[z]-o]+16+64,r[2]=l[m[z++]-o]):r[0]=192,w=1<>>D;F>b;b+=w)u.set(r,3*(S+b));for(b=1<>>=1)v^=b;for(v^=b,k=(1<o;o++)t[o]=0;for(o=0;fe+1>o;o++)n[o]=0;for(o=0;3>o;o++)r[o]=0;i.set(n.subarray(0,fe),0),s.set(n.subarray(0,fe+1),0)}this.inflate_trees_bits=(n,r,i,s,l)=>{let c;return o(19),e[0]=0,c=a(n,0,19,19,null,null,i,r,s,e,t),c==ee?l.msg="oversubscribed dynamic bit lengths tree":c!=ne&&0!==r[0]||(l.msg="incomplete dynamic bit lengths tree",c=ee),c},this.inflate_trees_dynamic=(n,r,i,s,l,c,d,f,u)=>{let p;return o(288),e[0]=0,p=a(i,0,n,257,oe,le,c,s,f,e,t),p!=Q||0===s[0]?(p==ee?u.msg="oversubscribed literal/length tree":p!=te&&(u.msg="incomplete literal/length tree",p=ee),p):(o(288),p=a(i,n,r,0,ce,de,d,l,f,e,t),p!=Q||0===l[0]&&n>257?(p==ee?u.msg="oversubscribed distance tree":p==ne?(u.msg="incomplete distance tree",p=ee):p!=te&&(u.msg="empty distance tree with lengths",p=ee),p):Q)}}ue.inflate_trees_fixed=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=se,r[0]=ae,Q);const pe=0,me=1,he=2,we=3,xe=4,ge=5,ve=6,be=7,ye=8,_e=9;function ke(){const e=this;let t,n,r,i,s=0,a=0,o=0,l=0,c=0,d=0,f=0,u=0,p=0,m=0;function h(e,t,n,r,i,s,a,o){let l,c,d,f,u,p,m,h,w,x,g,v,b,y,_,k;m=o.next_in_index,h=o.avail_in,u=a.bitb,p=a.bitk,w=a.write,x=wp;)h--,u|=(255&o.read_byte(m++))<>=c[k+1],p-=c[k+1],16&f){for(f&=15,b=c[k+2]+(u&re[f]),u>>=f,p-=f;15>p;)h--,u|=(255&o.read_byte(m++))<>=c[k+1],p-=c[k+1],16&f){for(f&=15;f>p;)h--,u|=(255&o.read_byte(m++))<>=f,p-=f,x-=b,y>w){_=w-y;do{_+=a.end}while(0>_);if(f=a.end-_,b>f){if(b-=f,w-_>0&&f>w-_)do{a.win[w++]=a.win[_++]}while(0!=--f);else a.win.set(a.win.subarray(_,_+f),w),w+=f,_+=f,f=0;_=0}}else _=w-y,w-_>0&&2>w-_?(a.win[w++]=a.win[_++],a.win[w++]=a.win[_++],b-=2):(a.win.set(a.win.subarray(_,_+2),w),w+=2,_+=2,b-=2);if(w-_>0&&b>w-_)do{a.win[w++]=a.win[_++]}while(0!=--b);else a.win.set(a.win.subarray(_,_+b),w),w+=b,_+=b,b=0;break}if(64&f)return o.msg="invalid distance code",b=o.avail_in-h,b=b>p>>3?p>>3:b,h+=b,m-=b,p-=b<<3,a.bitb=u,a.bitk=p,o.avail_in=h,o.total_in+=m-o.next_in_index,o.next_in_index=m,a.write=w,ee;l+=c[k+2],l+=u&re[f],k=3*(d+l),f=c[k]}break}if(64&f)return 32&f?(b=o.avail_in-h,b=b>p>>3?p>>3:b,h+=b,m-=b,p-=b<<3,a.bitb=u,a.bitk=p,o.avail_in=h,o.total_in+=m-o.next_in_index,o.next_in_index=m,a.write=w,J):(o.msg="invalid literal/length code",b=o.avail_in-h,b=b>p>>3?p>>3:b,h+=b,m-=b,p-=b<<3,a.bitb=u,a.bitk=p,o.avail_in=h,o.total_in+=m-o.next_in_index,o.next_in_index=m,a.write=w,ee);if(l+=c[k+2],l+=u&re[f],k=3*(d+l),0===(f=c[k])){u>>=c[k+1],p-=c[k+1],a.win[w++]=c[k+2],x--;break}}else u>>=c[k+1],p-=c[k+1],a.win[w++]=c[k+2],x--}while(x>=258&&h>=10);return b=o.avail_in-h,b=b>p>>3?p>>3:b,h+=b,m-=b,p-=b<<3,a.bitb=u,a.bitk=p,o.avail_in=h,o.total_in+=m-o.next_in_index,o.next_in_index=m,a.write=w,Q}e.init=(e,s,a,o,l,c)=>{t=pe,f=e,u=s,r=a,p=o,i=l,m=c,n=null},e.proc=(e,w,x)=>{let g,v,b,y,_,k,z,S=0,D=0,A=0;for(A=w.next_in_index,y=w.avail_in,S=e.bitb,D=e.bitk,_=e.write,k=_=258&&y>=10&&(e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,x=h(f,u,r,p,i,m,e,w),A=w.next_in_index,y=w.avail_in,S=e.bitb,D=e.bitk,_=e.write,k=_D;){if(0===y)return e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);x=Q,y--,S|=(255&w.read_byte(A++))<>>=n[v+1],D-=n[v+1],b=n[v],0===b){l=n[v+2],t=ve;break}if(16&b){c=15&b,s=n[v+2],t=he;break}if(!(64&b)){o=b,a=v/3+n[v+2];break}if(32&b){t=be;break}return t=_e,w.msg="invalid literal/length code",x=ee,e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);case he:for(g=c;g>D;){if(0===y)return e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);x=Q,y--,S|=(255&w.read_byte(A++))<>=g,D-=g,o=u,n=i,a=m,t=we;case we:for(g=o;g>D;){if(0===y)return e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);x=Q,y--,S|=(255&w.read_byte(A++))<>=n[v+1],D-=n[v+1],b=n[v],16&b){c=15&b,d=n[v+2],t=xe;break}if(!(64&b)){o=b,a=v/3+n[v+2];break}return t=_e,w.msg="invalid distance code",x=ee,e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);case xe:for(g=c;g>D;){if(0===y)return e.bitb=S,e.bitk=D,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);x=Q,y--,S|=(255&w.read_byte(A++))<>=g,D-=g,t=ge;case ge:for(z=_-d;0>z;)z+=e.end;for(;0!==s;){if(0===k&&(_==e.end&&0!==e.read&&(_=0,k=_7&&(D-=8,y++,A--),e.write=_,x=e.inflate_flush(w,x),_=e.write,k=_{}}const ze=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Se=0,De=1,Ae=2,Ce=3,Fe=4,Re=5,Ee=6,je=7,Te=8,qe=9;function Ue(e,t){const n=this;let r,i=Se,s=0,a=0,o=0;const l=[0],c=[0],d=new ke;let f=0,u=new Int32Array(3*ie);const m=new ue;n.bitk=0,n.bitb=0,n.win=new p(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),i==Ee&&d.free(e),i=Se,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let r,i,s;return i=e.next_out_index,s=n.read,r=(s>n.write?n.end:n.write)-s,r>e.avail_out&&(r=e.avail_out),0!==r&&t==ne&&(t=Q),e.avail_out-=r,e.total_out+=r,e.next_out.set(n.win.subarray(s,s+r),i),i+=r,s+=r,s==n.end&&(s=0,n.write==n.end&&(n.write=0),r=n.write-s,r>e.avail_out&&(r=e.avail_out),0!==r&&t==ne&&(t=Q),e.avail_out-=r,e.total_out+=r,e.next_out.set(n.win.subarray(s,s+r),i),i+=r,s+=r),e.next_out_index=i,n.read=s,t},n.proc=(e,t)=>{let p,h,w,x,g,v,b,y;for(x=e.next_in_index,g=e.avail_in,h=n.bitb,w=n.bitk,v=n.write,b=vw;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<>>1){case 0:h>>>=3,w-=3,p=7&w,h>>>=p,w-=p,i=De;break;case 1:_=[],k=[],z=[[]],S=[[]],ue.inflate_trees_fixed(_,k,z,S),d.init(_[0],k[0],z[0],0,S[0],0),h>>>=3,w-=3,i=Ee;break;case 2:h>>>=3,w-=3,i=Ce;break;case 3:return h>>>=3,w-=3,i=qe,e.msg="invalid block type",t=ee,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t)}break;case De:for(;32>w;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<>>16&65535)!=(65535&h))return i=qe,e.msg="invalid stored block lengths",t=ee,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);s=65535&h,h=w=0,i=0!==s?Ae:0!==f?je:Se;break;case Ae:if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(0===b&&(v==n.end&&0!==n.read&&(v=0,b=vg&&(p=g),p>b&&(p=b),n.win.set(e.read_buf(x,p),v),x+=p,g-=p,v+=p,b-=p,0!=(s-=p))break;i=0!==f?je:Se;break;case Ce:for(;14>w;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<29||(p>>5&31)>29)return i=qe,e.msg="too many length or distance symbols",t=ee,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(p=258+(31&p)+(p>>5&31),!r||r.lengthy;y++)r[y]=0;h>>>=14,w-=14,o=0,i=Fe;case Fe:for(;4+(a>>>10)>o;){for(;3>w;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<>>=3,w-=3}for(;19>o;)r[ze[o++]]=0;if(l[0]=7,p=m.inflate_trees_bits(r,l,c,u,e),p!=Q)return(t=p)==ee&&(r=null,i=qe),n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);o=0,i=Re;case Re:for(;p=a,258+(31&p)+(p>>5&31)>o;){let s,d;for(p=l[0];p>w;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<d)h>>>=p,w-=p,r[o++]=d;else{for(y=18==d?7:d-14,s=18==d?11:3;p+y>w;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=Q,g--,h|=(255&e.read_byte(x++))<>>=p,w-=p,s+=h&re[y],h>>>=y,w-=y,y=o,p=a,y+s>258+(31&p)+(p>>5&31)||16==d&&1>y)return r=null,i=qe,e.msg="invalid bit length repeat",t=ee,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);d=16==d?r[y-1]:0;do{r[y++]=d}while(0!=--s);o=y}}if(c[0]=-1,D=[],A=[],C=[],F=[],D[0]=9,A[0]=6,p=a,p=m.inflate_trees_dynamic(257+(31&p),1+(p>>5&31),r,D,A,C,F,u,e),p!=Q)return p==ee&&(r=null,i=qe),t=p,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);d.init(D[0],A[0],u,C[0],u,F[0]),i=Ee;case Ee:if(n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,(t=d.proc(n,e,t))!=J)return n.inflate_flush(e,t);if(t=Q,d.free(e),x=e.next_in_index,g=e.avail_in,h=n.bitb,w=n.bitk,v=n.write,b=v{n.reset(e,null),n.win=null,u=null},n.set_dictionary=(e,t,r)=>{n.win.set(e.subarray(t,t+r),0),n.read=n.write=r},n.sync_point=()=>i==De?1:0}const Ie=13,We=[0,0,255,255];function Ne(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),Q):$}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,Q),e.inflateInit=(n,r)=>(n.msg=null,e.blocks=null,8>r||r>15?(e.inflateEnd(n),$):(e.wbits=r,n.istate.blocks=new Ue(n,1<{let n,r;if(!e||!e.istate||!e.next_in)return $;const i=e.istate;for(t=4==t?ne:Q,n=ne;;)switch(i.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(i.method=e.read_byte(e.next_in_index++)))){i.mode=Ie,e.msg="unknown compression method",i.marker=5;break}if(8+(i.method>>4)>i.wbits){i.mode=Ie,e.msg="invalid win size",i.marker=5;break}i.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,r=255&e.read_byte(e.next_in_index++),((i.method<<8)+r)%31!=0){i.mode=Ie,e.msg="incorrect header check",i.marker=5;break}if(!(32&r)){i.mode=7;break}i.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,i.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,i.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,i.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,i.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,i.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,i.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,i.need+=255&e.read_byte(e.next_in_index++),i.mode=6,2);case 6:return i.mode=Ie,e.msg="need dictionary",i.marker=0,$;case 7:if(n=i.blocks.proc(e,n),n==ee){i.mode=Ie,i.marker=0;break}if(n==Q&&(n=t),n!=J)return n;n=t,i.blocks.reset(e,i.was),i.mode=12;case 12:return e.avail_in=0,J;case Ie:return ee;default:return $}},e.inflateSetDictionary=(e,t,n)=>{let r=0,i=n;if(!e||!e.istate||6!=e.istate.mode)return $;const s=e.istate;return i<1<{let n,r,i,s,a;if(!e||!e.istate)return $;const o=e.istate;if(o.mode!=Ie&&(o.mode=Ie,o.marker=0),0===(n=e.avail_in))return ne;for(r=e.next_in_index,i=o.marker;0!==n&&4>i;)e.read_byte(r)==We[i]?i++:i=0!==e.read_byte(r)?0:4-i,r++,n--;return e.total_in+=r-e.next_in_index,e.next_in_index=r,e.avail_in=n,o.marker=i,4!=i?ee:(s=e.total_in,a=e.total_out,t(e),e.total_in=s,e.total_out=a,o.mode=7,Q)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():$}function Pe(){}Pe.prototype={inflateInit(e){const t=this;return t.istate=new Ne,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):$},inflateEnd(){const e=this;if(!e.istate)return $;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):$},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):$},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const Le=4294967295,Oe=65535,Be=67324752,Me=134695760,Ge=Me,He=33639248,Ve=101010256,Ze=101075792,Ke=117853008,Xe=22,Ye=21589,Qe=2048,Je="/",$e=new o(2107,11,31),et=new o(1980,0,1),tt=void 0,nt="undefined",rt="function";class it{constructor(e){return class extends z{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}let st=2;try{typeof F!=nt&&F.hardwareConcurrency&&(st=F.hardwareConcurrency)}catch(e){}const at={chunkSize:524288,maxWorkers:st,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:tt,CompressionStreamNative:typeof A!=nt&&A,DecompressionStreamNative:typeof C!=nt&&C},ot=n.assign({},at);function lt(){return ot}function ct(e){return a.max(e.chunkSize,64)}function dt(e){const{baseURL:n,chunkSize:r,maxWorkers:i,terminateWorkerTimeout:s,useCompressionStream:a,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:f,workerScripts:p}=e;if(ft("baseURL",n),ft("chunkSize",r),ft("maxWorkers",i),ft("terminateWorkerTimeout",s),ft("useCompressionStream",a),ft("useWebWorkers",o),l&&(ot.CompressionStream=new it(l)),c&&(ot.DecompressionStream=new it(c)),ft("CompressionStream",d),ft("DecompressionStream",f),p!==tt){const{deflate:e,inflate:n}=p;if((e||n)&&(ot.workerScripts||(ot.workerScripts={})),e){if(!t.isArray(e))throw new u("workerScripts.deflate must be an array");ot.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new u("workerScripts.inflate must be an array");ot.workerScripts.inflate=n}}}function ft(e,t){t!==tt&&(ot[e]=t)}const ut={application:{"andrew-inset":"ez",annodex:"anx","atom+xml":"atom","atomcat+xml":"atomcat","atomserv+xml":"atomsrv",bbolin:"lin","cu-seeme":"cu","davmount+xml":"davmount",dsptype:"tsp",ecmascript:["es","ecma"],futuresplash:"spl",hta:"hta","java-archive":"jar","java-serialized-object":"ser","java-vm":"class",m3g:"m3g","mac-binhex40":"hqx",mathematica:["nb","ma","mb"],msaccess:"mdb",msword:["doc","dot","wiz"],mxf:"mxf",oda:"oda",ogg:"ogx",pdf:"pdf","pgp-keys":"key","pgp-signature":["asc","sig"],"pics-rules":"prf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],rar:"rar","rdf+xml":"rdf","rss+xml":"rss",rtf:"rtf","xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd","xpdl"],"xspf+xml":"xspf",zip:"zip","vnd.android.package-archive":"apk","vnd.cinderella":"cdy","vnd.google-earth.kml+xml":"kml","vnd.google-earth.kmz":"kmz","vnd.mozilla.xul+xml":"xul","vnd.ms-excel":["xls","xlb","xlt","xlm","xla","xlc","xlw"],"vnd.ms-pki.seccat":"cat","vnd.ms-pki.stl":"stl","vnd.ms-powerpoint":["ppt","pps","pot","ppa","pwz"],"vnd.oasis.opendocument.chart":"odc","vnd.oasis.opendocument.database":"odb","vnd.oasis.opendocument.formula":"odf","vnd.oasis.opendocument.graphics":"odg","vnd.oasis.opendocument.graphics-template":"otg","vnd.oasis.opendocument.image":"odi","vnd.oasis.opendocument.presentation":"odp","vnd.oasis.opendocument.presentation-template":"otp","vnd.oasis.opendocument.spreadsheet":"ods","vnd.oasis.opendocument.spreadsheet-template":"ots","vnd.oasis.opendocument.text":"odt","vnd.oasis.opendocument.text-master":["odm","otm"],"vnd.oasis.opendocument.text-template":"ott","vnd.oasis.opendocument.text-web":"oth","vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","vnd.openxmlformats-officedocument.spreadsheetml.template":"xltx","vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","vnd.openxmlformats-officedocument.presentationml.slideshow":"ppsx","vnd.openxmlformats-officedocument.presentationml.template":"potx","vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","vnd.openxmlformats-officedocument.wordprocessingml.template":"dotx","vnd.smaf":"mmf","vnd.stardivision.calc":"sdc","vnd.stardivision.chart":"sds","vnd.stardivision.draw":"sda","vnd.stardivision.impress":"sdd","vnd.stardivision.math":["sdf","smf"],"vnd.stardivision.writer":["sdw","vor"],"vnd.stardivision.writer-global":"sgl","vnd.sun.xml.calc":"sxc","vnd.sun.xml.calc.template":"stc","vnd.sun.xml.draw":"sxd","vnd.sun.xml.draw.template":"std","vnd.sun.xml.impress":"sxi","vnd.sun.xml.impress.template":"sti","vnd.sun.xml.math":"sxm","vnd.sun.xml.writer":"sxw","vnd.sun.xml.writer.global":"sxg","vnd.sun.xml.writer.template":"stw","vnd.symbian.install":["sis","sisx"],"vnd.visio":["vsd","vst","vss","vsw","vsdx","vssx","vstx","vssm","vstm"],"vnd.wap.wbxml":"wbxml","vnd.wap.wmlc":"wmlc","vnd.wap.wmlscriptc":"wmlsc","vnd.wordperfect":"wpd","vnd.wordperfect5.1":"wp5","x-123":"wk","x-7z-compressed":"7z","x-abiword":"abw","x-apple-diskimage":"dmg","x-bcpio":"bcpio","x-bittorrent":"torrent","x-cbr":["cbr","cba","cbt","cb7"],"x-cbz":"cbz","x-cdf":["cdf","cda"],"x-cdlink":"vcd","x-chess-pgn":"pgn","x-cpio":"cpio","x-csh":"csh","x-director":["dir","dxr","cst","cct","cxt","w3d","fgd","swa"],"x-dms":"dms","x-doom":"wad","x-dvi":"dvi","x-httpd-eruby":"rhtml","x-font":"pcf.Z","x-freemind":"mm","x-gnumeric":"gnumeric","x-go-sgf":"sgf","x-graphing-calculator":"gcf","x-gtar":["gtar","taz"],"x-hdf":"hdf","x-httpd-php":["phtml","pht","php"],"x-httpd-php-source":"phps","x-httpd-php3":"php3","x-httpd-php3-preprocessed":"php3p","x-httpd-php4":"php4","x-httpd-php5":"php5","x-ica":"ica","x-info":"info","x-internet-signup":["ins","isp"],"x-iphone":"iii","x-iso9660-image":"iso","x-java-jnlp-file":"jnlp","x-jmol":"jmz","x-killustrator":"kil","x-latex":"latex","x-lyx":"lyx","x-lzx":"lzx","x-maker":["frm","fb","fbdoc"],"x-ms-wmd":"wmd","x-msdos-program":["com","exe","bat","dll"],"x-netcdf":["nc"],"x-ns-proxy-autoconfig":["pac","dat"],"x-nwc":"nwc","x-object":"o","x-oz-application":"oza","x-pkcs7-certreqresp":"p7r","x-python-code":["pyc","pyo"],"x-qgis":["qgs","shp","shx"],"x-quicktimeplayer":"qtl","x-redhat-package-manager":["rpm","rpa"],"x-ruby":"rb","x-sh":"sh","x-shar":"shar","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","x-stuffit":"sit","x-sv4cpio":"sv4cpio","x-sv4crc":"sv4crc","x-tar":"tar","x-tex-gf":"gf","x-tex-pk":"pk","x-texinfo":["texinfo","texi"],"x-trash":["~","%","bak","old","sik"],"x-ustar":"ustar","x-wais-source":"src","x-wingz":"wz","x-x509-ca-cert":["crt","der","cer"],"x-xcf":"xcf","x-xfig":"fig","x-xpinstall":"xpi",applixware:"aw","atomsvc+xml":"atomsvc","ccxml+xml":"ccxml","cdmi-capability":"cdmia","cdmi-container":"cdmic","cdmi-domain":"cdmid","cdmi-object":"cdmio","cdmi-queue":"cdmiq","docbook+xml":"dbk","dssc+der":"dssc","dssc+xml":"xdssc","emma+xml":"emma","epub+zip":"epub",exi:"exi","font-tdpfr":"pfr","gml+xml":"gml","gpx+xml":"gpx",gxf:"gxf",hyperstudio:"stk","inkml+xml":["ink","inkml"],ipfix:"ipfix","jsonml+json":"jsonml","lost+xml":"lostxml","mads+xml":"mads",marc:"mrc","marcxml+xml":"mrcx","mathml+xml":["mathml","mml"],mbox:"mbox","mediaservercontrol+xml":"mscml","metalink+xml":"metalink","metalink4+xml":"meta4","mets+xml":"mets","mods+xml":"mods",mp21:["m21","mp21"],mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",onenote:["onetoc","onetoc2","onetmp","onepkg"],oxps:"oxps","patch-ops-error+xml":"xer","pgp-encrypted":"pgp",pkcs10:"p10","pkcs7-mime":["p7m","p7c"],"pkcs7-signature":"p7s",pkcs8:"p8","pkix-attr-cert":"ac","pkix-crl":"crl","pkix-pkipath":"pkipath",pkixcmp:"pki","pls+xml":"pls","prs.cww":"cww","pskc+xml":"pskcxml","reginfo+xml":"rif","relax-ng-compact-syntax":"rnc","resource-lists+xml":"rl","resource-lists-diff+xml":"rld","rls-services+xml":"rs","rpki-ghostbusters":"gbr","rpki-manifest":"mft","rpki-roa":"roa","rsd+xml":"rsd","sbml+xml":"sbml","scvp-cv-request":"scq","scvp-cv-response":"scs","scvp-vp-request":"spq","scvp-vp-response":"spp",sdp:"sdp","set-payment-initiation":"setpay","set-registration-initiation":"setreg","shf+xml":"shf","sparql-query":"rq","sparql-results+xml":"srx",srgs:"gram","srgs+xml":"grxml","sru+xml":"sru","ssdl+xml":"ssdl","ssml+xml":"ssml","tei+xml":["tei","teicorpus"],"thraud+xml":"tfi","timestamped-data":"tsd","vnd.3gpp.pic-bw-large":"plb","vnd.3gpp.pic-bw-small":"psb","vnd.3gpp.pic-bw-var":"pvb","vnd.3gpp2.tcap":"tcap","vnd.3m.post-it-notes":"pwn","vnd.accpac.simply.aso":"aso","vnd.accpac.simply.imp":"imp","vnd.acucobol":"acu","vnd.acucorp":["atc","acutc"],"vnd.adobe.air-application-installer-package+zip":"air","vnd.adobe.formscentral.fcdt":"fcdt","vnd.adobe.fxp":["fxp","fxpl"],"vnd.adobe.xdp+xml":"xdp","vnd.adobe.xfdf":"xfdf","vnd.ahead.space":"ahead","vnd.airzip.filesecure.azf":"azf","vnd.airzip.filesecure.azs":"azs","vnd.amazon.ebook":"azw","vnd.americandynamics.acc":"acc","vnd.amiga.ami":"ami","vnd.anser-web-certificate-issue-initiation":"cii","vnd.anser-web-funds-transfer-initiation":"fti","vnd.antix.game-component":"atx","vnd.apple.installer+xml":"mpkg","vnd.apple.mpegurl":"m3u8","vnd.aristanetworks.swi":"swi","vnd.astraea-software.iota":"iota","vnd.audiograph":"aep","vnd.blueice.multipass":"mpm","vnd.bmi":"bmi","vnd.businessobjects":"rep","vnd.chemdraw+xml":"cdxml","vnd.chipnuts.karaoke-mmd":"mmd","vnd.claymore":"cla","vnd.cloanto.rp9":"rp9","vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"vnd.cluetrust.cartomobile-config":"c11amc","vnd.cluetrust.cartomobile-config-pkg":"c11amz","vnd.commonspace":"csp","vnd.contact.cmsg":"cdbcmsg","vnd.cosmocaller":"cmc","vnd.crick.clicker":"clkx","vnd.crick.clicker.keyboard":"clkk","vnd.crick.clicker.palette":"clkp","vnd.crick.clicker.template":"clkt","vnd.crick.clicker.wordbank":"clkw","vnd.criticaltools.wbs+xml":"wbs","vnd.ctc-posml":"pml","vnd.cups-ppd":"ppd","vnd.curl.car":"car","vnd.curl.pcurl":"pcurl","vnd.dart":"dart","vnd.data-vision.rdz":"rdz","vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"vnd.dece.ttml+xml":["uvt","uvvt"],"vnd.dece.unspecified":["uvx","uvvx"],"vnd.dece.zip":["uvz","uvvz"],"vnd.denovo.fcselayout-link":"fe_launch","vnd.dna":"dna","vnd.dolby.mlp":"mlp","vnd.dpgraph":"dpg","vnd.dreamfactory":"dfac","vnd.ds-keypoint":"kpxx","vnd.dvb.ait":"ait","vnd.dvb.service":"svc","vnd.dynageo":"geo","vnd.ecowin.chart":"mag","vnd.enliven":"nml","vnd.epson.esf":"esf","vnd.epson.msf":"msf","vnd.epson.quickanime":"qam","vnd.epson.salt":"slt","vnd.epson.ssf":"ssf","vnd.eszigno3+xml":["es3","et3"],"vnd.ezpix-album":"ez2","vnd.ezpix-package":"ez3","vnd.fdf":"fdf","vnd.fdsn.mseed":"mseed","vnd.fdsn.seed":["seed","dataless"],"vnd.flographit":"gph","vnd.fluxtime.clip":"ftc","vnd.framemaker":["fm","frame","maker","book"],"vnd.frogans.fnc":"fnc","vnd.frogans.ltf":"ltf","vnd.fsc.weblaunch":"fsc","vnd.fujitsu.oasys":"oas","vnd.fujitsu.oasys2":"oa2","vnd.fujitsu.oasys3":"oa3","vnd.fujitsu.oasysgp":"fg5","vnd.fujitsu.oasysprs":"bh2","vnd.fujixerox.ddd":"ddd","vnd.fujixerox.docuworks":"xdw","vnd.fujixerox.docuworks.binder":"xbd","vnd.fuzzysheet":"fzs","vnd.genomatix.tuxedo":"txd","vnd.geogebra.file":"ggb","vnd.geogebra.tool":"ggt","vnd.geometry-explorer":["gex","gre"],"vnd.geonext":"gxt","vnd.geoplan":"g2w","vnd.geospace":"g3w","vnd.gmx":"gmx","vnd.grafeq":["gqf","gqs"],"vnd.groove-account":"gac","vnd.groove-help":"ghf","vnd.groove-identity-message":"gim","vnd.groove-injector":"grv","vnd.groove-tool-message":"gtm","vnd.groove-tool-template":"tpl","vnd.groove-vcard":"vcg","vnd.hal+xml":"hal","vnd.handheld-entertainment+xml":"zmm","vnd.hbci":"hbci","vnd.hhe.lesson-player":"les","vnd.hp-hpgl":"hpgl","vnd.hp-hpid":"hpid","vnd.hp-hps":"hps","vnd.hp-jlyt":"jlt","vnd.hp-pcl":"pcl","vnd.hp-pclxl":"pclxl","vnd.hydrostatix.sof-data":"sfd-hdstx","vnd.ibm.minipay":"mpy","vnd.ibm.modcap":["afp","listafp","list3820"],"vnd.ibm.rights-management":"irm","vnd.ibm.secure-container":"sc","vnd.iccprofile":["icc","icm"],"vnd.igloader":"igl","vnd.immervision-ivp":"ivp","vnd.immervision-ivu":"ivu","vnd.insors.igm":"igm","vnd.intercon.formnet":["xpw","xpx"],"vnd.intergeo":"i2g","vnd.intu.qbo":"qbo","vnd.intu.qfx":"qfx","vnd.ipunplugged.rcprofile":"rcprofile","vnd.irepository.package+xml":"irp","vnd.is-xpr":"xpr","vnd.isac.fcs":"fcs","vnd.jam":"jam","vnd.jcp.javame.midlet-rms":"rms","vnd.jisp":"jisp","vnd.joost.joda-archive":"joda","vnd.kahootz":["ktz","ktr"],"vnd.kde.karbon":"karbon","vnd.kde.kchart":"chrt","vnd.kde.kformula":"kfo","vnd.kde.kivio":"flw","vnd.kde.kontour":"kon","vnd.kde.kpresenter":["kpr","kpt"],"vnd.kde.kspread":"ksp","vnd.kde.kword":["kwd","kwt"],"vnd.kenameaapp":"htke","vnd.kidspiration":"kia","vnd.kinar":["kne","knp"],"vnd.koan":["skp","skd","skt","skm"],"vnd.kodak-descriptor":"sse","vnd.las.las+xml":"lasxml","vnd.llamagraphics.life-balance.desktop":"lbd","vnd.llamagraphics.life-balance.exchange+xml":"lbe","vnd.lotus-1-2-3":"123","vnd.lotus-approach":"apr","vnd.lotus-freelance":"pre","vnd.lotus-notes":"nsf","vnd.lotus-organizer":"org","vnd.lotus-screencam":"scm","vnd.lotus-wordpro":"lwp","vnd.macports.portpkg":"portpkg","vnd.mcd":"mcd","vnd.medcalcdata":"mc1","vnd.mediastation.cdkey":"cdkey","vnd.mfer":"mwf","vnd.mfmp":"mfm","vnd.micrografx.flo":"flo","vnd.micrografx.igx":"igx","vnd.mif":"mif","vnd.mobius.daf":"daf","vnd.mobius.dis":"dis","vnd.mobius.mbk":"mbk","vnd.mobius.mqy":"mqy","vnd.mobius.msl":"msl","vnd.mobius.plc":"plc","vnd.mobius.txf":"txf","vnd.mophun.application":"mpn","vnd.mophun.certificate":"mpc","vnd.ms-artgalry":"cil","vnd.ms-cab-compressed":"cab","vnd.ms-excel.addin.macroenabled.12":"xlam","vnd.ms-excel.sheet.binary.macroenabled.12":"xlsb","vnd.ms-excel.sheet.macroenabled.12":"xlsm","vnd.ms-excel.template.macroenabled.12":"xltm","vnd.ms-fontobject":"eot","vnd.ms-htmlhelp":"chm","vnd.ms-ims":"ims","vnd.ms-lrm":"lrm","vnd.ms-officetheme":"thmx","vnd.ms-powerpoint.addin.macroenabled.12":"ppam","vnd.ms-powerpoint.presentation.macroenabled.12":"pptm","vnd.ms-powerpoint.slide.macroenabled.12":"sldm","vnd.ms-powerpoint.slideshow.macroenabled.12":"ppsm","vnd.ms-powerpoint.template.macroenabled.12":"potm","vnd.ms-project":["mpp","mpt"],"vnd.ms-word.document.macroenabled.12":"docm","vnd.ms-word.template.macroenabled.12":"dotm","vnd.ms-works":["wps","wks","wcm","wdb"],"vnd.ms-wpl":"wpl","vnd.ms-xpsdocument":"xps","vnd.mseq":"mseq","vnd.musician":"mus","vnd.muvee.style":"msty","vnd.mynfc":"taglet","vnd.neurolanguage.nlu":"nlu","vnd.nitf":["ntf","nitf"],"vnd.noblenet-directory":"nnd","vnd.noblenet-sealer":"nns","vnd.noblenet-web":"nnw","vnd.nokia.n-gage.data":"ngdat","vnd.nokia.n-gage.symbian.install":"n-gage","vnd.nokia.radio-preset":"rpst","vnd.nokia.radio-presets":"rpss","vnd.novadigm.edm":"edm","vnd.novadigm.edx":"edx","vnd.novadigm.ext":"ext","vnd.oasis.opendocument.chart-template":"otc","vnd.oasis.opendocument.formula-template":"odft","vnd.oasis.opendocument.image-template":"oti","vnd.olpc-sugar":"xo","vnd.oma.dd2+xml":"dd2","vnd.openofficeorg.extension":"oxt","vnd.openxmlformats-officedocument.presentationml.slide":"sldx","vnd.osgeo.mapguide.package":"mgp","vnd.osgi.dp":"dp","vnd.osgi.subsystem":"esa","vnd.palm":["pdb","pqa","oprc"],"vnd.pawaafile":"paw","vnd.pg.format":"str","vnd.pg.osasli":"ei6","vnd.picsel":"efif","vnd.pmi.widget":"wg","vnd.pocketlearn":"plf","vnd.powerbuilder6":"pbd","vnd.previewsystems.box":"box","vnd.proteus.magazine":"mgz","vnd.publishare-delta-tree":"qps","vnd.pvi.ptid1":"ptid","vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"vnd.realvnc.bed":"bed","vnd.recordare.musicxml":"mxl","vnd.recordare.musicxml+xml":"musicxml","vnd.rig.cryptonote":"cryptonote","vnd.rn-realmedia":"rm","vnd.rn-realmedia-vbr":"rmvb","vnd.route66.link66+xml":"link66","vnd.sailingtracker.track":"st","vnd.seemail":"see","vnd.sema":"sema","vnd.semd":"semd","vnd.semf":"semf","vnd.shana.informed.formdata":"ifm","vnd.shana.informed.formtemplate":"itp","vnd.shana.informed.interchange":"iif","vnd.shana.informed.package":"ipk","vnd.simtech-mindmapper":["twd","twds"],"vnd.smart.teacher":"teacher","vnd.solent.sdkm+xml":["sdkm","sdkd"],"vnd.spotfire.dxp":"dxp","vnd.spotfire.sfs":"sfs","vnd.stepmania.package":"smzip","vnd.stepmania.stepchart":"sm","vnd.sus-calendar":["sus","susp"],"vnd.svd":"svd","vnd.syncml+xml":"xsm","vnd.syncml.dm+wbxml":"bdm","vnd.syncml.dm+xml":"xdm","vnd.tao.intent-module-archive":"tao","vnd.tcpdump.pcap":["pcap","cap","dmp"],"vnd.tmobile-livetv":"tmo","vnd.trid.tpt":"tpt","vnd.triscape.mxs":"mxs","vnd.trueapp":"tra","vnd.ufdl":["ufd","ufdl"],"vnd.uiq.theme":"utz","vnd.umajin":"umj","vnd.unity":"unityweb","vnd.uoml+xml":"uoml","vnd.vcx":"vcx","vnd.visionary":"vis","vnd.vsf":"vsf","vnd.webturbo":"wtb","vnd.wolfram.player":"nbp","vnd.wqd":"wqd","vnd.wt.stf":"stf","vnd.xara":"xar","vnd.xfdl":"xfdl","vnd.yamaha.hv-dic":"hvd","vnd.yamaha.hv-script":"hvs","vnd.yamaha.hv-voice":"hvp","vnd.yamaha.openscoreformat":"osf","vnd.yamaha.openscoreformat.osfpvg+xml":"osfpvg","vnd.yamaha.smaf-audio":"saf","vnd.yamaha.smaf-phrase":"spf","vnd.yellowriver-custom-menu":"cmp","vnd.zul":["zir","zirz"],"vnd.zzazz.deck+xml":"zaz","voicexml+xml":"vxml",widget:"wgt",winhlp:"hlp","wsdl+xml":"wsdl","wspolicy+xml":"wspolicy","x-ace-compressed":"ace","x-authorware-bin":["aab","x32","u32","vox"],"x-authorware-map":"aam","x-authorware-seg":"aas","x-blorb":["blb","blorb"],"x-bzip":"bz","x-bzip2":["bz2","boz"],"x-cfs-compressed":"cfs","x-chat":"chat","x-conference":"nsc","x-dgc-compressed":"dgc","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-eva":"eva","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-freearc":"arc","x-gca-compressed":"gca","x-glulx":"ulx","x-gramps-xml":"gramps","x-install-instructions":"install","x-lzh-compressed":["lzh","lha"],"x-mie":"mie","x-mobipocket-ebook":["prc","mobi"],"x-ms-application":"application","x-ms-shortcut":"lnk","x-ms-xbap":"xbap","x-msbinder":"obd","x-mscardfile":"crd","x-msclip":"clp","application/x-ms-installer":"msi","x-msmediaview":["mvb","m13","m14"],"x-msmetafile":["wmf","wmz","emf","emz"],"x-msmoney":"mny","x-mspublisher":"pub","x-msschedule":"scd","x-msterminal":"trm","x-mswrite":"wri","x-nzb":"nzb","x-pkcs12":["p12","pfx"],"x-pkcs7-certificates":["p7b","spc"],"x-research-info-systems":"ris","x-silverlight-app":"xap","x-sql":"sql","x-stuffitx":"sitx","x-subrip":"srt","x-t3vm-image":"t3","x-tex-tfm":"tfm","x-tgif":"obj","x-xliff+xml":"xlf","x-xz":"xz","x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"xaml+xml":"xaml","xcap-diff+xml":"xdf","xenc+xml":"xenc","xml-dtd":"dtd","xop+xml":"xop","xproc+xml":"xpl","xslt+xml":"xslt","xv+xml":["mxml","xhvml","xvml","xvm"],yang:"yang","yin+xml":"yin",envoy:"evy",fractals:"fif","internet-property-stream":"acx",olescript:"axs","vnd.ms-outlook":"msg","vnd.ms-pkicertstore":"sst","x-compress":"z","x-perfmon":["pma","pmc","pmr","pmw"],"ynd.ms-pkipko":"pko",gzip:["gz","tgz"],"smil+xml":["smi","smil"],"vnd.debian.binary-package":["deb","udeb"],"vnd.hzn-3d-crossword":"x3d","vnd.sqlite3":["db","sqlite","sqlite3","db-wal","sqlite-wal","db-shm","sqlite-shm"],"vnd.wap.sic":"sic","vnd.wap.slc":"slc","x-krita":["kra","krz"],"x-perl":["pm","pl"],yaml:["yaml","yml"]},audio:{amr:"amr","amr-wb":"awb",annodex:"axa",basic:["au","snd"],flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"prs.sid":"sid","x-aiff":"aifc","x-gsm":"gsm","x-ms-wma":"wma","x-ms-wax":"wax","x-pn-realaudio":"ram","x-realaudio":"ra","x-sd2":"sd2",adpcm:"adp",mp4:"mp4a",s3m:"s3m",silk:"sil","vnd.dece.audio":["uva","uvva"],"vnd.digital-winds":"eol","vnd.dra":"dra","vnd.dts":"dts","vnd.dts.hd":"dtshd","vnd.lucent.voice":"lvp","vnd.ms-playready.media.pya":"pya","vnd.nuera.ecelp4800":"ecelp4800","vnd.nuera.ecelp7470":"ecelp7470","vnd.nuera.ecelp9600":"ecelp9600","vnd.rip":"rip",webm:"weba","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",aac:"aac",aiff:["aiff","aif","aff"],opus:"opus",wav:"wav"},chemical:{"x-alchemy":"alc","x-cache":["cac","cache"],"x-cache-csf":"csf","x-cactvs-binary":["cbin","cascii","ctab"],"x-cdx":"cdx","x-chem3d":"c3d","x-cif":"cif","x-cmdf":"cmdf","x-cml":"cml","x-compass":"cpa","x-crossfire":"bsd","x-csml":["csml","csm"],"x-ctx":"ctx","x-cxf":["cxf","cef"],"x-embl-dl-nucleotide":["emb","embl"],"x-gamess-input":["inp","gam","gamin"],"x-gaussian-checkpoint":["fch","fchk"],"x-gaussian-cube":"cub","x-gaussian-input":["gau","gjc","gjf"],"x-gaussian-log":"gal","x-gcg8-sequence":"gcg","x-genbank":"gen","x-hin":"hin","x-isostar":["istr","ist"],"x-jcamp-dx":["jdx","dx"],"x-kinemage":"kin","x-macmolecule":"mcm","x-macromodel-input":"mmod","x-mdl-molfile":"mol","x-mdl-rdfile":"rd","x-mdl-rxnfile":"rxn","x-mdl-sdfile":"sd","x-mdl-tgf":"tgf","x-mmcif":"mcif","x-mol2":"mol2","x-molconn-Z":"b","x-mopac-graph":"gpt","x-mopac-input":["mop","mopcrt","zmt"],"x-mopac-out":"moo","x-ncbi-asn1":"asn","x-ncbi-asn1-ascii":["prt","ent"],"x-ncbi-asn1-binary":"val","x-rosdal":"ros","x-swissprot":"sw","x-vamas-iso14976":"vms","x-vmd":"vmd","x-xtel":"xtel","x-xyz":"xyz"},font:{otf:"otf",woff:"woff",woff2:"woff2"},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe","jfif","jfif-tbnl","jif"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"vnd.djvu":["djvu","djv"],"vnd.wap.wbmp":"wbmp","x-canon-cr2":"cr2","x-canon-crw":"crw","x-cmu-raster":"ras","x-coreldraw":"cdr","x-coreldrawpattern":"pat","x-coreldrawtemplate":"cdt","x-corelphotopaint":"cpt","x-epson-erf":"erf","x-icon":"ico","x-jg":"art","x-jng":"jng","x-nikon-nef":"nef","x-olympus-orf":"orf","x-portable-anymap":"pnm","x-portable-bitmap":"pbm","x-portable-graymap":"pgm","x-portable-pixmap":"ppm","x-rgb":"rgb","x-xbitmap":"xbm","x-xpixmap":"xpm","x-xwindowdump":"xwd",bmp:"bmp",cgm:"cgm",g3fax:"g3",ktx:"ktx","prs.btif":"btif",sgi:"sgi","vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"vnd.dwg":"dwg","vnd.dxf":"dxf","vnd.fastbidsheet":"fbs","vnd.fpx":"fpx","vnd.fst":"fst","vnd.fujixerox.edmics-mmr":"mmr","vnd.fujixerox.edmics-rlc":"rlc","vnd.ms-modi":"mdi","vnd.ms-photo":"wdp","vnd.net-fpx":"npx","vnd.xiff":"xif",webp:"webp","x-3ds":"3ds","x-cmx":"cmx","x-freehand":["fh","fhc","fh4","fh5","fh7"],"x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod",avif:"avifs",heic:["heif","heic"],pjpeg:["pjpg"],"vnd.adobe.photoshop":"psd","x-adobe-dng":"dng","x-fuji-raf":"raf","x-icns":"icns","x-kodak-dcr":"dcr","x-kodak-k25":"k25","x-kodak-kdc":"kdc","x-minolta-mrw":"mrw","x-panasonic-raw":["raw","rw2","rwl"],"x-pentax-pef":["pef","ptx"],"x-sigma-x3f":"x3f","x-sony-arw":"arw","x-sony-sr2":"sr2","x-sony-srf":"srf"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},model:{iges:["igs","iges"],mesh:["msh","mesh","silo"],vrml:["wrl","vrml"],"x3d+vrml":["x3dv","x3dvz"],"x3d+xml":"x3dz","x3d+binary":["x3db","x3dbz"],"vnd.collada+xml":"dae","vnd.dwf":"dwf","vnd.gdl":"gdl","vnd.gtw":"gtw","vnd.mts":"mts","vnd.usdz+zip":"usdz","vnd.vtu":"vtu"},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",plain:["txt","text","brf","conf","def","list","log","in","bas","diff","ksh"],richtext:"rtx",scriptlet:["sct","wsc"],texmacs:"tm","tab-separated-values":"tsv","vnd.sun.j2me.app-descriptor":"jad","vnd.wap.wml":"wml","vnd.wap.wmlscript":"wmls","x-bibtex":"bib","x-boo":"boo","x-c++hdr":["h++","hpp","hxx","hh"],"x-c++src":["c++","cpp","cxx","cc"],"x-component":"htc","x-dsrc":"d","x-diff":"patch","x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas","pp","inc"],"x-pcs-gcd":"gcd","x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcalendar":"vcs","x-vcard":"vcf",n3:"n3","prs.lines.tag":"dsc",sgml:["sgml","sgm"],troff:["t","tr","roff","man","me","ms"],turtle:"ttl","uri-list":["uri","uris","urls"],vcard:"vcard","vnd.curl":"curl","vnd.curl.dcurl":"dcurl","vnd.curl.scurl":"scurl","vnd.curl.mcurl":"mcurl","vnd.dvb.subtitle":"sub","vnd.fly":"fly","vnd.fmi.flexstor":"flx","vnd.graphviz":"gv","vnd.in3d.3dml":"3dml","vnd.in3d.spot":"spot","x-asm":["s","asm"],"x-c":["c","h","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt",javascript:"js",json:"json",markdown:["md","markdown","mdown","markdn"],"vnd.wap.si":"si","vnd.wap.sl":"sl"},video:{avif:"avif","3gpp":"3gp",annodex:"axv",dl:"dl",dv:["dif","dv"],fli:"fli",gl:"gl",mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.dece.hd":["uvh","uvvh"],"vnd.dece.mobile":["uvm","uvvm"],"vnd.dece.pd":["uvp","uvvp"],"vnd.dece.sd":["uvs","uvvs"],"vnd.dece.video":["uvv","uvvv"],"vnd.dvb.file":"dvb","vnd.fvt":"fvt","vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv",mp2t:"ts"},"x-conference":{"x-cooltalk":"ice"},"x-world":{"x-vrml":["vrm","flr","wrz","xaf","xof"]}},pt=(()=>{const e={};for(const t of n.keys(ut))for(const r of n.keys(ut[t])){const n=ut[t][r];if("string"==typeof n)e[n]=t+"/"+r;else for(let i=0;ie;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;mt[e]=t}class ht{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^mt[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class wt extends z{constructor(){let e;const t=new ht;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new p(4);new w(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function xt(e){if(typeof v==nt){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let n=0;n0&&t&&(e[n-1]=gt.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;i>>t),n=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=gt.getPartial(i);return r.push(gt.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},vt={bytes:{fromBits(e){const t=gt.bitLength(e)/8,n=new p(t);let r;for(let i=0;t>i;i++)3&i||(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const s=new h(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=gt.concat(t,[gt.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_S(e,t){return t<>>32-e}_block(e){const n=this,r=n._h,i=t(80);for(let t=0;16>t;t++)i[t]=e[t];let s=r[0],o=r[1],l=r[2],c=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(i[e]=n._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n._S(5,s)+n._f(e,o,l,c)+d+i[e]+n._key[a.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=s,s=t}r[0]=r[0]+s|0,r[1]=r[1]+o|0,r[2]=r[2]+l|0,r[3]=r[3]+c|0,r[4]=r[4]+d|0}},yt={getRandomValues(e){const t=new h(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(a.random()>.5?1:-1))};for(let r,i=0;inew _t.hmacSha1(vt.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new u("invalid params to pbkdf2");const i=1+(r>>5)<<2;let s,a,o,l,c;const d=new ArrayBuffer(i),f=new w(d);let p=0;const m=gt;for(t=vt.bytes.toBits(t),c=1;(i||1)>p;c++){for(s=a=e.encrypt(m.concat(t,[c])),o=1;n>o;o++)for(a=e.encrypt(a),l=0;lp&&oi&&(e=(new n).update(e).finalize());for(let t=0;i>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},kt=typeof _!=nt&&typeof _.getRandomValues==rt,zt="Invalid password",St="Invalid signature",Dt="zipjs-abort-check-password";function At(e){return kt?_.getRandomValues(e):yt.getRandomValues(e)}const Ct=16,Ft={name:"PBKDF2"},Rt=n.assign({hash:{name:"HMAC"}},Ft),Et=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ft),jt=["deriveBits"],Tt=[8,12,16],qt=[16,24,32],Ut=10,It=[0,0,0,0],Wt=typeof _!=nt,Nt=Wt&&_.subtle,Pt=Wt&&typeof Nt!=nt,Lt=vt.bytes,Ot=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],i=e.length;let s,a,o,l=1;if(4!==i&&6!==i&&8!==i)throw new u("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=i;4*i+28>s;s++){let e=a[s-1];(s%i==0||8===i&&s%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%i==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=4>=s||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],i=[],s=[];let a,o,l,c;for(let e=0;256>e;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,r[s]=d,c=i[l=i[o=i[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*i[s]^16843008*s;for(let n=0;4>n;n++)e[n][d]=u=u<<24^u>>>8,t[n][s]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new u("invalid aes block size");const n=this._key[t],r=n.length/4-2,i=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],l=s[2],c=s[3],d=s[4];let f,p,m,h=e[0]^n[0],w=e[t?3:1]^n[1],x=e[2]^n[2],g=e[t?1:3]^n[3],v=4;for(let e=0;r>e;e++)f=a[h>>>24]^o[w>>16&255]^l[x>>8&255]^c[255&g]^n[v],p=a[w>>>24]^o[x>>16&255]^l[g>>8&255]^c[255&h]^n[v+1],m=a[x>>>24]^o[g>>16&255]^l[h>>8&255]^c[255&w]^n[v+2],g=a[g>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&x]^n[v+3],v+=4,h=f,w=p,x=m;for(let e=0;4>e;e++)i[t?3&-e:e]=d[h>>>24]<<24^d[w>>16&255]<<16^d[x>>8&255]<<8^d[255&g]^n[v++],f=h,h=w,w=x,x=g,g=f;return i}},Bt=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const i=gt.bitLength(t);for(let i=0;r>i;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return gt.clamp(t,i)}},Mt=_t.hmacSha1;let Gt=Wt&&Pt&&typeof Nt.importKey==rt,Ht=Wt&&Pt&&typeof Nt.deriveBits==rt;class Vt extends z{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:i,checkPasswordOnly:s}){super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:Yt(e,t),signed:r,strength:i-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:i,resolveReady:a,ready:o}=n;r?(await(async(e,t,n,r)=>{const i=await Xt(e,t,n,Jt(r,0,Tt[t])),s=Jt(r,Tt[t]);if(i[0]!=s[0]||i[1]!=s[1])throw new u(zt)})(n,i,r,Jt(e,0,Tt[i]+2)),e=Jt(e,Tt[i]+2),s?t.error(new u(Dt)):a()):await o;const l=new p(e.length-Ut-(e.length-Ut)%Ct);t.enqueue(Kt(n,e,l,0,Ut,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:i,ready:s}=this;if(r&&n){await s;const a=Jt(i,0,i.length-Ut),o=Jt(i,i.length-Ut);let l=new p;if(a.length){const e=en(Lt,a);r.update(e);const t=n.update(e);l=$t(Lt,t)}if(t){const e=Jt($t(Lt,r.digest()),0,Ut);for(let t=0;Ut>t;t++)if(e[t]!=o[t])throw new u(St)}e.enqueue(l)}}})}}class Zt extends z{constructor({password:e,rawPassword:t,encryptionStrength:r}){let i;super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:Yt(e,t),strength:r-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:i,resolveReady:s,ready:a}=n;let o=new p;r?(o=await(async(e,t,n)=>{const r=At(new p(Tt[t]));return Qt(r,await Xt(e,t,n,r))})(n,i,r),s()):await a;const l=new p(o.length+e.length-e.length%Ct);l.set(o,0),t.enqueue(Kt(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:s}=this;if(n&&t){await s;let a=new p;if(r.length){const e=t.update(en(Lt,r));n.update(e),a=$t(Lt,e)}i.signature=$t(Lt,n.digest()).slice(0,Ut),e.enqueue(Qt(a,i.signature))}}}),i=this}}function Kt(e,t,n,r,i,s){const{ctr:a,hmac:o,pending:l}=e,c=t.length-i;let d;for(l.length&&(t=Qt(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new p(t)).set(n,0)}return e})(n,c-c%Ct)),d=0;c-Ct>=d;d+=Ct){const e=en(Lt,Jt(t,d,d+Ct));s&&o.update(e);const i=a.update(e);s||o.update(i),n.set($t(Lt,i),d+r)}return e.pending=Jt(t,d),n}async function Xt(e,r,i,s){e.password=null;const a=await(async(e,t,n,r,i)=>{if(!Gt)return _t.importKey(t);try{return await Nt.importKey("raw",t,n,!1,i)}catch(e){return Gt=!1,_t.importKey(t)}})(0,i,Rt,0,jt),o=await(async(e,t,n)=>{if(!Ht)return _t.pbkdf2(t,e.salt,Et.iterations,n);try{return await Nt.deriveBits(e,t,n)}catch(r){return Ht=!1,_t.pbkdf2(t,e.salt,Et.iterations,n)}})(n.assign({salt:s},Et),a,8*(2*qt[r]+2)),l=new p(o),c=en(Lt,Jt(l,0,qt[r])),d=en(Lt,Jt(l,qt[r],2*qt[r])),f=Jt(l,2*qt[r]);return n.assign(e,{keys:{key:c,authentication:d,passwordVerification:f},ctr:new Bt(new Ot(c),t.from(It)),hmac:new Mt(d)}),f}function Yt(e,t){return t===tt?xt(e):t}function Qt(e,t){let n=e;return e.length+t.length&&(n=new p(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Jt(e,t,n){return e.subarray(t,n)}function $t(e,t){return e.fromBits(t)}function en(e,t){return e.toBits(t)}class tn extends z{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),an(this,e)},transform(e,t){const n=this;if(n.password){const t=rn(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new u(zt);e=e.subarray(12)}r?t.error(new u(Dt)):t.enqueue(rn(n,e))}})}}class nn extends z{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),an(this,e)},transform(e,t){const n=this;let r,i;if(n.password){n.password=null;const t=At(new p(12));t[11]=n.passwordVerification,r=new p(e.length+t.length),r.set(sn(n,t),0),i=12}else r=new p(e.length),i=0;r.set(sn(n,e),i),t.enqueue(r)}})}}function rn(e,t){const n=new p(t.length);for(let r=0;r>>24]),i=~e.crcKey2.get(),e.keys=[n,r,i]}function ln(e){const t=2|e.keys[2];return cn(a.imul(t,1^t)>>>8)}function cn(e){return 255&e}function dn(e){return 4294967295&e}const fn="deflate-raw";class un extends z{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:i,encrypted:s,useCompressionStream:a,zipCrypto:o,signed:l,level:c}=e,d=this;let f,u,p=mn(super.readable);s&&!o||!l||(f=new wt,p=xn(p,f)),i&&(p=wn(p,a,{level:c,chunkSize:t},r,n)),s&&(o?p=xn(p,new nn(e)):(u=new Zt(e),p=xn(p,u))),hn(d,p,(()=>{let e;s&&!o&&(e=u.signature),s&&!o||!l||(e=new w(f.value.buffer).getUint32(0)),d.signature=e}))}}class pn extends z{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:s,signed:a,signature:o,compressed:l,useCompressionStream:c}=e;let d,f,p=mn(super.readable);s&&(i?p=xn(p,new tn(e)):(f=new Vt(e),p=xn(p,f))),l&&(p=wn(p,c,{chunkSize:t},r,n)),s&&!i||!a||(d=new wt,p=xn(p,d)),hn(this,p,(()=>{if((!s||i)&&a){const e=new w(d.value.buffer);if(o!=e.getUint32(0,!1))throw new u(St)}}))}}function mn(e){return xn(e,new z({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function hn(e,t,r){t=xn(t,new z({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function wn(e,t,n,r,i){try{e=xn(e,new(t&&r?r:i)(fn,n))}catch(r){if(!t)return e;try{e=xn(e,new i(fn,n))}catch(t){return e}}return e}function xn(e,t){return e.pipeThrough(t)}const gn="data",vn="close",bn="deflate",yn="inflate";class _n extends z{constructor(e,t){super({});const r=this,{codecType:i}=e;let s;i.startsWith(bn)?s=un:i.startsWith(yn)&&(s=pn);let a=0,o=0;const l=new s(e,t),c=super.readable,d=new z({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:o})}}),f=new z({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;n.assign(r,{signature:e,outputSize:a,inputSize:o})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(f)})}}class kn extends z{constructor(e){let t;super({transform:function n(r,i){if(t){const e=new p(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(i.enqueue(r.slice(0,e)),n(r.slice(e),i)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let zn=typeof R!=nt;class Sn{constructor(e,{readable:t,writable:r},{options:i,config:s,streamOptions:a,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:f}=a;return n.assign(e,{busy:!0,readable:t.pipeThrough(new kn(s.chunkSize)).pipeThrough(new Dn(t,a),{signal:f}),writable:r,options:n.assign({},i),scripts:c,transferStreams:l,terminate:()=>new g((t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()})),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&zn?Fn:Cn)(e,s)}}class Dn extends z{constructor(e,{onstart:t,onprogress:n,size:r,onend:i}){let s=0;super({async start(){t&&await An(t,r)},async transform(e,t){s+=e.length,n&&await An(n,s,r),t.enqueue(e)},async flush(){e.size=s,i&&await An(i,s)}})}}async function An(e,...t){try{await e(...t)}catch(e){}}function Cn(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},i)=>{try{const r=new _n(e,i);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:s,inputSize:a,outputSize:o}=r;return{signature:s,inputSize:a,outputSize:o}}finally{r()}})(e,t)}}function Fn(e,t){const{baseURL:r,chunkSize:i}=t;if(!e.interface){let s;try{s=((e,t,r)=>{const i={type:"module"};let s,a;typeof e==rt&&(e=e());try{s=new f(e,t)}catch(t){s=e}if(Rn)try{a=new R(s)}catch(e){Rn=!1,a=new R(s,i)}else a=new R(s,i);return a.addEventListener("message",(e=>(async({data:e},t)=>{const{type:r,value:i,messageId:s,result:a,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:f,onTaskFinished:m}=t;try{if(o){const{message:e,stack:t,code:r,name:i}=o,s=new u(e);n.assign(s,{stack:t,code:r,name:i}),h(s)}else{if("pull"==r){const{value:e,done:n}=await l.read();jn({type:gn,value:e,done:n,messageId:s},t)}r==gn&&(await c.ready,await c.write(new p(i)),jn({type:"ack",messageId:s},t)),r==vn&&h(null,a)}}catch(o){jn({type:vn,messageId:s},t),h(o)}function h(e,t){e?f(e):d(t),c&&c.releaseLock(),m()}})(e,r))),a})(e.scripts[0],r,e)}catch(n){return zn=!1,Cn(e,t)}n.assign(e,{worker:s,interface:{run:()=>(async(e,t)=>{let r,i;const s=new g(((e,t)=>{r=e,i=t}));n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:i,result:s});const{readable:a,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const n=new g((e=>t=e));return{writable:new D({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),f=jn({type:"start",scripts:l.slice(1),options:o,config:t,readable:a,writable:c},e);f||n.assign(e,{reader:a.getReader(),writer:c.getWriter()});const u=await s;return f||await c.getWriter().close(),await d,u})(e,{chunkSize:i})}})}return e.interface}let Rn=!0,En=!0;function jn(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:i}){try{let{value:n,readable:r,writable:s}=e;const a=[];if(n&&(n.byteLength{const n=Tn.find((e=>!e.busy));if(n)return Wn(n),new Sn(n,e,t,h);if(Tn.lengthqn.push({resolve:n,stream:e,workerOptions:t})))})()).run();function h(e){if(qn.length){const[{resolve:t,stream:n,workerOptions:r}]=qn.splice(0,1);t(new Sn(e,n,r,h))}else e.worker?(Wn(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;i.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Tn=Tn.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),r))})(e,t)):Tn=Tn.filter((t=>t!=e))}}function Wn(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}function Nn(e,t,r){return class{constructor(i){const s=this;var a,o;a=i,o="level",(typeof n.hasOwn===rt?n.hasOwn(a,o):a.hasOwnProperty(o))&&i.level===tt&&delete i.level,s.codec=new e(n.assign({},t,i)),r(s.codec,(e=>{if(s.pendingData){const t=s.pendingData;s.pendingData=new p(t.length+e.length);const{pendingData:n}=s;n.set(t,0),n.set(e,t.length)}else s.pendingData=new p(e)}))}append(e){return this.codec.push(e),i(this)}flush(){return this.codec.push(new p,!0),i(this)}};function i(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new p}}const Pn="HTTP error ",Ln="HTTP Range not supported",On="Writer iterator completed too soon",Bn="Content-Length",Mn="Range",Gn="HEAD",Hn="GET",Vn="bytes",Zn=65536,Kn="writable";class Xn{constructor(){this.size=0}init(){this.initialized=!0}}class Yn extends Xn{get readable(){const e=this,{chunkSize:t=Zn}=e,n=new S({start(){this.chunkOffset=0},async pull(r){const{offset:i=0,size:s,diskNumberStart:o}=n,{chunkOffset:l}=this;r.enqueue(await Sr(e,i+l,a.min(t,s-l),o)),l+t>s?r.close():this.chunkOffset+=t}});return n}}class Qn extends Xn{constructor(){super();const e=this,t=new D({write:t=>e.writeUint8Array(t)});n.defineProperty(e,Kn,{get:()=>t})}writeUint8Array(){}}class Jn extends Yn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,i=new p(t),s=4*a.floor(e/3),o=atob(r.substring(s+n,4*a.ceil((e+t)/3)+n)),l=e-3*a.floor(s/4);for(let e=l;l+t>e;e++)i[e-l]=o.charCodeAt(e);return i}}class $n extends Qn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,i=t.pending;const s=t.pending.length;for(t.pending="",n=0;n<3*a.floor((s+e.length)/3)-s;n++)i+=r.fromCharCode(e[n]);for(;n2?t.data+=k(i):t.pending=i}getData(){return this.data+k(this.pending)}}class er extends Yn{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,i=e||rt&&(s=s.slice(e,r)),new p(s)}}class tr extends Xn{constructor(e){super();const t=new z,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Kn,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:r}).blob()}getData(){return this.blob}}class nr extends er{constructor(e){super(new x([e],{type:"text/plain"}))}}class rr extends tr{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new g(((i,s)=>{n.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>s(t.error)}),t.readAsText(r,e)}))}}}class ir extends Yn{constructor(e,t){super(),ar(this,e,t)}async init(){await or(this,hr,fr),super.init()}readUint8Array(e,t){return lr(this,e,t,hr,fr)}}class sr extends Yn{constructor(e,t){super(),ar(this,e,t)}async init(){await or(this,wr,ur),super.init()}readUint8Array(e,t){return lr(this,e,t,wr,ur)}}function ar(e,t,r){const{preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:o}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:o})}async function or(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=lt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n})(r)&&(a||o)&&(void 0===s||s)){const r=await t(Hn,e,cr(e,l?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=Vn)throw new u(Ln);{let s;l&&(e.eocdCache=new p(await r.arrayBuffer()));const a=r.headers.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(s=i(t))}}s===tt?await mr(e,t,n):e.size=s}}else await mr(e,t,n)}async function lr(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,eocdCache:o,size:l,options:c}=e;if(s||a){if(o&&t==l-Xe&&n==Xe)return o;const i=await r(Hn,e,cr(e,t,n));if(206!=i.status)throw new u(Ln);return new p(await i.arrayBuffer())}{const{data:r}=e;return r||await i(e,c),new p(e.data.subarray(t,t+n))}}function cr(e,t=0,r=1){return n.assign({},dr(e),{[Mn]:Vn+"="+(0>t?t:t+"-"+(t+r-1))})}function dr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function fr(e){await pr(e,hr)}async function ur(e){await pr(e,wr)}async function pr(e,t){const n=await t(Hn,e,dr(e));e.data=new p(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function mr(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t(Gn,e,dr(e))).headers.get(Bn);r?e.size=i(r):await n(e,e.options)}}async function hr(e,{options:t,url:r},i){const s=await fetch(r,n.assign({},t,{method:e,headers:i}));if(400>s.status)return s;throw 416==s.status?new u(Ln):new u(Pn+(s.statusText||s.status))}function wr(e,{url:t},r){return new g(((i,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",(()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),i({status:a.status,arrayBuffer:()=>a.response,headers:new l(e)})}else s(416==a.status?new u(Ln):new u(Pn+(a.statusText||a.status)))}),!1),a.addEventListener("error",(e=>s(e.detail?e.detail.error:new u("Network error"))),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()}))}class xr extends Yn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new sr(e,t):new ir(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class gr extends Yn{constructor(e){super(),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class vr extends Qn{init(e=0){n.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new p(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}}class br extends Yn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await g.all(t.map((async(n,r)=>{await n.init(),r!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const r=this,{readers:i}=this;let s,o=n;-1==o&&(o=i.length-1);let l=e;for(;l>=i[o].size;)l-=i[o].size,o++;const c=i[o],d=c.size;if(l+t>d){const i=d-l;s=new p(t),s.set(await Sr(c,l,i)),s.set(await r.readUint8Array(e+i,t-i,n),i)}else s=await Sr(c,l,t);return r.lastDiskNumber=a.max(o,r.lastDiskNumber),s}}class yr extends Xn{constructor(e,t=4294967295){super();const r=this;let i,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){const{availableSize:n}=r;if(a)t.lengtho})}}async function _r(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function kr(e){return t.isArray(e)&&(e=new br(e)),e instanceof S&&(e={readable:e}),e}function zr(e){e.writable===tt&&typeof e.next==rt&&(e=new yr(e)),e instanceof D&&(e={writable:e});const{writable:t}=e;return t.size===tt&&(t.size=0),e instanceof yr||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Sr(e,t,n,r){return e.readUint8Array(t,n,r)}const Dr=br,Ar=yr,Cr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Fr=256==Cr.length;function Rr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{if(Fr){let t="";for(let n=0;nthis[t]=e[t]))}}const Xr="File format is not recognized",Yr="End of central directory not found",Qr="End of Zip64 central directory locator not found",Jr="Central directory header not found",$r="Local file header not found",ei="Zip64 extra field not found",ti="File contains encrypted entry",ni="Encryption method not supported",ri="Compression method not supported",ii="Split zip file",si="utf-8",ai="cp437",oi=[[Ur,Le],[Ir,Le],[Wr,Le],[Nr,Oe]],li={[Oe]:{getValue:vi,bytes:4},[Le]:{getValue:bi,bytes:8}};class ci{constructor(e,t={}){n.assign(this,{reader:kr(e),options:t,config:lt()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:i}=t;if(await _r(r),r.size!==tt&&r.readUint8Array||(r=new er(await new d(r.readable).blob()),await _r(r)),r.size{const r=new p(4);var i;return i=t,yi(r).setUint32(0,i,!0),await s(22)||await s(a.min(1048582,n));async function s(t){const i=n-t,s=await Sr(e,i,t);for(let e=s.length-22;e>=0;e--)if(s[e]==r[0]&&s[e+1]==r[1]&&s[e+2]==r[2]&&s[e+3]==r[3])return{offset:i+e,buffer:s.slice(e,e+22).buffer}}})(r,Ve,r.size);if(!s)throw vi(yi(await Sr(r,0,4)))==Me?new u(ii):new u(Yr);const o=yi(s);let l=vi(o,12),c=vi(o,16);const f=s.offset,m=gi(o,20),h=f+Xe+m;let w=gi(o,4);const x=r.lastDiskNumber||0;let g=gi(o,6),v=gi(o,8),b=0,y=0;if(c==Le||l==Le||v==Oe||g==Oe){const e=yi(await Sr(r,s.offset-20,20));if(vi(e,0)==Ke){c=bi(e,8);let t=await Sr(r,c,56,-1),n=yi(t);const i=s.offset-20-56;if(vi(n,0)!=Ze&&c!=i){const e=c;c=i,b=c-e,t=await Sr(r,c,56,-1),n=yi(t)}if(vi(n,0)!=Ze)throw new u(Qr);w==Oe&&(w=vi(n,16)),g==Oe&&(g=vi(n,20)),v==Oe&&(v=bi(n,32)),l==Le&&(l=bi(n,40)),c-=l}}if(cc)throw new u(Xr);let _=0,k=await Sr(r,c,l,g),z=yi(k);if(l){const e=s.offset-l;if(vi(z,_)!=He&&c!=e){const t=c;c=e,b+=c-t,k=await Sr(r,c,l,g),z=yi(k)}}const S=s.offset-c-(r.lastDiskOffset||0);if(l==S||0>S||(l=S,k=await Sr(r,c,l,g),z=yi(k)),0>c||c>=r.size)throw new u(Xr);const D=mi(t,e,"filenameEncoding"),A=mi(t,e,"commentEncoding");for(let s=0;v>s;s++){const o=new di(r,i,t.options);if(vi(z,_)!=He)throw new u(Jr);fi(o,z,_+6);const l=!!o.bitFlag.languageEncodingFlag,c=_+46,d=c+o.filenameLength,f=d+o.extraFieldLength,p=gi(z,_+4),m=!0,h=k.subarray(c,d),w=gi(z,_+32),x=f+w,g=k.subarray(f,x),S=l,C=l,F=m&&!(16&~xi(z,_+38)),R=vi(z,_+42)+b;n.assign(o,{versionMadeBy:p,msDosCompatible:m,compressedSize:0,uncompressedSize:0,commentLength:w,directory:F,offset:R,diskNumberStart:gi(z,_+34),internalFileAttribute:gi(z,_+36),externalFileAttribute:vi(z,_+38),rawFilename:h,filenameUTF8:S,commentUTF8:C,rawExtraField:k.subarray(d,f)});const E=mi(t,e,"decodeText")||Rr,j=S?si:D||ai,T=C?si:A||ai;let q=E(h,j);q===tt&&(q=Rr(h,j));let U=E(g,T);U===tt&&(U=Rr(g,T)),n.assign(o,{rawComment:g,filename:q,comment:U,directory:F||q.endsWith(Je)}),y=a.max(R,y),await ui(o,o,z,_+6);const I=new Kr(o);I.getData=(e,t)=>o.getData(e,I,t),_=x;const{onprogress:W}=e;if(W)try{await W(s+1,v,new Kr(o))}catch(e){}yield I}const C=mi(t,e,"extractPrependedData"),F=mi(t,e,"extractAppendedData");return C&&(t.prependedData=y>0?await Sr(r,0,y):new p),t.comment=m?await Sr(r,f+Xe,m):new p,F&&(t.appendedData=h>>8&255:m>>>24&255),signature:m,compressed:0!=c,encrypted:_,useWebWorkers:mi(i,r,"useWebWorkers"),useCompressionStream:mi(i,r,"useCompressionStream"),transferStreams:mi(i,r,"transferStreams"),checkPasswordOnly:F},config:d,streamOptions:{signal:C,size:S,onstart:E,onprogress:j,onend:T}};let U=0;try{({outputSize:U}=await In({readable:A,writable:R},q))}catch(e){if(!F||e.message!=Dt)throw e}finally{const e=mi(i,r,"preventClose");R.size+=U,e||R.locked||await R.getWriter().close()}return F?tt:e.getData?e.getData():R}};function fi(e,t,r){const i=e.rawBitFlag=gi(t,r+2),s=!(1&~i),a=vi(t,r+6);n.assign(e,{encrypted:s,version:gi(t,r),bitFlag:{level:(6&i)>>1,dataDescriptor:!(8&~i),languageEncodingFlag:(i&Qe)==Qe},rawLastModDate:a,lastModDate:hi(a),filenameLength:gi(t,r+22),extraFieldLength:gi(t,r+24)})}async function ui(e,t,r,i,s){const{rawExtraField:a}=t,c=t.extraField=new l,d=yi(new p(a));let f=0;try{for(;f{t.zip64=!0;const n=yi(e.data),r=oi.filter((([e,n])=>t[e]==n));for(let i=0,s=0;i{const i=yi(e.data),s=xi(i,4);n.assign(e,{vendorVersion:xi(i,0),vendorId:xi(i,2),strength:s,originalCompressionMethod:r,compressionMethod:gi(i,5)}),t.compressionMethod=e.compressionMethod})(g,t,m),t.extraFieldAES=g):t.compressionMethod=m;const v=c.get(10);v&&(((e,t)=>{const r=yi(e.data);let i,s=4;try{for(;s{const r=yi(e.data),i=xi(r,0),s=[],a=[];n?(1&~i||(s.push(Pr),a.push(Lr)),2&~i||(s.push(Or),a.push("rawLastAccessDate")),4&~i||(s.push(Br),a.push("rawCreationDate"))):5>e.data.length||(s.push(Pr),a.push(Lr));let l=1;s.forEach(((n,i)=>{if(e.data.length>=l+4){const s=vi(r,l);t[n]=e[n]=new o(1e3*s);const c=a[i];e[c]=s}l+=4}))})(b,t,s),t.extraFieldExtendedTimestamp=b);const y=c.get(6534);y&&(t.extraFieldUSDZ=y)}async function pi(e,t,r,i,s){const a=yi(e.data),o=new ht;o.append(s[r]);const l=yi(new p(4));l.setUint32(0,o.get(),!0);const c=vi(a,1);n.assign(e,{version:xi(a,0),[t]:Rr(e.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&c==vi(l,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function mi(e,t,n){return t[n]===tt?e.options[n]:t[n]}function hi(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function wi(e){return new o(i(e/s(1e4)-s(116444736e5)))}function xi(e,t){return e.getUint8(t)}function gi(e,t){return e.getUint16(t,!0)}function vi(e,t){return e.getUint32(t,!0)}function bi(e,t){return i(e.getBigUint64(t,!0))}function yi(e){return new w(e.buffer)}const _i="File already exists",ki="Zip file comment exceeds 64KB",zi="File entry comment exceeds 64KB",Si="File entry name exceeds 64KB",Di="Version exceeds 65535",Ai="The strength must equal 1, 2, or 3",Ci="Extra field type exceeds 65535",Fi="Extra field data exceeds 64KB",Ri="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Ei=new p([7,0,2,0,65,69,3,0,0]);let ji=0;const Ti=[];class qi{constructor(e,t={}){const r=(e=zr(e)).availableSize!==tt&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==tt&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:r,options:t,config:lt(),files:new l,filenames:new c,offset:e.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",r,i={}){const l=this,{pendingAddFileCalls:c,config:f}=l;let x;jiTi.push(e)));try{if(e=e.trim(),l.filenames.has(e))throw new u(_i);return l.filenames.add(e),x=(async(e,r,i,l)=>{r=r.trim(),l.directory&&!r.endsWith(Je)?r+=Je:l.directory=r.endsWith(Je);const c=Wi(e,l,"encodeText",xt);let f=c(r);if(f===tt&&(f=xt(r)),Gi(f)>Oe)throw new u(Si);const x=l.comment||"";let v=c(x);if(v===tt&&(v=xt(x)),Gi(v)>Oe)throw new u(zi);const b=Wi(e,l,"version",20);if(b>Oe)throw new u(Di);const y=Wi(e,l,"versionMadeBy",20);if(y>Oe)throw new u(Di);const _=Wi(e,l,Pr,new o),k=Wi(e,l,Or),S=Wi(e,l,Br),D=Wi(e,l,Hr,!0),A=Wi(e,l,Mr,0),C=Wi(e,l,Gr,0),F=Wi(e,l,"password"),R=Wi(e,l,"rawPassword"),E=Wi(e,l,"encryptionStrength",3),j=Wi(e,l,"zipCrypto"),T=Wi(e,l,"extendedTimestamp",!0),q=Wi(e,l,"keepOrder",!0),U=Wi(e,l,"level"),I=Wi(e,l,"useWebWorkers"),W=Wi(e,l,"bufferedWrite"),N=Wi(e,l,"dataDescriptorSignature",!1),P=Wi(e,l,"signal"),L=Wi(e,l,"useCompressionStream");let O=Wi(e,l,"dataDescriptor",!0),B=Wi(e,l,Vr);if(F!==tt&&E!==tt&&(1>E||E>3))throw new u(Ai);let M=new p;const{extraField:G}=l;if(G){let e=0,t=0;G.forEach((t=>e+=4+Gi(t))),M=new p(e),G.forEach(((e,n)=>{if(n>Oe)throw new u(Ci);if(Gi(e)>Oe)throw new u(Fi);Bi(M,new m([n]),t),Bi(M,new m([Gi(e)]),t+2),Bi(M,e,t+4),t+=4+Gi(e)}))}let H=0,V=0,Z=0;const K=!0===B;i&&(i=kr(i),await _r(i),i.size===tt?(O=!0,(B||B===tt)&&(B=!0,Z=H=4294967296)):(Z=i.size,H=(e=>e+5*(a.floor(e/16383)+1))(Z)));const{diskOffset:X,diskNumber:Y,maxSize:Q}=e.writer,J=K||Z>Le,$=K||H>Le,ee=K||e.offset+e.pendingEntriesSize-X>Le,te=Wi(e,l,"supportZip64SplitFile",!0)&&K||Y+a.ceil(e.pendingEntriesSize/Q)>Oe;if(ee||J||$||te){if(!1===B||!q)throw new u(Ri);B=!0}B=B||!1;const ne=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:i,rawPassword:s,password:o,level:l,zip64:c,zipCrypto:d,dataDescriptor:f,directory:u,rawExtraField:m,encryptionStrength:w,extendedTimestamp:x}=e,g=0!==l&&!u,v=!!(o&&Gi(o)||s&&Gi(s));let b,y,_,k,z=e.version;if(v&&!d){b=new p(Gi(Ei)+2);const e=Mi(b);Pi(e,0,39169),Bi(b,Ei,2),Ni(e,8,w)}else b=new p;if(x){_=new p(9+(r?4:0)+(i?4:0));const e=Mi(_);Pi(e,0,Ye),Pi(e,2,Gi(_)-4),k=1+(r?2:0)+(i?4:0),Ni(e,4,k);let t=5;Li(e,t,a.floor(n.getTime()/1e3)),t+=4,r&&(Li(e,t,a.floor(r.getTime()/1e3)),t+=4),i&&Li(e,t,a.floor(i.getTime()/1e3));try{y=new p(36);const e=Mi(y),t=Ii(n);Pi(e,0,10),Pi(e,2,32),Pi(e,8,1),Pi(e,10,24),Oi(e,12,t),Oi(e,20,Ii(r)||t),Oi(e,28,Ii(i)||t)}catch(e){y=new p}}else y=_=new p;let S=Qe;f&&(S|=8);let D=0;g&&(D=8),c&&(z=z>45?z:45),v&&(S|=1,d||(z=z>51?z:51,D=99,g&&(b[9]=8)));const A=new p(26),C=Mi(A);Pi(C,0,z),Pi(C,2,S),Pi(C,4,D);const F=new h(1),R=Mi(F);let E;E=et>n?et:n>$e?$e:n,Pi(R,0,(E.getHours()<<6|E.getMinutes())<<5|E.getSeconds()/2),Pi(R,2,(E.getFullYear()-1980<<4|E.getMonth()+1)<<5|E.getDate());const j=F[0];Li(C,6,j),Pi(C,22,Gi(t));const T=Gi(b,_,y,m);Pi(C,24,T);const q=new p(30+Gi(t)+T);return Li(Mi(q),0,Be),Bi(q,A,4),Bi(q,t,30),Bi(q,b,30+Gi(t)),Bi(q,_,30+Gi(t,b)),Bi(q,y,30+Gi(t,b,_)),Bi(q,m,30+Gi(t,b,_,y)),{localHeaderArray:q,headerArray:A,headerView:C,lastModDate:n,rawLastModDate:j,encrypted:v,compressed:g,version:z,compressionMethod:D,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:_,rawExtraFieldNTFS:y,rawExtraFieldAES:b,extraFieldLength:T}})(l=n.assign({},l,{rawFilename:f,rawComment:v,version:b,versionMadeBy:y,lastModDate:_,lastAccessDate:k,creationDate:S,rawExtraField:M,zip64:B,zip64UncompressedSize:J,zip64CompressedSize:$,zip64Offset:ee,zip64DiskNumberStart:te,password:F,rawPassword:R,level:L||e.config.CompressionStream!==tt||e.config.CompressionStreamNative!==tt?U:0,useWebWorkers:I,encryptionStrength:E,extendedTimestamp:T,zipCrypto:j,bufferedWrite:W,keepOrder:q,dataDescriptor:O,dataDescriptorSignature:N,signal:P,msDosCompatible:D,internalFileAttribute:A,externalFileAttribute:C,useCompressionStream:L})),re=(e=>{const{zip64:t,dataDescriptor:n,dataDescriptorSignature:r}=e;let i,s=new p,a=0;return n&&(s=new p(t?r?24:20:r?16:12),i=Mi(s),r&&(a=4,Li(i,0,Ge))),{dataDescriptorArray:s,dataDescriptorView:i,dataDescriptorOffset:a}})(l),ie=Gi(ne.localHeaderArray,re.dataDescriptorArray);let se;V=ie+H,e.options.usdz&&(V+=V+64),e.pendingEntriesSize+=V;try{se=await(async(e,r,i,a,o)=>{const{files:l,writer:c}=e,{keepOrder:f,dataDescriptor:m,signal:h}=o,{headerInfo:x}=a,{usdz:v}=e.options,b=t.from(l.values()).pop();let y,_,k,S,D,A,C,F={};l.set(r,F);try{let t;f&&(t=b&&b.lock,F.lock=new g((e=>k=e))),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&f)&&m||v?(A=c,await R()):(A=new z,C=new d(A.readable).blob(),A.writable.size=0,y=!0,e.bufferedWrites++,await _r(c)),await _r(A);const{writable:x}=c;let{diskOffset:_}=c;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Li(Mi(t),0,Me),await Ui(x,t),e.offset+=4}v&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:r,extraFieldLength:i}=n,s=Mi(r),a=64-(t+Gi(r))%64;4>a&&(a+=64);const o=new p(a),l=Mi(o);Pi(l,0,6534),Pi(l,2,a-2);const c=r;n.localHeaderArray=r=new p(Gi(c)+a),Bi(r,c),Bi(r,o,Gi(c)),s=Mi(r),Pi(s,28,i+a),e.metadataSize+=a})(a,e.offset-_),y||(await t,await E(x));const{diskNumber:j}=c;if(D=!0,F.diskNumberStart=j,F=await(async(e,t,{diskNumberStart:r,lock:i},a,o,l)=>{const{headerInfo:c,dataDescriptorInfo:d,metadataSize:f}=a,{localHeaderArray:u,headerArray:m,lastModDate:h,rawLastModDate:w,encrypted:x,compressed:g,version:v,compressionMethod:b,rawExtraFieldExtendedTimestamp:y,extraFieldExtendedTimestampFlag:_,rawExtraFieldNTFS:k,rawExtraFieldAES:z}=c,{dataDescriptorArray:S}=d,{rawFilename:D,lastAccessDate:A,creationDate:C,password:F,rawPassword:R,level:E,zip64:j,zip64UncompressedSize:T,zip64CompressedSize:q,zip64Offset:U,zip64DiskNumberStart:I,zipCrypto:W,dataDescriptor:N,directory:P,versionMadeBy:L,rawComment:O,rawExtraField:B,useWebWorkers:M,onstart:G,onprogress:H,onend:V,signal:Z,encryptionStrength:K,extendedTimestamp:X,msDosCompatible:Y,internalFileAttribute:Q,externalFileAttribute:J,useCompressionStream:$}=l,ee={lock:i,versionMadeBy:L,zip64:j,directory:!!P,filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:O,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:k,rawExtraFieldAES:z,rawExtraField:B,extendedTimestamp:X,msDosCompatible:Y,internalFileAttribute:Q,externalFileAttribute:J,diskNumberStart:r};let te,ne=0,re=0;const{writable:ie}=t;if(e){e.chunkSize=ct(o),await Ui(ie,u);const t=e.readable,n=t.size=e.size,r={options:{codecType:bn,level:E,rawPassword:R,password:F,encryptionStrength:K,zipCrypto:x&&W,passwordVerification:x&&W&&w>>8&255,signed:!0,compressed:g,encrypted:x,useWebWorkers:M,useCompressionStream:$,transferStreams:!1},config:o,streamOptions:{signal:Z,size:n,onstart:G,onprogress:H,onend:V}},i=await In({readable:t,writable:ie},r);re=i.inputSize,ne=i.outputSize,te=i.signature,ie.size+=re}else await Ui(ie,u);let se;if(j){let e=4;T&&(e+=8),q&&(e+=8),U&&(e+=8),I&&(e+=4),se=new p(e)}else se=new p;return((e,t)=>{const{signature:n,rawExtraFieldZip64:r,compressedSize:i,uncompressedSize:a,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:f,dataDescriptorOffset:u}=l,{zip64:p,zip64UncompressedSize:m,zip64CompressedSize:h,zipCrypto:w,dataDescriptor:x}=t;if(d&&!w||n===tt||(Li(c,10,n),x&&Li(f,u,n)),p){const e=Mi(r);Pi(e,0,1),Pi(e,2,Gi(r)-4);let t=4;m&&(Li(c,18,Le),Oi(e,t,s(a)),t+=8),h&&(Li(c,14,Le),Oi(e,t,s(i))),x&&(Oi(f,u+4,s(i)),Oi(f,u+12,s(a)))}else Li(c,14,i),Li(c,18,a),x&&(Li(f,u+4,i),Li(f,u+8,a))})({signature:te,rawExtraFieldZip64:se,compressedSize:ne,uncompressedSize:re,headerInfo:c,dataDescriptorInfo:d},l),N&&await Ui(ie,S),n.assign(ee,{uncompressedSize:re,compressedSize:ne,lastModDate:h,rawLastModDate:w,creationDate:C,lastAccessDate:A,encrypted:x,size:f+ne,compressionMethod:b,version:v,headerArray:m,signature:te,rawExtraFieldZip64:se,extraFieldExtendedTimestampFlag:_,zip64UncompressedSize:T,zip64CompressedSize:q,zip64Offset:U,zip64DiskNumberStart:I}),ee})(i,A,F,a,e.config,o),D=!1,l.set(r,F),F.filename=r,y){await A.writable.getWriter().close();let e=await C;await t,await R(),S=!0,m||(e=await(async(e,t,n,{zipCrypto:r})=>{let i;i=await t.slice(0,26).arrayBuffer(),26!=i.byteLength&&(i=i.slice(0,26));const s=new w(i);return e.encrypted&&!r||Li(s,14,e.signature),e.zip64?(Li(s,18,Le),Li(s,22,Le)):(Li(s,18,e.compressedSize),Li(s,22,e.uncompressedSize)),await Ui(n,new p(i)),t.slice(i.byteLength)})(F,e,x,o)),await E(x),F.diskNumberStart=c.diskNumber,_=c.diskOffset,await e.stream().pipeTo(x,{preventClose:!0,preventAbort:!0,signal:h}),x.size+=e.size,S=!1}if(F.offset=e.offset-_,F.zip64)((e,t)=>{const{rawExtraFieldZip64:n,offset:r,diskNumberStart:i}=e,{zip64UncompressedSize:a,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=Mi(n);let f=4;a&&(f+=8),o&&(f+=8),l&&(Oi(d,f,s(r)),f+=8),c&&Li(d,f,i)})(F,o);else if(F.offset>Le)throw new u(Ri);return e.offset+=F.size,F}catch(t){if(y&&S||!y&&D){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}y?e.offset+=A.writable.size:e.offset=A.writable.size}throw l.delete(r),t}finally{y&&e.bufferedWrites--,k&&k(),_&&_()}async function R(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new g((t=>_=()=>{e.writerLocked=!1,t()})),await t}async function E(e){Gi(x.localHeaderArray)>c.availableSize&&(c.availableSize=0,await Ui(e,new p))}})(e,r,i,{headerInfo:ne,dataDescriptorInfo:re,metadataSize:ie},l)}finally{e.pendingEntriesSize-=V}return n.assign(se,{name:r,comment:x,extraField:G}),new Kr(se)})(l,e,r,i),c.add(x),await x}catch(t){throw l.filenames.delete(e),t}finally{c.delete(x);const e=Ti.shift();e?e():ji--}}async close(e=new p,n={}){const{pendingAddFileCalls:r,writer:i}=this,{writable:o}=i;for(;r.size;)await g.allSettled(t.from(r));return await(async(e,n,r)=>{const{files:i,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,f=0,m=0,h=e.offset-l,w=i.size;for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawComment:i,rawExtraFieldNTFS:s,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let f;if(l){f=new p(9);const e=Mi(f);Pi(e,0,Ye),Pi(e,2,5),Ni(e,4,c),Li(e,5,a.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldCDExtendedTimestamp=f,m+=46+Gi(t,i,n,r,s,f,o)}const x=new p(m),g=Mi(x);await _r(o);let v=0;for(const[e,n]of t.from(i.values()).entries()){const{offset:t,rawFilename:s,rawExtraFieldZip64:a,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:u,rawExtraField:p,rawComment:m,versionMadeBy:h,headerArray:w,directory:b,zip64:y,zip64UncompressedSize:_,zip64CompressedSize:k,zip64DiskNumberStart:z,zip64Offset:S,msDosCompatible:D,internalFileAttribute:A,externalFileAttribute:C,diskNumberStart:F,uncompressedSize:R,compressedSize:E}=n,j=Gi(a,l,d,u,p);Li(g,f,He),Pi(g,f+4,h);const T=Mi(w);_||Li(T,18,R),k||Li(T,14,E),Bi(x,w,f+6),Pi(g,f+30,j),Pi(g,f+32,Gi(m)),Pi(g,f+34,y&&z?Oe:F),Pi(g,f+36,A),C?Li(g,f+38,C):b&&D&&Ni(g,f+38,16),Li(g,f+42,y&&S?Le:t),Bi(x,s,f+46),Bi(x,a,f+46+Gi(s)),Bi(x,l,f+46+Gi(s,a)),Bi(x,d,f+46+Gi(s,a,l)),Bi(x,u,f+46+Gi(s,a,l,d)),Bi(x,p,f+46+Gi(s,a,l,d,u)),Bi(x,m,f+46+Gi(s)+j);const q=46+Gi(s,m)+j;if(f-v>o.availableSize&&(o.availableSize=0,await Ui(c,x.slice(v,f)),v=f),f+=q,r.onprogress)try{await r.onprogress(e+1,i.size,new Kr(n))}catch(e){}}await Ui(c,v?x.slice(v):x);let b=o.diskNumber;const{availableSize:y}=o;Xe>y&&b++;let _=Wi(e,r,"zip64");if(h>Le||m>Le||w>Oe||b>Oe){if(!1===_)throw new u(Ri);_=!0}const k=new p(_?98:Xe),z=Mi(k);f=0,_&&(Li(z,0,Ze),Oi(z,4,s(44)),Pi(z,12,45),Pi(z,14,45),Li(z,16,b),Li(z,20,d),Oi(z,24,s(w)),Oi(z,32,s(w)),Oi(z,40,s(m)),Oi(z,48,s(h)),Li(z,56,Ke),Oi(z,64,s(h)+s(m)),Li(z,72,b+1),Wi(e,r,"supportZip64SplitFile",!0)&&(b=Oe,d=Oe),w=Oe,h=Le,m=Le,f+=76),Li(z,f,Ve),Pi(z,f+4,b),Pi(z,f+6,d),Pi(z,f+8,w),Pi(z,f+10,w),Li(z,f+12,m),Li(z,f+16,h);const S=Gi(n);if(S){if(S>Oe)throw new u(ki);Pi(z,f+20,S)}await Ui(c,k),S&&await Ui(c,n)})(this,e,n),Wi(this,n,"preventClose")||await o.getWriter().close(),i.getData?i.getData():o}}async function Ui(e,t){const n=e.getWriter();try{await n.ready,e.size+=Gi(t),await n.write(t)}finally{n.releaseLock()}}function Ii(e){if(e)return(s(e.getTime())+s(116444736e5))*s(1e4)}function Wi(e,t,n,r){const i=t[n]===tt?e.options[n]:t[n];return i===tt?r:i}function Ni(e,t,n){e.setUint8(t,n)}function Pi(e,t,n){e.setUint16(t,n,!0)}function Li(e,t,n){e.setUint32(t,n,!0)}function Oi(e,t,n){e.setBigUint64(t,n,!0)}function Bi(e,t,n){e.set(t,n)}function Mi(e){return new w(e.buffer)}function Gi(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}class Hi{constructor(e,t,r,i){const s=this;if(e.root&&i&&i.getChildByName(t))throw new u("Entry filename already exists");r||(r={}),n.assign(s,{fs:e,name:t,data:r.data,options:r.options,id:e.entries.length,parent:i,children:[],uncompressedSize:r.uncompressedSize||0}),e.entries.push(s),i&&s.parent.children.push(s)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,n=this.parent;for(;n&&n!=e;)t=(n.name?n.name+"/":"")+t,n=n.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new u("Entry filename already exists");this.name=e}}class Vi extends Hi{constructor(e,t,n,r){super(e,t,n,r);const i=this;i.Reader=n.Reader,i.Writer=n.Writer,n.getData&&(i.getData=n.getData)}clone(){return new Vi(this.fs,this.name,this)}async getData(e,t={}){const n=this;if(!e||e.constructor==n.Writer&&n.data)return n.data;{const r=n.reader=new n.Reader(n.data,t),i=n.data?n.data.uncompressedSize:r.size;await g.all([_r(r),_r(e,i)]);const s=r.readable;return s.size=n.uncompressedSize=r.size,await s.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return this.data.encrypted}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;t.password=e,t.checkPasswordOnly=!0;try{return await n.data.getData(null,t),!0}catch(e){if(e.message==zt)return!1;throw e}}getText(e,t){return this.getData(new rr(e),t)}getBlob(e,t){return this.getData(new tr(e),t)}getData64URI(e,t){return this.getData(new $n(e),t)}getUint8Array(e){return this.getData(new vr,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}replaceBlob(e){n.assign(this,{data:e,Reader:er,Writer:tr,reader:null})}replaceText(e){n.assign(this,{data:e,Reader:nr,Writer:rr,reader:null})}replaceData64URI(e){n.assign(this,{data:e,Reader:Jn,Writer:$n,reader:null})}replaceUint8Array(e){n.assign(this,{data:e,Reader:gr,Writer:vr,reader:null})}replaceReadable(e){n.assign(this,{data:null,Reader:()=>({readable:e}),Writer:null,reader:null})}}class Zi extends Hi{constructor(e,t,n,r){super(e,t,n,r),this.directory=!0}clone(e){const t=this,n=new Zi(t.fs,t.name);return e&&(n.children=t.children.map((t=>{const r=t.clone(e);return r.parent=n,r}))),n}addDirectory(e,t){return ts(this,e,{options:t},!0)}addText(e,t,n={}){return ts(this,e,{data:t,Reader:nr,Writer:rr,options:n,uncompressedSize:t.length})}addBlob(e,t,n={}){return ts(this,e,{data:t,Reader:er,Writer:tr,options:n,uncompressedSize:t.size})}addData64URI(e,t,n={}){let r=t.length;for(;"="==t.charAt(r-1);)r--;const i=t.indexOf(",")+1;return ts(this,e,{data:t,Reader:Jn,Writer:$n,options:n,uncompressedSize:a.floor(.75*(r-i))})}addUint8Array(e,t,n={}){return ts(this,e,{data:t,Reader:gr,Writer:vr,options:n,uncompressedSize:t.length})}addHttpContent(e,t,n={}){return ts(this,e,{data:t,Reader:class extends xr{constructor(e){super(e,n)}},options:n})}addReadable(e,t,n={}){return ts(this,e,{Reader:()=>({readable:t}),options:n})}addFileSystemEntry(e,t={}){return Ji(this,e,t)}addFileSystemHandle(e,t={}){return Ji(this,e,t)}addFile(e,t={}){return t.lastModDate||(t.lastModDate=new o(e.lastModified)),ts(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}addData(e,t){return ts(this,e,t)}importBlob(e,t){return this.importZip(new er(e),t)}importData64URI(e,t){return this.importZip(new Jn(e),t)}importUint8Array(e,t){return this.importZip(new gr(e),t)}importHttpContent(e,t){return this.importZip(new xr(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new tr(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new $n(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new vr,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}async importZip(e,t={}){await _r(e);const r=new ci(e,t),i=[],s=await r.getEntries();for(const e of s){let r=this;try{const s=e.filename.split("/"),a=s.pop();s.forEach(((t,n)=>{const a=r;r=r.getChildByName(t),r||(r=new Zi(this.fs,t,{data:n==s.length-1?e:null},a),i.push(r))})),e.directory||i.push(ts(r,a,{data:e,Reader:Xi(n.assign({},t)),uncompressedSize:e.uncompressedSize}))}catch(t){try{t.cause={entry:e}}catch(e){}throw t}}return i}async exportZip(e,r){const i=this;r.bufferedWrite===tt&&(r.bufferedWrite=!0),await g.all([Yi(i,r.readerOptions),_r(e)]);const s=new qi(e,r);return await(async(e,r,i,s)=>{const a=r,o=new l;await async function e(r,l){async function c(l){const c=s.relativePath?l.getRelativeName(a):l.getFullname();let d=l.options||{},f={};if(l.data instanceof Kr){const{externalFileAttribute:e,versionMadeBy:t,comment:n,lastModDate:r,creationDate:i,lastAccessDate:s}=l.data;f={externalFileAttribute:e,versionMadeBy:t,comment:n,lastModDate:r,creationDate:i,lastAccessDate:s}}await r.add(c,l.reader,n.assign({directory:l.directory},n.assign({},s,f,d,{onprogress:async e=>{if(s.onprogress){o.set(c,e);try{await s.onprogress(t.from(o.values()).reduce(((e,t)=>e+t)),i)}catch(e){}}}}))),await e(r,l)}await(async()=>{if(s.bufferedWrite)await g.allSettled(l.children.map(c));else for(const e of l.children)await c(e)})()}(e,r)})(s,i,(e=>{let t=0;return e.forEach((function e(n){t+=n.uncompressedSize,n.children&&n.children.forEach(e)})),t})([i]),r),await s.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let n=0;nn.checkPassword(e,t))))).includes(!1)}}const Ki={FS:class{constructor(){es(this)}get children(){return this.root.children}remove(e){Qi(e),this.entries[e.id]=null}move(e,t){if(e==this.root)throw new u("Root directory cannot be moved");if(!t.directory)throw new u("Target entry is not a directory");if(t.isDescendantOf(e))throw new u("Entry is a ancestor of target entry");if(e!=t){if(t.getChildByName(e.name))throw new u("Entry filename already exists");Qi(e),e.parent=t,t.children.push(e)}}find(e){const t=e.split("/");let n=this.root;for(let e=0;n&&e{if(e.directory)await Yi(e,t);else{const n=e.reader=new e.Reader(e.data,t);try{await _r(n)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch(e){}throw t}e.uncompressedSize=n.size}})))}function Qi(e){if(e.parent){const t=e.parent.children;t.forEach(((n,r)=>{n.id==e.id&&t.splice(r,1)}))}}async function Ji(e,t,r){return async function e(t,i,s){if(i)try{if((i.isFile||i.isDirectory)&&(i=await $i(i)),"file"==i.kind){const e=await i.getFile();s.push(t.addData(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:n.assign({},{lastModDate:new o(e.lastModified)},r),uncompressedSize:e.size}))}else if("directory"==i.kind){const n=t.addDirectory(i.name);s.push(n);for await(const t of i.values())await e(n,t,s)}}catch(e){const t=e.message+(i?" ("+i.name+")":"");throw new u(t)}return s}(e,t,[])}async function $i(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g(((t,n)=>e.file(t,n)))),e.isDirectory){t.kind="directory";const n=await(async e=>{const t=[];function n(e,r,i){e.readEntries((async s=>{if(s.length){for(const e of s)t.push(await $i(e));n(e,r,i)}else r(t)}),i)}return await new g(((t,r)=>n(e.createReader(),t,r))),{[Symbol.iterator](){let e=0;return{next(){const n={value:t[e],done:e===t.length};return e++,n}}}}})(e);t.values=()=>n}return t}function es(e){e.entries=[],e.root=new Zi(e)}function ts(e,t,n,r){if(e.directory)return r?new Zi(e.fs,t,n,e):new Vi(e.fs,t,n,e);throw new u("Parent entry is not a directory")}let ns;try{ns=void 0===y&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===y?location.href:E&&E.src||new f("zip-fs-full.min.js",y.baseURI).href}catch(e){}dt({baseURL:ns}),((e,t={})=>{const n='const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:i,Uint16Array:o,Uint32Array:c,Int32Array:f,Map:a,DataView:l,Promise:u,TextEncoder:w,crypto:h,postMessage:d,TransformStream:p,ReadableStream:y,WritableStream:m,CompressionStream:b,DecompressionStream:g}=self,k=void 0,v="undefined",S="function";class z{constructor(e){return class extends p{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const C=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;C[e]=t}class x{constructor(e){this.t=e||-1}append(e){let t=0|this.t;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^C[255&(t^e[n])];this.t=t}get(){return~this.t}}class A extends p{constructor(){let e;const t=new x;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new i(4);new l(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const _={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=_.i(n);return 32===r?e.concat(t):_.o(t,r,0|n,e.slice(0,e.length-1))},l(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+_.i(n)},u(e,t){if(32*e.length0&&t&&(e[n-1]=_.h(t,e[n-1]&2147483648>>t-1,1)),e},h:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,i:e=>r.round(e/1099511627776)||32,o(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=_.i(s);return r.push(_.h(t+i&31,t+i>32?n:r.pop(),1)),r}},I={p:{m(e){const t=_.l(e)/8,n=new i(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},k(e){const t=[];let n,r=0;for(n=0;n9007199254740991)throw new s("Cannot hash more than 2^53 - 1 bits");const o=new c(n);let f=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t.P(o.subarray(16*f,16*(f+1))),f+=1;return n.splice(0,16*f),t}D(){const e=this;let t=e.A;const n=e.C;t=_.concat(t,[_.h(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e._/4294967296)),t.push(0|e._);t.length;)e.P(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}R(e,t){return t<>>32-e}P(t){const n=this,s=n.C,i=e(80);for(let e=0;16>e;e++)i[e]=t[e];let o=s[0],c=s[1],f=s[2],a=s[3],l=s[4];for(let e=0;79>=e;e++){16>e||(i[e]=n.R(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n.R(5,o)+n.V(e,c,f,a)+l+i[e]+n.S[r.floor(e/20)]|0;l=a,a=f,f=n.R(30,c),c=o,o=t}s[0]=s[0]+o|0,s[1]=s[1]+c|0,s[2]=s[2]+f|0,s[3]=s[3]+a|0,s[4]=s[4]+l|0}},D={getRandomValues(e){const t=new c(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,i=0;inew V.B(I.p.k(e)),M(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s("invalid params to pbkdf2");const i=1+(r>>5)<<2;let o,c,f,a,u;const w=new ArrayBuffer(i),h=new l(w);let d=0;const p=_;for(t=I.p.k(t),u=1;(i||1)>d;u++){for(o=c=e.encrypt(p.concat(t,[u])),f=1;n>f;f++)for(c=e.encrypt(c),a=0;ad&&fs&&(e=(new n).update(e).D());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.K[0].update(r[0]),t.K[1].update(r[1]),t.N=new n(t.K[0])}reset(){const e=this;e.N=new e.U(e.K[0]),e.O=!1}update(e){this.O=!0,this.N.update(e)}digest(){const e=this,t=e.N.D(),n=new e.U(e.K[1]).update(t).D();return e.reset(),n}encrypt(e){if(this.O)throw new s("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof h!=v&&typeof h.getRandomValues==S,B="Invalid password",E="Invalid signature",M="zipjs-abort-check-password";function U(e){return R?h.getRandomValues(e):D.getRandomValues(e)}const K=16,N={name:"PBKDF2"},O=t.assign({hash:{name:"HMAC"}},N),T=t.assign({iterations:1e3,hash:{name:"SHA-1"}},N),W=["deriveBits"],j=[8,12,16],H=[16,24,32],L=10,F=[0,0,0,0],q=typeof h!=v,G=q&&h.subtle,J=q&&typeof G!=v,Q=I.p,X=class{constructor(e){const t=this;t.T=[[[],[],[],[],[]],[[],[],[],[],[]]],t.T[0][0][0]||t.W();const n=t.T[0][4],r=t.T[1],i=e.length;let o,c,f,a=1;if(4!==i&&6!==i&&8!==i)throw new s("invalid aes key size");for(t.S=[c=e.slice(0),f=[]],o=i;4*i+28>o;o++){let e=c[o-1];(o%i==0||8===i&&o%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%i==0&&(e=e<<8^e>>>24^a<<24,a=a<<1^283*(a>>7))),c[o]=c[o-i]^e}for(let e=0;o;e++,o--){const t=c[3&e?o:o-4];f[e]=4>=o||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}W(){const e=this.T[0],t=this.T[1],n=e[4],r=t[4],s=[],i=[];let o,c,f,a;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!n[l];l^=c||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,a=s[f=s[c=s[l]]];let u=16843009*a^65537*f^257*c^16843008*l,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][l]=w=w<<24^w>>>8,t[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new s("invalid aes block size");const n=this.S[t],r=n.length/4-2,i=[0,0,0,0],o=this.T[t],c=o[0],f=o[1],a=o[2],l=o[3],u=o[4];let w,h,d,p=e[0]^n[0],y=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)w=c[p>>>24]^f[y>>16&255]^a[m>>8&255]^l[255&b]^n[g],h=c[y>>>24]^f[m>>16&255]^a[b>>8&255]^l[255&p]^n[g+1],d=c[m>>>24]^f[b>>16&255]^a[p>>8&255]^l[255&y]^n[g+2],b=c[b>>>24]^f[p>>16&255]^a[y>>8&255]^l[255&m]^n[g+3],g+=4,p=w,y=h,m=d;for(let e=0;4>e;e++)i[t?3&-e:e]=u[p>>>24]<<24^u[y>>16&255]<<16^u[m>>8&255]<<8^u[255&b]^n[g++],w=p,p=y,y=m,m=b,b=w;return i}},Y=class{constructor(e,t){this.H=e,this.L=t,this.F=t}reset(){this.F=this.L}update(e){return this.q(this.H,e,this.F)}G(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}J(e){0===(e[0]=this.G(e[0]))&&(e[1]=this.G(e[1]))}q(e,t,n){let r;if(!(r=t.length))return[];const s=_.l(t);for(let s=0;r>s;s+=4){this.J(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return _.u(t,s)}},Z=V.B;let $=q&&J&&typeof G.importKey==S,ee=q&&J&&typeof G.deriveBits==S;class te extends p{constructor({password:e,rawPassword:n,signed:r,encryptionStrength:o,checkPasswordOnly:c}){super({start(){t.assign(this,{ready:new u((e=>this.X=e)),password:ie(e,n),signed:r,Y:o-1,pending:new i})},async transform(e,t){const n=this,{password:r,Y:o,X:f,ready:a}=n;r?(await(async(e,t,n,r)=>{const i=await se(e,t,n,ce(r,0,j[t])),o=ce(r,j[t]);if(i[0]!=o[0]||i[1]!=o[1])throw new s(B)})(n,o,r,ce(e,0,j[o]+2)),e=ce(e,j[o]+2),c?t.error(new s(M)):f()):await a;const l=new i(e.length-L-(e.length-L)%K);t.enqueue(re(n,e,l,0,L,!0))},async flush(e){const{signed:t,Z:n,$:r,pending:o,ready:c}=this;if(r&&n){await c;const f=ce(o,0,o.length-L),a=ce(o,o.length-L);let l=new i;if(f.length){const e=ae(Q,f);r.update(e);const t=n.update(e);l=fe(Q,t)}if(t){const e=ce(fe(Q,r.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=a[t])throw new s(E)}e.enqueue(l)}}})}}class ne extends p{constructor({password:e,rawPassword:n,encryptionStrength:r}){let s;super({start(){t.assign(this,{ready:new u((e=>this.X=e)),password:ie(e,n),Y:r-1,pending:new i})},async transform(e,t){const n=this,{password:r,Y:s,X:o,ready:c}=n;let f=new i;r?(f=await(async(e,t,n)=>{const r=U(new i(j[t]));return oe(r,await se(e,t,n,r))})(n,s,r),o()):await c;const a=new i(f.length+e.length-e.length%K);a.set(f,0),t.enqueue(re(n,e,a,f.length,0))},async flush(e){const{Z:t,$:n,pending:r,ready:o}=this;if(n&&t){await o;let c=new i;if(r.length){const e=t.update(ae(Q,r));n.update(e),c=fe(Q,e)}s.signature=fe(Q,n.digest()).slice(0,L),e.enqueue(oe(c,s.signature))}}}),s=this}}function re(e,t,n,r,s,o){const{Z:c,$:f,pending:a}=e,l=t.length-s;let u;for(a.length&&(t=oe(a,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new i(t)).set(n,0)}return e})(n,l-l%K)),u=0;l-K>=u;u+=K){const e=ae(Q,ce(t,u,u+K));o&&f.update(e);const s=c.update(e);o||f.update(s),n.set(fe(Q,s),u+r)}return e.pending=ce(t,u),n}async function se(n,r,s,o){n.password=null;const c=await(async(e,t,n,r,s)=>{if(!$)return V.importKey(t);try{return await G.importKey("raw",t,n,!1,s)}catch(e){return $=!1,V.importKey(t)}})(0,s,O,0,W),f=await(async(e,t,n)=>{if(!ee)return V.M(t,e.salt,T.iterations,n);try{return await G.deriveBits(e,t,n)}catch(r){return ee=!1,V.M(t,e.salt,T.iterations,n)}})(t.assign({salt:o},T),c,8*(2*H[r]+2)),a=new i(f),l=ae(Q,ce(a,0,H[r])),u=ae(Q,ce(a,H[r],2*H[r])),w=ce(a,2*H[r]);return t.assign(n,{keys:{key:l,ee:u,passwordVerification:w},Z:new Y(new X(l),e.from(F)),$:new Z(u)}),w}function ie(e,t){return t===k?(e=>{if(typeof w==v){const t=new i((e=unescape(encodeURIComponent(e))).length);for(let n=0;n>>24]),i=~e.ne.get(),e.keys=[n,s,i]}function ye(e){const t=2|e.keys[2];return me(r.imul(t,1^t)>>>8)}function me(e){return 255&e}function be(e){return 4294967295&e}const ge="deflate-raw";class ke extends p{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:o,zipCrypto:c,signed:f,level:a}=e,u=this;let w,h,d=Se(super.readable);i&&!c||!f||(w=new A,d=xe(d,w)),s&&(d=Ce(d,o,{level:a,chunkSize:t},r,n)),i&&(c?d=xe(d,new ue(e)):(h=new ne(e),d=xe(d,h))),ze(u,d,(()=>{let e;i&&!c&&(e=h.signature),i&&!c||!f||(e=new l(w.value.buffer).getUint32(0)),u.signature=e}))}}class ve extends p{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:o,signed:c,signature:f,compressed:a,useCompressionStream:u}=e;let w,h,d=Se(super.readable);o&&(i?d=xe(d,new le(e)):(h=new te(e),d=xe(d,h))),a&&(d=Ce(d,u,{chunkSize:t},r,n)),o&&!i||!c||(w=new A,d=xe(d,w)),ze(this,d,(()=>{if((!o||i)&&c){const e=new l(w.value.buffer);if(f!=e.getUint32(0,!1))throw new s(E)}}))}}function Se(e){return xe(e,new p({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ze(e,n,r){n=xe(n,new p({flush:r})),t.defineProperty(e,"readable",{get:()=>n})}function Ce(e,t,n,r,s){try{e=xe(e,new(t&&r?r:s)(ge,n))}catch(r){if(!t)return e;try{e=xe(e,new s(ge,n))}catch(t){return e}}return e}function xe(e,t){return e.pipeThrough(t)}const Ae="data",_e="close";class Ie extends p{constructor(e,n){super({});const r=this,{codecType:s}=e;let i;s.startsWith("deflate")?i=ke:s.startsWith("inflate")&&(i=ve);let o=0,c=0;const f=new i(e,n),a=super.readable,l=new p({transform(e,t){e&&e.length&&(c+=e.length,t.enqueue(e))},flush(){t.assign(r,{inputSize:c})}}),u=new p({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=f;t.assign(r,{signature:e,outputSize:o,inputSize:c})}});t.defineProperty(r,"readable",{get:()=>a.pipeThrough(l).pipeThrough(f).pipeThrough(u)})}}class Pe extends p{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new i(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}const De=new a,Ve=new a;let Re,Be=0,Ee=!0;async function Me(e){try{const{options:t,scripts:r,config:s}=e;if(r&&r.length)try{Ee?importScripts.apply(k,r):await Ue(r)}catch(e){Ee=!1,await Ue(r)}self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new z(self.Deflate)),self.Inflate&&(s.DecompressionStream=new z(self.Inflate));const i={highWaterMark:1},o=e.readable||new y({async pull(e){const t=new u((e=>De.set(Be,e)));Ke({type:"pull",messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},i),c=e.writable||new m({async write(e){let t;const r=new u((e=>t=e));Ve.set(Be,t),Ke({type:Ae,value:e,messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER,await r}},i),f=new Ie(t,s);Re=new AbortController;const{signal:a}=Re;await o.pipeThrough(f).pipeThrough(new Pe(s.chunkSize)).pipeTo(c,{signal:a,preventClose:!0,preventAbort:!0}),await c.getWriter().close();const{signature:l,inputSize:w,outputSize:h}=f;Ke({type:_e,result:{signature:l,inputSize:w,outputSize:h}})}catch(e){Ne(e)}}async function Ue(e){for(const t of e)await import(t)}function Ke(e){let{value:t}=e;if(t)if(t.length)try{t=new i(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ne(e=new s("Unknown error")){const{message:t,stack:n,code:r,name:i}=e;d({error:{message:t,stack:n,code:r,name:i}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if("start"==t&&Me(e),t==Ae){const e=De.get(n);De.delete(n),e({value:new i(r),done:s})}if("ack"==t){const e=Ve.get(n);Ve.delete(n),e()}t==_e&&Re.abort()}catch(e){Ne(e)}}));const Oe=15,Te=573,We=-2;function je(t){return He(t.map((([t,n])=>new e(t).fill(n,0,t))))}function He(t){return t.reduce(((t,n)=>t.concat(e.isArray(n)?He(n):n)),[])}const Le=[0,1,2,3].concat(...je([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Fe(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.re=n=>{const s=e.se,i=e.oe.ie,o=e.oe.ce;let c,f,a,l=-1;for(n.fe=0,n.ae=Te,c=0;o>c;c++)0!==s[2*c]?(n.le[++n.fe]=l=c,n.ue[c]=0):s[2*c+1]=0;for(;2>n.fe;)a=n.le[++n.fe]=2>l?++l:0,s[2*a]=1,n.ue[a]=0,n.we--,i&&(n.he-=i[2*a+1]);for(e.de=l,c=r.floor(n.fe/2);c>=1;c--)n.pe(s,c);a=o;do{c=n.le[1],n.le[1]=n.le[n.fe--],n.pe(s,1),f=n.le[1],n.le[--n.ae]=c,n.le[--n.ae]=f,s[2*a]=s[2*c]+s[2*f],n.ue[a]=r.max(n.ue[c],n.ue[f])+1,s[2*c+1]=s[2*f+1]=a,n.le[1]=a++,n.pe(s,1)}while(n.fe>=2);n.le[--n.ae]=n.le[1],(t=>{const n=e.se,r=e.oe.ie,s=e.oe.ye,i=e.oe.me,o=e.oe.be;let c,f,a,l,u,w,h=0;for(l=0;Oe>=l;l++)t.ge[l]=0;for(n[2*t.le[t.ae]+1]=0,c=t.ae+1;Te>c;c++)f=t.le[c],l=n[2*n[2*f+1]+1]+1,l>o&&(l=o,h++),n[2*f+1]=l,f>e.de||(t.ge[l]++,u=0,i>f||(u=s[f-i]),w=n[2*f],t.we+=w*(l+u),r&&(t.he+=w*(r[2*f+1]+u)));if(0!==h){do{for(l=o-1;0===t.ge[l];)l--;t.ge[l]--,t.ge[l+1]+=2,t.ge[o]--,h-=2}while(h>0);for(l=o;0!==l;l--)for(f=t.ge[l];0!==f;)a=t.le[--c],a>e.de||(n[2*a+1]!=l&&(t.we+=(l-n[2*a+1])*n[2*a],n[2*a+1]=l),f--)}})(n),((e,n,r)=>{const s=[];let i,o,c,f=0;for(i=1;Oe>=i;i++)s[i]=f=f+r[i-1]<<1;for(o=0;n>=o;o++)c=e[2*o+1],0!==c&&(e[2*o]=t(s[c]++,c))})(s,e.de,n.ge)}}function qe(e,t,n,r,s){const i=this;i.ie=e,i.ye=t,i.me=n,i.ce=r,i.be=s}Fe.ke=[0,1,2,3,4,5,6,7].concat(...je([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),Fe.ve=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],Fe.Se=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],Fe.ze=e=>256>e?Le[e]:Le[256+(e>>>7)],Fe.Ce=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Fe.xe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Fe.Ae=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Fe._e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const Ge=je([[144,8],[112,9],[24,7],[8,8]]);qe.Ie=He([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,Ge[t]])));const Je=je([[30,5]]);function Qe(e,t,n,r,s){const i=this;i.Pe=e,i.De=t,i.Ve=n,i.Re=r,i.Be=s}qe.Ee=He([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,Je[t]]))),qe.Me=new qe(qe.Ie,Fe.Ce,257,286,Oe),qe.Ue=new qe(qe.Ee,Fe.xe,0,30,Oe),qe.Ke=new qe(null,Fe.Ae,0,19,7);const Xe=[new Qe(0,0,0,0,0),new Qe(4,4,8,4,1),new Qe(4,5,16,8,1),new Qe(4,6,32,32,1),new Qe(4,4,16,16,2),new Qe(8,16,32,32,2),new Qe(8,16,128,128,2),new Qe(8,32,128,256,2),new Qe(32,128,258,1024,2),new Qe(32,258,258,4096,2)],Ye=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Ze=113,$e=666,et=262;function tt(e,t,n,r){const s=e[2*t],i=e[2*n];return i>s||s==i&&r[t]<=r[n]}function nt(){const e=this;let t,n,s,c,f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z,C,x,A,_,I,P,D,V,R,B,E,M,U;const K=new Fe,N=new Fe,O=new Fe;let T,W,j,H,L,F;function q(){let t;for(t=0;286>t;t++)E[2*t]=0;for(t=0;30>t;t++)M[2*t]=0;for(t=0;19>t;t++)U[2*t]=0;E[512]=1,e.we=e.he=0,W=j=0}function G(e,t){let n,r=-1,s=e[1],i=0,o=7,c=4;0===s&&(o=138,c=3),e[2*(t+1)+1]=65535;for(let f=0;t>=f;f++)n=s,s=e[2*(f+1)+1],++ii?U[2*n]+=i:0!==n?(n!=r&&U[2*n]++,U[32]++):i>10?U[36]++:U[34]++,i=0,r=n,0===s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4))}function J(t){e.Ne[e.pending++]=t}function Q(e){J(255&e),J(e>>>8&255)}function X(e,t){let n;const r=t;F>16-r?(n=e,L|=n<>>16-F,F+=r-16):(L|=e<=n;n++)if(r=i,i=e[2*(n+1)+1],++o>=c||r!=i){if(f>o)do{Y(r,U)}while(0!=--o);else 0!==r?(r!=s&&(Y(r,U),o--),Y(16,U),X(o-3,2)):o>10?(Y(18,U),X(o-11,7)):(Y(17,U),X(o-3,3));o=0,s=r,0===i?(c=138,f=3):r==i?(c=6,f=3):(c=7,f=4)}}function $(){16==F?(Q(L),L=0,F=0):8>F||(J(255&L),L>>>=8,F-=8)}function ee(t,n){let s,i,o;if(e.Oe[W]=t,e.Te[W]=255&n,W++,0===t?E[2*n]++:(j++,t--,E[2*(Fe.ke[n]+256+1)]++,M[2*Fe.ze(t)]++),!(8191&W)&&D>2){for(s=8*W,i=C-k,o=0;30>o;o++)s+=M[2*o]*(5+Fe.xe[o]);if(s>>>=3,jc);Y(256,t),H=t[513]}function ne(){F>8?Q(L):F>0&&J(255&L),L=0,F=0}function re(t,n,r){X(0+(r?1:0),3),((t,n)=>{ne(),H=8,Q(n),Q(~n),e.Ne.set(u.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function se(n){((t,n,r)=>{let s,i,o=0;D>0?(K.re(e),N.re(e),o=(()=>{let t;for(G(E,K.de),G(M,N.de),O.re(e),t=18;t>=3&&0===U[2*Fe._e[t]+1];t--);return e.we+=14+3*(t+1),t})(),s=e.we+3+7>>>3,i=e.he+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==t?i==s?(X(2+(r?1:0),3),te(qe.Ie,qe.Ee)):(X(4+(r?1:0),3),((e,t,n)=>{let r;for(X(e-257,5),X(t-1,5),X(n-4,4),r=0;n>r;r++)X(U[2*Fe._e[r]+1],3);Z(E,e-1),Z(M,t-1)})(K.de+1,N.de+1,o+1),te(E,M)):re(t,n,r),q(),r&&ne()})(0>k?-1:k,C-k,n),k=C,t.We()}function ie(){let e,n,r,s;do{if(s=w-A-C,0===s&&0===C&&0===A)s=f;else if(-1==s)s--;else if(C>=f+f-et){u.set(u.subarray(f,f+f),0),x-=f,C-=f,k-=f,e=y,r=e;do{n=65535&d[--r],d[r]=f>n?0:n-f}while(0!=--e);e=f,r=e;do{n=65535&h[--r],h[r]=f>n?0:n-f}while(0!=--e);s+=f}if(0===t.je)return;e=t.He(u,C+A,s),A+=e,3>A||(p=255&u[C],p=(p<A&&0!==t.je)}function oe(e){let t,n,r=I,s=C,i=_;const o=C>f-et?C-(f-et):0;let c=B;const a=l,w=C+258;let d=u[s+i-1],p=u[s+i];R>_||(r>>=2),c>A&&(c=A);do{if(t=e,u[t+i]==p&&u[t+i-1]==d&&u[t]==u[s]&&u[++t]==u[s+1]){s+=2,t++;do{}while(u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&w>s);if(n=258-(w-s),s=w-258,n>i){if(x=e,i=n,n>=c)break;d=u[s+i-1],p=u[s+i]}}}while((e=65535&h[e&a])>o&&0!=--r);return i>A?A:i}e.ue=[],e.ge=[],e.le=[],E=[],M=[],U=[],e.pe=(t,n)=>{const r=e.le,s=r[n];let i=n<<1;for(;i<=e.fe&&(i(W||(W=8),j||(j=8),G||(G=0),t.Fe=null,-1==S&&(S=6),1>j||j>9||8!=W||9>x||x>15||0>S||S>9||0>G||G>2?We:(t.qe=e,a=x,f=1<(t.Ge=t.Je=0,t.Fe=null,e.pending=0,e.Qe=0,n=Ze,c=0,K.se=E,K.oe=qe.Me,N.se=M,N.oe=qe.Ue,O.se=U,O.oe=qe.Ke,L=0,F=0,H=8,q(),(()=>{w=2*f,d[y-1]=0;for(let e=0;y-1>e;e++)d[e]=0;P=Xe[D].De,R=Xe[D].Pe,B=Xe[D].Ve,I=Xe[D].Re,C=0,k=0,A=0,v=_=2,z=0,p=0})(),0))(t))),e.Xe=()=>42!=n&&n!=Ze&&n!=$e?We:(e.Te=null,e.Oe=null,e.Ne=null,d=null,h=null,u=null,e.qe=null,n==Ze?-3:0),e.Ye=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?We:(Xe[D].Be!=Xe[t].Be&&0!==e.Ge&&(r=e.Ze(1)),D!=t&&(D=t,P=Xe[D].De,R=Xe[D].Pe,B=Xe[D].Ve,I=Xe[D].Re),V=n,r)},e.$e=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return We;if(3>i)return 0;for(i>f-et&&(i=f-et,o=r-i),u.set(t.subarray(o,o+i),0),C=i,k=i,p=255&u[0],p=(p<=s;s++)p=(p<{let o,w,m,I,R;if(i>4||0>i)return We;if(!r.et||!r.tt&&0!==r.je||n==$e&&4!=i)return r.Fe=Ye[4],We;if(0===r.nt)return r.Fe=Ye[7],-5;var B;if(t=r,I=c,c=i,42==n&&(w=8+(a-8<<4)<<8,m=(D-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==C&&(w|=32),w+=31-w%31,n=Ze,J((B=w)>>8&255),J(255&B)),0!==e.pending){if(t.We(),0===t.nt)return c=-1,0}else if(0===t.je&&I>=i&&4!=i)return t.Fe=Ye[7],-5;if(n==$e&&0!==t.je)return r.Fe=Ye[7],-5;if(0!==t.je||0!==A||0!=i&&n!=$e){switch(R=-1,Xe[D].Be){case 0:R=(e=>{let n,r=65535;for(r>s-5&&(r=s-5);;){if(1>=A){if(ie(),0===A&&0==e)return 0;if(0===A)break}if(C+=A,A=0,n=k+r,(0===C||C>=n)&&(A=C-n,C=n,se(!1),0===t.nt))return 0;if(C-k>=f-et&&(se(!1),0===t.nt))return 0}return se(4==e),0===t.nt?4==e?2:0:4==e?3:1})(i);break;case 1:R=(e=>{let n,r=0;for(;;){if(et>A){if(ie(),et>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<f-et||2!=V&&(v=oe(r)),3>v)n=ee(0,255&u[C]),A--,C++;else if(n=ee(C-x,v-3),A-=v,v>P||3>A)C+=v,v=0,p=255&u[C],p=(p<{let n,r,s=0;for(;;){if(et>A){if(ie(),et>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<_&&f-et>=(C-s&65535)&&(2!=V&&(v=oe(s)),5>=v&&(1==V||3==v&&C-x>4096)&&(v=2)),3>_||v>_)if(0!==z){if(n=ee(0,255&u[C-1]),n&&se(!1),C++,A--,0===t.nt)return 0}else z=1,C++,A--;else{r=C+A-3,n=ee(C-1-S,_-3),A-=_-1,_-=2;do{++C>r||(p=(p<1+H+10-F&&(X(2,3),Y(256,qe.Ie),$()),H=7;else if(re(0,0,!1),3==i)for(o=0;y>o;o++)d[o]=0;if(t.We(),0===t.nt)return c=-1,0}}return 4!=i?0:1}}function rt(){const e=this;e.rt=0,e.st=0,e.je=0,e.Ge=0,e.nt=0,e.Je=0}function st(e){const t=new rt,n=(o=e&&e.chunkSize?e.chunkSize:65536)+5*(r.floor(o/16383)+1);var o;const c=new i(n);let f=e?e.level:-1;void 0===f&&(f=-1),t.Le(f),t.et=c,this.append=(e,r)=>{let o,f,a=0,l=0,u=0;const w=[];if(e.length){t.rt=0,t.tt=e,t.je=e.length;do{if(t.st=0,t.nt=n,o=t.Ze(0),0!=o)throw new s("deflating: "+t.Fe);t.st&&(t.st==n?w.push(new i(c)):w.push(c.subarray(0,t.st))),u+=t.st,r&&t.rt>0&&t.rt!=a&&(r(t.rt),a=t.rt)}while(t.je>0||0===t.nt);return w.length>1?(f=new i(u),w.forEach((e=>{f.set(e,l),l+=e.length}))):f=w[0]?new i(w[0]):new i,f}},this.flush=()=>{let e,r,o=0,f=0;const a=[];do{if(t.st=0,t.nt=n,e=t.Ze(4),1!=e&&0!=e)throw new s("deflating: "+t.Fe);n-t.nt>0&&a.push(c.slice(0,t.st)),f+=t.st}while(t.je>0||0===t.nt);return t.Xe(),r=new i(f),a.forEach((e=>{r.set(e,o),o+=e.length})),r}}rt.prototype={Le(e,t){const n=this;return n.qe=new nt,t||(t=Oe),n.qe.Le(n,e,t)},Ze(e){const t=this;return t.qe?t.qe.Ze(t,e):We},Xe(){const e=this;if(!e.qe)return We;const t=e.qe.Xe();return e.qe=null,t},Ye(e,t){const n=this;return n.qe?n.qe.Ye(n,e,t):We},$e(e,t){const n=this;return n.qe?n.qe.$e(n,e,t):We},He(e,t,n){const r=this;let s=r.je;return s>n&&(s=n),0===s?0:(r.je-=s,e.set(r.tt.subarray(r.rt,r.rt+s),t),r.rt+=s,r.Ge+=s,s)},We(){const e=this;let t=e.qe.pending;t>e.nt&&(t=e.nt),0!==t&&(e.et.set(e.qe.Ne.subarray(e.qe.Qe,e.qe.Qe+t),e.st),e.st+=t,e.qe.Qe+=t,e.Je+=t,e.nt-=t,e.qe.pending-=t,0===e.qe.pending&&(e.qe.Qe=0))}};const it=0,ot=1,ct=-2,ft=-3,at=-4,lt=-5,ut=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],wt=1440,ht=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],dt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],pt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],yt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],mt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],bt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gt=15;function kt(){let e,t,n,r,s,i;function o(e,t,o,c,f,a,l,u,w,h,d){let p,y,m,b,g,k,v,S,z,C,x,A,_,I,P;C=0,g=o;do{n[e[t+C]]++,C++,g--}while(0!==g);if(n[0]==o)return l[0]=-1,u[0]=0,it;for(S=u[0],k=1;gt>=k&&0===n[k];k++);for(v=k,k>S&&(S=k),g=gt;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,I=1<k;k++,I<<=1)if(0>(I-=n[k]))return ft;if(0>(I-=n[g]))return ft;for(n[g]+=I,i[1]=k=0,C=1,_=2;0!=--g;)i[_]=k+=n[C],_++,C++;g=0,C=0;do{0!==(k=e[t+C])&&(d[i[k]++]=g),C++}while(++g=v;v++)for(p=n[v];0!=p--;){for(;v>A+S;){if(b++,A+=S,P=m-A,P=P>S?S:P,(y=1<<(k=v-A))>p+1&&(y-=p+1,_=v,P>k))for(;++kn[++_];)y-=n[_];if(P=1<wt)return ft;s[b]=x=h[0],h[0]+=P,0!==b?(i[b]=g,r[0]=k,r[1]=S,k=g>>>A-S,r[2]=x-s[b-1]-k,w.set(r,3*(s[b-1]+k))):l[0]=x}for(r[1]=v-A,o>C?d[C]d[C]?0:96,r[2]=d[C++]):(r[0]=a[d[C]-c]+16+64,r[2]=f[d[C++]-c]):r[0]=192,y=1<>>A;P>k;k+=y)w.set(r,3*(x+k));for(k=1<>>=1)g^=k;for(g^=k,z=(1<c;c++)t[c]=0;for(c=0;gt+1>c;c++)n[c]=0;for(c=0;3>c;c++)r[c]=0;s.set(n.subarray(0,gt),0),i.set(n.subarray(0,gt+1),0)}this.it=(n,r,s,i,f)=>{let a;return c(19),e[0]=0,a=o(n,0,19,19,null,null,s,r,i,e,t),a==ft?f.Fe="oversubscribed dynamic bit lengths tree":a!=lt&&0!==r[0]||(f.Fe="incomplete dynamic bit lengths tree",a=ft),a},this.ot=(n,r,s,i,f,a,l,u,w)=>{let h;return c(288),e[0]=0,h=o(s,0,n,257,pt,yt,a,i,u,e,t),h!=it||0===i[0]?(h==ft?w.Fe="oversubscribed literal/length tree":h!=at&&(w.Fe="incomplete literal/length tree",h=ft),h):(c(288),h=o(s,n,r,0,mt,bt,l,f,u,e,t),h!=it||0===f[0]&&n>257?(h==ft?w.Fe="oversubscribed distance tree":h==lt?(w.Fe="incomplete distance tree",h=ft):h!=at&&(w.Fe="empty distance tree with lengths",h=ft),h):it)}}kt.ct=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=ht,r[0]=dt,it);const vt=0,St=1,zt=2,Ct=3,xt=4,At=5,_t=6,It=7,Pt=8,Dt=9;function Vt(){const e=this;let t,n,r,s,i=0,o=0,c=0,f=0,a=0,l=0,u=0,w=0,h=0,d=0;function p(e,t,n,r,s,i,o,c){let f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z;d=c.rt,p=c.je,w=o.ft,h=o.lt,y=o.write,m=yh;)p--,w|=(255&c.ut(d++))<>=a[z+1],h-=a[z+1],16&u){for(u&=15,k=a[z+2]+(w&ut[u]),w>>=u,h-=u;15>h;)p--,w|=(255&c.ut(d++))<>=a[z+1],h-=a[z+1],16&u){for(u&=15;u>h;)p--,w|=(255&c.ut(d++))<>=u,h-=u,m-=k,v>y){S=y-v;do{S+=o.end}while(0>S);if(u=o.end-S,k>u){if(k-=u,y-S>0&&u>y-S)do{o.wt[y++]=o.wt[S++]}while(0!=--u);else o.wt.set(o.wt.subarray(S,S+u),y),y+=u,S+=u,u=0;S=0}}else S=y-v,y-S>0&&2>y-S?(o.wt[y++]=o.wt[S++],o.wt[y++]=o.wt[S++],k-=2):(o.wt.set(o.wt.subarray(S,S+2),y),y+=2,S+=2,k-=2);if(y-S>0&&k>y-S)do{o.wt[y++]=o.wt[S++]}while(0!=--k);else o.wt.set(o.wt.subarray(S,S+k),y),y+=k,S+=k,k=0;break}if(64&u)return c.Fe="invalid distance code",k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ft;f+=a[z+2],f+=w&ut[u],z=3*(l+f),u=a[z]}break}if(64&u)return 32&u?(k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ot):(c.Fe="invalid literal/length code",k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ft);if(f+=a[z+2],f+=w&ut[u],z=3*(l+f),0===(u=a[z])){w>>=a[z+1],h-=a[z+1],o.wt[y++]=a[z+2],m--;break}}else w>>=a[z+1],h-=a[z+1],o.wt[y++]=a[z+2],m--}while(m>=258&&p>=10);return k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,it}e.init=(e,i,o,c,f,a)=>{t=vt,u=e,w=i,r=o,h=c,s=f,d=a,n=null},e.ht=(e,y,m)=>{let b,g,k,v,S,z,C,x=0,A=0,_=0;for(_=y.rt,v=y.je,x=e.ft,A=e.lt,S=e.write,z=S=258&&v>=10&&(e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,m=p(u,w,r,h,s,d,e,y),_=y.rt,v=y.je,x=e.ft,A=e.lt,S=e.write,z=SA;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>>=n[g+1],A-=n[g+1],k=n[g],0===k){f=n[g+2],t=_t;break}if(16&k){a=15&k,i=n[g+2],t=zt;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}if(32&k){t=It;break}return t=Dt,y.Fe="invalid literal/length code",m=ft,e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);case zt:for(b=a;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=b,A-=b,c=w,n=s,o=d,t=Ct;case Ct:for(b=c;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=n[g+1],A-=n[g+1],k=n[g],16&k){a=15&k,l=n[g+2],t=xt;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}return t=Dt,y.Fe="invalid distance code",m=ft,e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);case xt:for(b=a;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=b,A-=b,t=At;case At:for(C=S-l;0>C;)C+=e.end;for(;0!==i;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S7&&(A-=8,v++,_--),e.write=S,m=e.dt(y,m),S=e.write,z=S{}}const Rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Bt=0,Et=1,Mt=2,Ut=3,Kt=4,Nt=5,Ot=6,Tt=7,Wt=8,jt=9;function Ht(e,t){const n=this;let r,s=Bt,o=0,c=0,a=0;const l=[0],u=[0],w=new Vt;let h=0,d=new f(3*wt);const p=new kt;n.lt=0,n.ft=0,n.wt=new i(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),s==Ot&&w.yt(e),s=Bt,n.lt=0,n.ft=0,n.read=n.write=0},n.reset(e,null),n.dt=(e,t)=>{let r,s,i;return s=e.st,i=n.read,r=(i>n.write?n.end:n.write)-i,r>e.nt&&(r=e.nt),0!==r&&t==lt&&(t=it),e.nt-=r,e.Je+=r,e.et.set(n.wt.subarray(i,i+r),s),s+=r,i+=r,i==n.end&&(i=0,n.write==n.end&&(n.write=0),r=n.write-i,r>e.nt&&(r=e.nt),0!==r&&t==lt&&(t=it),e.nt-=r,e.Je+=r,e.et.set(n.wt.subarray(i,i+r),s),s+=r,i+=r),e.st=s,n.read=i,t},n.ht=(e,t)=>{let i,f,y,m,b,g,k,v;for(m=e.rt,b=e.je,f=n.ft,y=n.lt,g=n.write,k=gy;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>1){case 0:f>>>=3,y-=3,i=7&y,f>>>=i,y-=i,s=Et;break;case 1:S=[],z=[],C=[[]],x=[[]],kt.ct(S,z,C,x),w.init(S[0],z[0],C[0],0,x[0],0),f>>>=3,y-=3,s=Ot;break;case 2:f>>>=3,y-=3,s=Ut;break;case 3:return f>>>=3,y-=3,s=jt,e.Fe="invalid block type",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t)}break;case Et:for(;32>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>16&65535)!=(65535&f))return s=jt,e.Fe="invalid stored block lengths",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);o=65535&f,f=y=0,s=0!==o?Mt:0!==h?Tt:Bt;break;case Mt:if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);if(0===k&&(g==n.end&&0!==n.read&&(g=0,k=gb&&(i=b),i>k&&(i=k),n.wt.set(e.He(m,i),g),m+=i,b-=i,g+=i,k-=i,0!=(o-=i))break;s=0!==h?Tt:Bt;break;case Ut:for(;14>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<29||(i>>5&31)>29)return s=jt,e.Fe="too many length or distance symbols",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);if(i=258+(31&i)+(i>>5&31),!r||r.lengthv;v++)r[v]=0;f>>>=14,y-=14,a=0,s=Kt;case Kt:for(;4+(c>>>10)>a;){for(;3>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>=3,y-=3}for(;19>a;)r[Rt[a++]]=0;if(l[0]=7,i=p.it(r,l,u,d,e),i!=it)return(t=i)==ft&&(r=null,s=jt),n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);a=0,s=Nt;case Nt:for(;i=c,258+(31&i)+(i>>5&31)>a;){let o,w;for(i=l[0];i>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<w)f>>>=i,y-=i,r[a++]=w;else{for(v=18==w?7:w-14,o=18==w?11:3;i+v>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>=i,y-=i,o+=f&ut[v],f>>>=v,y-=v,v=a,i=c,v+o>258+(31&i)+(i>>5&31)||16==w&&1>v)return r=null,s=jt,e.Fe="invalid bit length repeat",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);w=16==w?r[v-1]:0;do{r[v++]=w}while(0!=--o);a=v}}if(u[0]=-1,A=[],_=[],I=[],P=[],A[0]=9,_[0]=6,i=c,i=p.ot(257+(31&i),1+(i>>5&31),r,A,_,I,P,d,e),i!=it)return i==ft&&(r=null,s=jt),t=i,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);w.init(A[0],_[0],d,I[0],d,P[0]),s=Ot;case Ot:if(n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,(t=w.ht(n,e,t))!=ot)return n.dt(e,t);if(t=it,w.yt(e),m=e.rt,b=e.je,f=n.ft,y=n.lt,g=n.write,k=g{n.reset(e,null),n.wt=null,d=null},n.bt=(e,t,r)=>{n.wt.set(e.subarray(t,t+r),0),n.read=n.write=r},n.gt=()=>s==Et?1:0}const Lt=13,Ft=[0,0,255,255];function qt(){const e=this;function t(e){return e&&e.kt?(e.Ge=e.Je=0,e.Fe=null,e.kt.mode=7,e.kt.vt.reset(e,null),it):ct}e.mode=0,e.method=0,e.St=[0],e.zt=0,e.marker=0,e.Ct=0,e.xt=t=>(e.vt&&e.vt.yt(t),e.vt=null,it),e.At=(n,r)=>(n.Fe=null,e.vt=null,8>r||r>15?(e.xt(n),ct):(e.Ct=r,n.kt.vt=new Ht(n,1<{let n,r;if(!e||!e.kt||!e.tt)return ct;const s=e.kt;for(t=4==t?lt:it,n=lt;;)switch(s.mode){case 0:if(0===e.je)return n;if(n=t,e.je--,e.Ge++,8!=(15&(s.method=e.ut(e.rt++)))){s.mode=Lt,e.Fe="unknown compression method",s.marker=5;break}if(8+(s.method>>4)>s.Ct){s.mode=Lt,e.Fe="invalid win size",s.marker=5;break}s.mode=1;case 1:if(0===e.je)return n;if(n=t,e.je--,e.Ge++,r=255&e.ut(e.rt++),((s.method<<8)+r)%31!=0){s.mode=Lt,e.Fe="incorrect header check",s.marker=5;break}if(!(32&r)){s.mode=7;break}s.mode=2;case 2:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt=(255&e.ut(e.rt++))<<24&4278190080,s.mode=3;case 3:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt+=(255&e.ut(e.rt++))<<16&16711680,s.mode=4;case 4:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt+=(255&e.ut(e.rt++))<<8&65280,s.mode=5;case 5:return 0===e.je?n:(n=t,e.je--,e.Ge++,s.zt+=255&e.ut(e.rt++),s.mode=6,2);case 6:return s.mode=Lt,e.Fe="need dictionary",s.marker=0,ct;case 7:if(n=s.vt.ht(e,n),n==ft){s.mode=Lt,s.marker=0;break}if(n==it&&(n=t),n!=ot)return n;n=t,s.vt.reset(e,s.St),s.mode=12;case 12:return e.je=0,ot;case Lt:return ft;default:return ct}},e.It=(e,t,n)=>{let r=0,s=n;if(!e||!e.kt||6!=e.kt.mode)return ct;const i=e.kt;return s<1<{let n,r,s,i,o;if(!e||!e.kt)return ct;const c=e.kt;if(c.mode!=Lt&&(c.mode=Lt,c.marker=0),0===(n=e.je))return lt;for(r=e.rt,s=c.marker;0!==n&&4>s;)e.ut(r)==Ft[s]?s++:s=0!==e.ut(r)?0:4-s,r++,n--;return e.Ge+=r-e.rt,e.rt=r,e.je=n,c.marker=s,4!=s?ft:(i=e.Ge,o=e.Je,t(e),e.Ge=i,e.Je=o,c.mode=7,it)},e.Dt=e=>e&&e.kt&&e.kt.vt?e.kt.vt.gt():ct}function Gt(){}function Jt(e){const t=new Gt,n=e&&e.chunkSize?r.floor(2*e.chunkSize):131072,o=new i(n);let c=!1;t.At(),t.et=o,this.append=(e,r)=>{const f=[];let a,l,u=0,w=0,h=0;if(0!==e.length){t.rt=0,t.tt=e,t.je=e.length;do{if(t.st=0,t.nt=n,0!==t.je||c||(t.rt=0,c=!0),a=t._t(0),c&&a===lt){if(0!==t.je)throw new s("inflating: bad input")}else if(a!==it&&a!==ot)throw new s("inflating: "+t.Fe);if((c||a===ot)&&t.je===e.length)throw new s("inflating: bad input");t.st&&(t.st===n?f.push(new i(o)):f.push(o.subarray(0,t.st))),h+=t.st,r&&t.rt>0&&t.rt!=u&&(r(t.rt),u=t.rt)}while(t.je>0||0===t.nt);return f.length>1?(l=new i(h),f.forEach((e=>{l.set(e,w),w+=e.length}))):l=f[0]?new i(f[0]):new i,l}},this.flush=()=>{t.xt()}}Gt.prototype={At(e){const t=this;return t.kt=new qt,e||(e=15),t.kt.At(t,e)},_t(e){const t=this;return t.kt?t.kt._t(t,e):ct},xt(){const e=this;if(!e.kt)return ct;const t=e.kt.xt(e);return e.kt=null,t},Pt(){const e=this;return e.kt?e.kt.Pt(e):ct},It(e,t){const n=this;return n.kt?n.kt.It(n,e,t):ct},ut(e){return this.tt[e]},He(e,t){return this.tt.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=st,self.Inflate=Jt};\n',r=()=>t.useDataURI?"data:text/javascript,"+encodeURIComponent(n):f.createObjectURL(new x([n],{type:"text/javascript"}));e({workerScripts:{inflate:[r],deflate:[r]}})})(dt),dt({Deflate:function(e){const t=new Y,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(a.floor(r/16383)+1);var r;const i=new p(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=i,this.append=(e,r)=>{let s,a,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new u("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new p(i)):d.push(i.subarray(0,t.next_out_index))),c+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(a=new p(c),d.forEach((e=>{a.set(e,l),l+=e.length}))):a=d[0]?new p(d[0]):new p,a}},this.flush=()=>{let e,r,s=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new u("deflating: "+t.msg);n-t.avail_out>0&&o.push(i.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new p(a),o.forEach((e=>{r.set(e,s),s+=e.length})),r}},Inflate:function(e){const t=new Pe,n=e&&e.chunkSize?a.floor(2*e.chunkSize):131072,r=new p(n);let i=!1;t.inflateInit(),t.next_out=r,this.append=(e,s)=>{const a=[];let o,l,c=0,d=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||i||(t.next_in_index=0,i=!0),o=t.inflate(0),i&&o===ne){if(0!==t.avail_in)throw new u("inflating: bad input")}else if(o!==Q&&o!==J)throw new u("inflating: "+t.msg);if((i||o===J)&&t.avail_in===e.length)throw new u("inflating: bad input");t.next_out_index&&(t.next_out_index===n?a.push(new p(r)):a.push(r.subarray(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=c&&(s(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return a.length>1?(l=new p(f),a.forEach((e=>{l.set(e,d),d+=e.length}))):l=a[0]?new p(a[0]):new p,l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=er,e.BlobWriter=tr,e.Data64URIReader=Jn,e.Data64URIWriter=$n,e.ERR_BAD_FORMAT=Xr,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Jr,e.ERR_DUPLICATED_NAME=_i,e.ERR_ENCRYPTED=ti,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qr,e.ERR_EOCDR_NOT_FOUND=Yr,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ei,e.ERR_HTTP_RANGE=Ln,e.ERR_INVALID_COMMENT=ki,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ai,e.ERR_INVALID_ENTRY_COMMENT=zi,e.ERR_INVALID_ENTRY_NAME=Si,e.ERR_INVALID_EXTRAFIELD_DATA=Fi,e.ERR_INVALID_EXTRAFIELD_TYPE=Ci,e.ERR_INVALID_PASSWORD=zt,e.ERR_INVALID_SIGNATURE=St,e.ERR_INVALID_VERSION=Di,e.ERR_ITERATOR_COMPLETED_TOO_SOON=On,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$r,e.ERR_SPLIT_ZIP_FILE=ii,e.ERR_UNSUPPORTED_COMPRESSION=ri,e.ERR_UNSUPPORTED_ENCRYPTION=ni,e.ERR_UNSUPPORTED_FORMAT=Ri,e.HttpRangeReader=class extends xr{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=xr,e.Reader=Yn,e.SplitDataReader=br,e.SplitDataWriter=yr,e.SplitZipReader=Dr,e.SplitZipWriter=Ar,e.TextReader=nr,e.TextWriter=rr,e.Uint8ArrayReader=gr,e.Uint8ArrayWriter=vr,e.Writer=Qn,e.ZipReader=ci,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new z,r=new ci(t,e).getEntriesGenerator();this.readable=new S({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const i={...n,readable:(()=>{const{readable:e,writable:t}=new z;if(n.getData)return n.getData(t),e})()};delete i.getData,e.enqueue(i)}}),this.writable=n}},e.ZipWriter=qi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new z;this.readable=t,this.zipWriter=new qi(n,e)}transform(e){const{readable:t,writable:n}=new z({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new z;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=dt,e.fs=Ki,e.getMimeType=e=>e&&pt[e.split(".").pop().toLowerCase()]||"application/octet-stream",e.initShimAsyncCodec=(e,t={},n)=>({Deflate:Nn(e.Deflate,t.deflate,n),Inflate:Nn(e.Inflate,t.inflate,n)}),e.terminateWorkers=async()=>{await g.allSettled(Tn.map((e=>(Wn(e),e.terminate()))))}})); diff --git a/core/static/webpack/alpine-index.js b/core/static/webpack/alpine-index.js index aef83ee2..d07e0bf2 100644 --- a/core/static/webpack/alpine-index.js +++ b/core/static/webpack/alpine-index.js @@ -2,6 +2,6 @@ import Alpine from "alpinejs"; window.Alpine = Alpine; -addEventListener("DOMContentLoaded", (event) => { +window.addEventListener("DOMContentLoaded", () => { Alpine.start(); }); diff --git a/core/static/webpack/easymde-index.js b/core/static/webpack/easymde-index.js index 1c1e62f3..378c1303 100644 --- a/core/static/webpack/easymde-index.js +++ b/core/static/webpack/easymde-index.js @@ -1,5 +1,182 @@ +// biome-ignore lint/correctness/noUndeclaredDependencies: shipped by easymde import "codemirror/lib/codemirror.css"; import "easymde/src/css/easymde.css"; -import EasyMDE from "easymde"; +import easyMde from "easymde"; +import { markdownRenderMarkdown } from "#openapi"; -window.EasyMDE = EasyMDE; +/** + * Create a new easymde based textarea + * @param {HTMLTextAreaElement} textarea to use + **/ +window.easymdeFactory = (textarea) => { + const easymde = new easyMde({ + element: textarea, + spellChecker: false, + autoDownloadFontAwesome: false, + previewRender: Alpine.debounce(async (plainText, preview) => { + preview.innerHTML = ( + await markdownRenderMarkdown({ body: { text: plainText } }) + ).data; + return null; + }, 300), + forceSync: true, // Avoid validation error on generic create view + toolbar: [ + { + name: "heading-smaller", + action: easyMde.toggleHeadingSmaller, + className: "fa fa-header", + title: gettext("Heading"), + }, + { + name: "italic", + action: easyMde.toggleItalic, + className: "fa fa-italic", + title: gettext("Italic"), + }, + { + name: "bold", + action: easyMde.toggleBold, + className: "fa fa-bold", + title: gettext("Bold"), + }, + { + name: "strikethrough", + action: easyMde.toggleStrikethrough, + className: "fa fa-strikethrough", + title: gettext("Strikethrough"), + }, + { + name: "underline", + action: function customFunction(editor) { + const cm = editor.codemirror; + cm.replaceSelection(`__${cm.getSelection()}__`); + }, + className: "fa fa-underline", + title: gettext("Underline"), + }, + { + name: "superscript", + action: function customFunction(editor) { + const cm = editor.codemirror; + cm.replaceSelection(`^${cm.getSelection()}^`); + }, + className: "fa fa-superscript", + title: gettext("Superscript"), + }, + { + name: "subscript", + action: function customFunction(editor) { + const cm = editor.codemirror; + cm.replaceSelection(`~${cm.getSelection()}~`); + }, + className: "fa fa-subscript", + title: gettext("Subscript"), + }, + { + name: "code", + action: easyMde.toggleCodeBlock, + className: "fa fa-code", + title: gettext("Code"), + }, + "|", + { + name: "quote", + action: easyMde.toggleBlockquote, + className: "fa fa-quote-left", + title: gettext("Quote"), + }, + { + name: "unordered-list", + action: easyMde.toggleUnorderedList, + className: "fa fa-list-ul", + title: gettext("Unordered list"), + }, + { + name: "ordered-list", + action: easyMde.toggleOrderedList, + className: "fa fa-list-ol", + title: gettext("Ordered list"), + }, + "|", + { + name: "link", + action: easyMde.drawLink, + className: "fa fa-link", + title: gettext("Insert link"), + }, + { + name: "image", + action: easyMde.drawImage, + className: "fa-regular fa-image", + title: gettext("Insert image"), + }, + { + name: "table", + action: easyMde.drawTable, + className: "fa fa-table", + title: gettext("Insert table"), + }, + "|", + { + name: "clean-block", + action: easyMde.cleanBlock, + className: "fa fa-eraser fa-clean-block", + title: gettext("Clean block"), + }, + "|", + { + name: "preview", + action: easyMde.togglePreview, + className: "fa fa-eye no-disable", + title: gettext("Toggle preview"), + }, + { + name: "side-by-side", + action: easyMde.toggleSideBySide, + className: "fa fa-columns no-disable no-mobile", + title: gettext("Toggle side by side"), + }, + { + name: "fullscreen", + action: easyMde.toggleFullScreen, + className: "fa fa-expand no-mobile", + title: gettext("Toggle fullscreen"), + }, + "|", + { + name: "guide", + action: "/page/Aide_sur_la_syntaxe", + className: "fa fa-question-circle", + title: gettext("Markdown guide"), + }, + ], + }); + + const submits = textarea.closest("form").querySelectorAll('input[type="submit"]'); + const parentDiv = textarea.parentElement; + let submitPressed = false; + + function checkMarkdownInput() { + // an attribute is null if it does not exist, else a string + const required = textarea.getAttribute("required") != null; + const length = textarea.value.trim().length; + + if (required && length === 0) { + parentDiv.style.boxShadow = "red 0px 0px 1.5px 1px"; + } else { + parentDiv.style.boxShadow = ""; + } + } + + function onSubmitClick(e) { + if (!submitPressed) { + easymde.codemirror.on("change", checkMarkdownInput); + } + submitPressed = true; + checkMarkdownInput(e); + } + + for (const submit of submits) { + submit.addEventListener("click", onSubmitClick); + } +}; diff --git a/core/static/webpack/fontawesome-index.js b/core/static/webpack/fontawesome-index.js new file mode 100644 index 00000000..90ce7c25 --- /dev/null +++ b/core/static/webpack/fontawesome-index.js @@ -0,0 +1 @@ +require("@fortawesome/fontawesome-free/css/all.css"); diff --git a/core/static/webpack/jquery-index.js b/core/static/webpack/jquery-index.js index 4a5f03ff..569d26e8 100644 --- a/core/static/webpack/jquery-index.js +++ b/core/static/webpack/jquery-index.js @@ -18,7 +18,7 @@ require("jquery-ui/themes/base/all.css"); * @param {string} selector to be passed to jQuery * @param {Object} options object to pass to the shorten function **/ -export function shorten(selector, options) { +function shorten(selector, options) { $(selector).shorten(options); } diff --git a/core/static/webpack/user/family-graph-index.js b/core/static/webpack/user/family-graph-index.js new file mode 100644 index 00000000..c6eb7278 --- /dev/null +++ b/core/static/webpack/user/family-graph-index.js @@ -0,0 +1,277 @@ +import cytoscape from "cytoscape"; +import cxtmenu from "cytoscape-cxtmenu"; +import klay from "cytoscape-klay"; +import { familyGetFamilyGraph } from "#openapi"; + +cytoscape.use(klay); +cytoscape.use(cxtmenu); + +async function getGraphData(userId, godfathersDepth, godchildrenDepth) { + const data = ( + await familyGetFamilyGraph({ + path: { + // biome-ignore lint/style/useNamingConvention: api is snake_case + user_id: userId, + }, + query: { + // biome-ignore lint/style/useNamingConvention: api is snake_case + godfathers_depth: godfathersDepth, + // biome-ignore lint/style/useNamingConvention: api is snake_case + godchildren_depth: godchildrenDepth, + }, + }) + ).data; + return [ + ...data.users.map((user) => { + return { data: user }; + }), + ...data.relationships.map((rel) => { + return { + data: { source: rel.godfather, target: rel.godchild }, + }; + }), + ]; +} + +function createGraph(container, data, activeUserId) { + const cy = cytoscape({ + boxSelectionEnabled: false, + autounselectify: true, + + container, + elements: data, + minZoom: 0.5, + + style: [ + // the stylesheet for the graph + { + selector: "node", + style: { + label: "data(display_name)", + "background-image": "data(profile_pict)", + width: "100%", + height: "100%", + "background-fit": "cover", + "background-repeat": "no-repeat", + shape: "ellipse", + }, + }, + + { + selector: "edge", + style: { + width: 5, + "line-color": "#ccc", + "target-arrow-color": "#ccc", + "target-arrow-shape": "triangle", + "curve-style": "bezier", + }, + }, + + { + selector: ".traversed", + style: { + "border-width": "5px", + "border-style": "solid", + "border-color": "red", + "target-arrow-color": "red", + "line-color": "red", + }, + }, + + { + selector: ".not-traversed", + style: { + "line-opacity": "0.5", + "background-opacity": "0.5", + "background-image-opacity": "0.5", + }, + }, + ], + layout: { + name: "klay", + nodeDimensionsIncludeLabels: true, + fit: true, + klay: { + addUnnecessaryBendpoints: true, + direction: "DOWN", + nodePlacement: "INTERACTIVE", + layoutHierarchy: true, + }, + }, + }); + const activeUser = cy.getElementById(activeUserId).style("shape", "rectangle"); + /* Reset graph */ + const resetGraph = () => { + cy.elements((element) => { + if (element.hasClass("traversed")) { + element.removeClass("traversed"); + } + if (element.hasClass("not-traversed")) { + element.removeClass("not-traversed"); + } + }); + }; + + const onNodeTap = (el) => { + resetGraph(); + /* Create path on graph if selected isn't the targeted user */ + if (el === activeUser) { + return; + } + cy.elements((element) => { + element.addClass("not-traversed"); + }); + + for (const traversed of cy.elements().aStar({ + root: el, + goal: activeUser, + }).path) { + traversed.removeClass("not-traversed"); + traversed.addClass("traversed"); + } + }; + + cy.on("tap", "node", (tapped) => { + onNodeTap(tapped.target); + }); + cy.zoomingEnabled(false); + + /* Add context menu */ + cy.cxtmenu({ + selector: "node", + + commands: [ + { + content: '', + select: (el) => { + window.open(el.data().profile_url, "_blank").focus(); + }, + }, + + { + content: '', + select: (el) => { + onNodeTap(el); + }, + }, + + { + content: '', + select: (_) => { + resetGraph(); + }, + }, + ], + }); + + return cy; +} + +/** + * @typedef FamilyGraphConfig + * @property {number} activeUser Id of the user to fetch the tree from + * @property {number} depthMin Minimum tree depth for godfathers and godchildren + * @property {number} depthMax Maximum tree depth for godfathers and godchildren + **/ + +/** + * Create a family graph of an user + * @param {FamilyGraphConfig} config + **/ +window.loadFamilyGraph = (config) => { + document.addEventListener("alpine:init", () => { + const defaultDepth = 2; + + function getInitialDepth(prop) { + // biome-ignore lint/correctness/noUndeclaredVariables: defined by script.js + const value = Number.parseInt(initialUrlParams.get(prop)); + if (Number.isNaN(value) || value < config.depthMin || value > config.depthMax) { + return defaultDepth; + } + return value; + } + + Alpine.data("graph", () => ({ + loading: false, + godfathersDepth: getInitialDepth("godfathersDepth"), + godchildrenDepth: getInitialDepth("godchildrenDepth"), + // biome-ignore lint/correctness/noUndeclaredVariables: defined by script.js + reverse: initialUrlParams.get("reverse")?.toLowerCase?.() === "true", + graph: undefined, + graphData: {}, + + async init() { + const delayedFetch = Alpine.debounce(async () => { + await this.fetchGraphData(); + }, 100); + for (const param of ["godfathersDepth", "godchildrenDepth"]) { + this.$watch(param, async (value) => { + if (value < config.depthMin || value > config.depthMax) { + return; + } + // biome-ignore lint/correctness/noUndeclaredVariables: defined by script.js + updateQueryString(param, value, History.REPLACE); + await delayedFetch(); + }); + } + this.$watch("reverse", async (value) => { + // biome-ignore lint/correctness/noUndeclaredVariables: defined by script.js + updateQueryString("reverse", value, History.REPLACE); + await this.reverseGraph(); + }); + this.$watch("graphData", async () => { + this.generateGraph(); + if (this.reverse) { + await this.reverseGraph(); + } + }); + await this.fetchGraphData(); + }, + + screenshot() { + const link = document.createElement("a"); + link.href = this.graph.jpg(); + link.download = interpolate( + gettext("family_tree.%(extension)s"), + { extension: "jpg" }, + true, + ); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }, + + reset() { + this.reverse = false; + this.godfathersDepth = defaultDepth; + this.godchildrenDepth = defaultDepth; + }, + + async reverseGraph() { + this.graph.elements((el) => { + el.position({ x: -el.position().x, y: -el.position().y }); + }); + this.graph.center(this.graph.elements()); + }, + + async fetchGraphData() { + this.graphData = await getGraphData( + config.activeUser, + this.godfathersDepth, + this.godchildrenDepth, + ); + }, + + generateGraph() { + this.loading = true; + this.graph = createGraph( + $(this.$refs.graph), + this.graphData, + config.activeUser, + ); + this.loading = false; + }, + })); + }); +}; diff --git a/core/static/webpack/user/pictures-index.js b/core/static/webpack/user/pictures-index.js new file mode 100644 index 00000000..68f08d25 --- /dev/null +++ b/core/static/webpack/user/pictures-index.js @@ -0,0 +1,101 @@ +import { paginated } from "#core:utils/api"; +import { HttpReader, ZipWriter } from "@zip.js/zip.js"; +import { showSaveFilePicker } from "native-file-system-adapter"; +import { picturesFetchPictures } from "#openapi"; + +/** + * @typedef UserProfile + * @property {number} id + * @property {string} first_name + * @property {string} last_name + * @property {string} nick_name + * @property {string} display_name + * @property {string} profile_url + * @property {string} profile_pict + */ +/** + * @typedef Picture + * @property {number} id + * @property {string} name + * @property {number} size + * @property {string} date + * @property {UserProfile} owner + * @property {string} full_size_url + * @property {string} compressed_url + * @property {string} thumb_url + * @property {string} album + * @property {boolean} is_moderated + * @property {boolean} asked_for_removal + */ + +/** + * @typedef PicturePageConfig + * @property {number} userId Id of the user to get the pictures from + **/ + +/** + * Load user picture page with a nice download bar + * @param {PicturePageConfig} config + **/ +window.loadPicturePage = (config) => { + document.addEventListener("alpine:init", () => { + Alpine.data("user_pictures", () => ({ + isDownloading: false, + loading: true, + pictures: [], + albums: {}, + + async init() { + this.pictures = await paginated(picturesFetchPictures, { + // biome-ignore lint/style/useNamingConvention: api is in snake_case + query: { users_identified: [config.userId] }, + }); + this.albums = this.pictures.reduce((acc, picture) => { + if (!acc[picture.album]) { + acc[picture.album] = []; + } + acc[picture.album].push(picture); + return acc; + }, {}); + this.loading = false; + }, + + async downloadZip() { + this.isDownloading = true; + const bar = this.$refs.progress; + bar.value = 0; + bar.max = this.pictures.length; + + const incrementProgressBar = () => { + bar.value++; + }; + + const fileHandle = await showSaveFilePicker({ + _preferPolyfill: false, + suggestedName: interpolate( + gettext("pictures.%(extension)s"), + { extension: "zip" }, + true, + ), + types: {}, + excludeAcceptAllOption: false, + }); + const zipWriter = new ZipWriter(await fileHandle.createWritable()); + + await Promise.all( + this.pictures.map((p) => { + const imgName = `${p.album}/IMG_${p.date.replaceAll(/[:\-]/g, "_")}${p.name.slice(p.name.lastIndexOf("."))}`; + return zipWriter.add(imgName, new HttpReader(p.full_size_url), { + level: 9, + lastModDate: new Date(p.date), + onstart: incrementProgressBar, + }); + }), + ); + + await zipWriter.close(); + this.isDownloading = false; + }, + })); + }); +}; diff --git a/core/static/webpack/utils/api.ts b/core/static/webpack/utils/api.ts new file mode 100644 index 00000000..a2c872c7 --- /dev/null +++ b/core/static/webpack/utils/api.ts @@ -0,0 +1,81 @@ +import type { Client, Options, RequestResult } from "@hey-api/client-fetch"; +import { client } from "#openapi"; + +interface PaginatedResponse { + count: number; + next: string | null; + previous: string | null; + results: T[]; +} + +interface PaginatedRequest { + query?: { + page?: number; + // biome-ignore lint/style/useNamingConvention: api is in snake_case + page_size?: number; + }; +} + +type PaginatedEndpoint = ( + options?: Options, +) => RequestResult, unknown, ThrowOnError>; + +// TODO : If one day a test workflow is made for JS in this project +// please test this function. A all cost. +export const paginated = async ( + endpoint: PaginatedEndpoint, + options?: PaginatedRequest, +) => { + const maxPerPage = 199; + options.query.page_size = maxPerPage; + options.query.page = 1; + + const firstPage = (await endpoint(options)).data; + const results = firstPage.results; + + const nbElements = firstPage.count; + const nbPages = Math.ceil(nbElements / maxPerPage); + + if (nbPages > 1) { + const promises: Promise[] = []; + for (let i = 2; i <= nbPages; i++) { + const nextPage = structuredClone(options); + nextPage.query.page = i; + promises.push(endpoint(nextPage).then((res) => res.data.results)); + } + results.push(...(await Promise.all(promises)).flat()); + } + return results; +}; + +interface Request { + client?: Client; +} + +interface InterceptorOptions { + url: string; +} + +type GenericEndpoint = ( + options?: Options, +) => RequestResult; + +/** + * Return the endpoint url of the endpoint + **/ +export const makeUrl = async (endpoint: GenericEndpoint) => { + let url = ""; + const interceptor = (_request: undefined, options: InterceptorOptions) => { + url = options.url; + throw new Error("We don't want to send the request"); + }; + + client.interceptors.request.use(interceptor); + try { + await endpoint({ client: client }); + } catch (_error) { + /* do nothing */ + } + client.interceptors.request.eject(interceptor); + return url; +}; diff --git a/core/templates/core/base.jinja b/core/templates/core/base.jinja index 958acede..782b4cb1 100644 --- a/core/templates/core/base.jinja +++ b/core/templates/core/base.jinja @@ -18,14 +18,13 @@ {# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #} {% endblock %} - - - + + - + @@ -69,27 +68,33 @@
    {% cache 100 "counters_activity" %} - {% for bar in Counter.objects.annotate_has_barman(user).filter(type="BAR") %} -
  • - {# If the user is a barman, we redirect him directly to the barman page - else we redirect him to the activity page #} - {% if bar.has_annotated_barman %} - - {% else %} - - {% endif %} - {% if bar.is_inactive() %} - - {% elif bar.is_open %} - - {% else %} - - {% endif %} - {{ bar }} - -
  • - {% endfor %} + {# The sith has no periodic tasks manager + and using cron jobs would be way too overkill here. + Thus the barmen timeout is handled in the only place that + is loaded on every page : the header bar. + However, let's be clear : this has nothing to do here. + It's' merely a contrived workaround that should + replaced by a proper task manager as soon as possible. #} + {% set _ = Counter.objects.filter(type="BAR").handle_timeout() %} {% endcache %} + {% for bar in Counter.objects.annotate_has_barman(user).annotate_is_open().filter(type="BAR") %} +
  • + {# If the user is a barman, we redirect him directly to the barman page + else we redirect him to the activity page #} + {% if bar.has_annotated_barman %} + + {% else %} + + {% endif %} + {% if bar.is_open %} + + {% else %} + + {% endif %} + {{ bar }} + +
  • + {% endfor %}
@@ -113,8 +118,8 @@ >
- - + + {% set notification_count = user.notifications.filter(viewed=False).count() %} {% if notification_count > 0 %} diff --git a/core/templates/core/macros.jinja b/core/templates/core/macros.jinja index 1d1985b2..c08053dd 100644 --- a/core/templates/core/macros.jinja +++ b/core/templates/core/macros.jinja @@ -40,11 +40,11 @@ {%- endmacro %} {% macro fb_quick(news) -%} - + {%- endmacro %} {% macro tweet_quick(news) -%} - + {%- endmacro %} {% macro user_mini_profile(user) %} diff --git a/core/templates/core/screen_slideshow.jinja b/core/templates/core/screen_slideshow.jinja deleted file mode 100644 index 0118c9ce..00000000 --- a/core/templates/core/screen_slideshow.jinja +++ /dev/null @@ -1,30 +0,0 @@ - - - - {% trans %}Slideshow{% endtrans %} - - - -
- -
- {% for poster in posters %} -
- -
- {% endfor %} -
- -
- {% for poster in posters %} -
- {% endfor %} -
- -
- -
- - - - diff --git a/core/templates/core/user_account.jinja b/core/templates/core/user_account.jinja index c1a8b742..467f864a 100644 --- a/core/templates/core/user_account.jinja +++ b/core/templates/core/user_account.jinja @@ -1,6 +1,6 @@ {% extends "core/base.jinja" %} -{% macro monthly(obj) %} +{% macro monthly(objects) %}
@@ -11,17 +11,18 @@ - {% for array in obj %} - {% for dict in array %} - {% if dict['sum'] != 0 %} - {% set link=url('core:user_account_detail', user_id=profile.id, year=dict['date'].year, month=dict['date'].month) %} - - - - - - {% endif %} - {% endfor %} + {% for object in objects %} + {% set link=url( + 'core:user_account_detail', + user_id=profile.id, + year=object['grouped_date'].year, + month=object['grouped_date'].month + ) %} + + + + + {% endfor %}
{{ dict['date'].year }}{{ dict['date']|date("E") }}{{ dict['sum'] }} €
{{ object["grouped_date"]|date("Y") }}{{ object["grouped_date"]|date("E") }}{{ "%.2f"|format(object["total"]) }} €
@@ -37,19 +38,15 @@

{% trans %}User account{% endtrans %}

{% trans %}Amount: {% endtrans %}{{ customer.amount }} €

- {% set bought = customer.buyings.exists() %} - {% set refilled = customer.refillings.exists() %} - {% if bought or refilled %} - {% if bought %} -
{% trans %}Account purchases{% endtrans %}
- {{ monthly(buyings_month) }} - {% endif %} - {% if refilled %} -
{% trans %}Reloads{% endtrans %}
- {{ monthly(refilling_month) }} - {% endif %} + {% if buyings_month %} +
{% trans %}Account purchases{% endtrans %}
+ {{ monthly(buyings_month) }} {% endif %} - {% if customer.user.invoices.exists() %} + {% if refilling_month %} +
{% trans %}Reloads{% endtrans %}
+ {{ monthly(refilling_month) }} + {% endif %} + {% if invoices_month %}
{% trans %}Eboutic invoices{% endtrans %}
{{ monthly(invoices_month) }} {% endif %} @@ -58,7 +55,11 @@ diff --git a/core/templates/core/user_account_detail.jinja b/core/templates/core/user_account_detail.jinja index 8c9b3c3c..ccf41cfb 100644 --- a/core/templates/core/user_account_detail.jinja +++ b/core/templates/core/user_account_detail.jinja @@ -5,44 +5,49 @@ {% endblock %} {% block content %} - {% if customer %} -

{% trans %}User account{% endtrans %}

-

{% trans %}Amount: {% endtrans %}{{ customer.amount }} €

-

{% trans %}Back{% endtrans %}

- {% if customer.buyings.exists() %} -

{% trans %}Account purchases{% endtrans %}

- - +

{% trans %}User account{% endtrans %}

+

{% trans %}Amount: {% endtrans %}{{ customer.amount }} €

+

{% trans %}Back{% endtrans %}

+ {% if purchases %} +

{% trans %}Account purchases{% endtrans %}

+
+ + + + + + + + + + + + + {% for purchase in purchases %} - - - - - - - - - - - {% for i in customer.buyings.order_by('-date').all().filter( - date__year=year, date__month=month) %} - - - - - - - - - {% if i.is_owned_by(user) %} - + + + + + + + + {% if purchase.is_owned_by(user) %} + {% endif %} - {% endfor %} - + {% endfor %} +
{% trans %}Date{% endtrans %}{% trans %}Counter{% endtrans %}{% trans %}Barman{% endtrans %}{% trans %}Label{% endtrans %}{% trans %}Quantity{% endtrans %}{% trans %}Total{% endtrans %}{% trans %}Payment method{% endtrans %}
{% trans %}Date{% endtrans %}{% trans %}Counter{% endtrans %}{% trans %}Barman{% endtrans %}{% trans %}Label{% endtrans %}{% trans %}Quantity{% endtrans %}{% trans %}Total{% endtrans %}{% trans %}Payment method{% endtrans %}
{{ i.date|localtime|date(DATETIME_FORMAT) }} - {{ i.date|localtime|time(DATETIME_FORMAT) }}{{ i.counter }}{{ i.seller.get_display_name() }}{{ i.label }}{{ i.quantity }}{{ i.quantity * i.unit_price }} €{{ i.get_payment_method_display() }}{% trans %}Delete{% endtrans %} + {{ purchase.date|localtime|date(DATETIME_FORMAT) }} + - {{ purchase.date|localtime|time(DATETIME_FORMAT) }} + {{ purchase.counter }}{{ purchase.seller.get_display_name() }}{{ purchase.label }}{{ purchase.quantity }}{{ purchase.quantity * purchase.unit_price }} €{{ purchase.get_payment_method_display() }} + + {% trans %}Delete{% endtrans %} + +
{% endif %} - {% if customer.refillings.exists() %} + {% if refills %}

{% trans %}Reloads{% endtrans %}

@@ -55,22 +60,30 @@ - {% for i in customer.refillings.order_by('-date').filter( date__year=year, date__month=month) %} + {% for refill in refills %} - - - - - - {% if i.is_owned_by(user) %} - + + + + + + {% if refill.is_owned_by(user) %} + {% endif %} {% endfor %}
{{ i.date|localtime|date(DATETIME_FORMAT) }} - {{ i.date|localtime|time(DATETIME_FORMAT) }}{{ i.counter }}{{ i.operator.get_display_name() }}{{ i.amount }} €{{ i.get_payment_method_display() }}{% trans %}Delete{% endtrans %}{{ refill.date|localtime|date(DATETIME_FORMAT) }} - {{ refill.date|localtime|time(DATETIME_FORMAT) }}{{ refill.counter }} + + {{ refill.operator.get_display_name() }} + + {{ refill.amount }} €{{ refill.get_payment_method_display() }} + + {% trans %}Delete{% endtrans %} + +
{% endif %} - {% if customer.user.invoices.exists() %} + {% if invoices %}

{% trans %}Eboutic invoices{% endtrans %}

@@ -81,25 +94,24 @@ - {% for i in customer.user.invoices.order_by('-date').all().filter( - date__year=year, date__month=month) %} - - - - - - {% endfor %} - -
{{ i.date|localtime|date(DATETIME_FORMAT) }} - {{ i.date|localtime|time(DATETIME_FORMAT) }} -
    - {% for it in i.items.all() %} -
  • {{ it.quantity }} x {{ it.product_name }} - {{ it.product_unit_price }} €
  • - {% endfor %} -
-
{{ i.get_total() }} €
-{% endif %} -{% else %} -

{% trans %}User has no account{% endtrans %}

-{% endif %} -

{% trans %}Back{% endtrans %}

+ {% for invoice in invoices %} + + + {{ invoice.date|localtime|date(DATETIME_FORMAT) }} + - {{ invoice.date|localtime|time(DATETIME_FORMAT) }} + + +
    + {% for it in invoice.items.all() %} +
  • {{ it.quantity }} x {{ it.product_name }} - {{ it.product_unit_price }} €
  • + {% endfor %} +
+ + {{ invoice.total }} € + + {% endfor %} + + + {% endif %} +

{% trans %}Back{% endtrans %}

{% endblock %} diff --git a/core/templates/core/user_detail.jinja b/core/templates/core/user_detail.jinja index d3c9275f..58836b6f 100644 --- a/core/templates/core/user_detail.jinja +++ b/core/templates/core/user_detail.jinja @@ -225,7 +225,7 @@ {% for gift in gifts %}
  • {{ gift }} - +
  • {% endfor %} diff --git a/core/templates/core/user_edit.jinja b/core/templates/core/user_edit.jinja index cb39dedb..173b3e8e 100644 --- a/core/templates/core/user_edit.jinja +++ b/core/templates/core/user_edit.jinja @@ -15,36 +15,36 @@ {% macro profile_picture(field_name) %} {% set this_picture = form.instance[field_name] %}
    -
    +
    {%- trans -%}Profile{%- endtrans -%}
    -
    +
    + @click="godfathersDepth--" + :disabled="godfathersDepth <= {{ depth_min }}" + > @@ -56,22 +50,22 @@ @@ -96,10 +90,13 @@
    {% endblock %} diff --git a/core/templates/core/user_pictures.jinja b/core/templates/core/user_pictures.jinja index 85baf847..73479849 100644 --- a/core/templates/core/user_pictures.jinja +++ b/core/templates/core/user_pictures.jinja @@ -5,11 +5,7 @@ {%- endblock -%} {% block additional_js %} - - + {% endblock %} {% block title %} @@ -21,14 +17,14 @@ {% if user.id == object.id %}
    - +
    {% endif %} @@ -65,77 +61,8 @@ {{ super() }} {% endblock script %} diff --git a/core/templates/core/user_tools.jinja b/core/templates/core/user_tools.jinja index c9ad8e8c..e00b24da 100644 --- a/core/templates/core/user_tools.jinja +++ b/core/templates/core/user_tools.jinja @@ -70,15 +70,7 @@ {% trans %}Edit{% endtrans %} {% trans %}Stats{% endtrans %} - {% if c.stock %} - Stock - {% endif %} - {% if c.stock %} - {% trans %}Shopping lists{% endtrans %} - {% else %} - {% trans %}Create new stock{% endtrans%} - {% endif %} {% endif %} diff --git a/core/templates/core/widgets/markdown_textarea.jinja b/core/templates/core/widgets/markdown_textarea.jinja index a97dc80f..2412497d 100644 --- a/core/templates/core/widgets/markdown_textarea.jinja +++ b/core/templates/core/widgets/markdown_textarea.jinja @@ -1,198 +1,13 @@
    - {# Depends on this package https://github.com/lonaru/easy-markdown-editor #} - {# The easymde script can be included twice, it's safe in the code #} - + {# The easymde script can be included twice, it's safe in the code #} + +
    diff --git a/core/templates/core/widgets/nfc.jinja b/core/templates/core/widgets/nfc.jinja index 04dc288d..7cfa7249 100644 --- a/core/templates/core/widgets/nfc.jinja +++ b/core/templates/core/widgets/nfc.jinja @@ -1,7 +1,7 @@ - + + ``` !!!note @@ -45,6 +46,16 @@ Pour accéder au fichier, il faut utiliser `static` comme pour le reste mais en Les autres fichiers sont disponibles à l'import dans le JavaScript comme si ils étaient tous au même niveau. +### Les imports au sein des fichiers de webpack + +Pour importer au sein de webpack, il faut préfixer ses imports de `#app:`. + +Exemple: + +```js +import { paginated } from "#core:utils/api"; +``` + ## Comment ça fonctionne le post processing ? Le post processing est géré par le module `staticfiles`. Les fichiers sont diff --git a/docs/howto/translation.md b/docs/howto/translation.md index da83d8b4..88366492 100644 --- a/docs/howto/translation.md +++ b/docs/howto/translation.md @@ -31,8 +31,8 @@ Il faut d'abord générer un fichier de traductions, l'éditer et enfin le compiler au format binaire pour qu'il soit lu par le serveur. ```bash -./manage.py makemessages --locale=fr -e py,jinja # Pour le backend -./manage.py makemessages --locale=fr -d djangojs # Pour le frontend +./manage.py makemessages --locale=fr -e py,jinja --ignore=node_modules # Pour le backend +./manage.py makemessages --locale=fr -d djangojs --ignore=node_modules # Pour le frontend ``` ## Éditer le fichier django.po diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index bebeae83..0a56e5c9 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,3 +1,3 @@ .mermaid { - text-align: center; -} \ No newline at end of file + text-align: center; +} diff --git a/docs/tutorial/devtools.md b/docs/tutorial/devtools.md index b585b92b..083c05fa 100644 --- a/docs/tutorial/devtools.md +++ b/docs/tutorial/devtools.md @@ -99,52 +99,116 @@ votre éditeur pour que Ruff fasse son travail automatiquement à chaque éditio Nous tenterons de vous faire ici un résumé pour deux éditeurs de textes populaires que sont VsCode et Sublime Text. -### VsCode +=== "VsCode" -Installez l'extension Ruff pour VsCode. -Ensuite, ajoutez ceci dans votre configuration : + Installez l'extension Ruff pour VsCode. + Ensuite, ajoutez ceci dans votre configuration : -```json -{ - "[python]": { - "editor.formatOnSave": true, - "editor.defaultFormatter": "charliermarsh.ruff" + ```json + { + "[python]": { + "editor.formatOnSave": true, + "editor.defaultFormatter": "charliermarsh.ruff" + } } -} -``` + ``` -### Sublime Text +=== "Sublime Text" -Vous devez installer ce plugin : https://packagecontrol.io/packages/LSP-ruff. -Suivez ensuite les instructions données dans la description du plugin. + Vous devez installer le plugin [LSP-ruff](https://packagecontrol.io/packages/LSP-ruff). + Suivez ensuite les instructions données dans la description du plugin. -Dans la configuration de votre projet, ajoutez ceci: + Dans la configuration de votre projet, ajoutez ceci: -```json -{ - "settings": { - "lsp_format_on_save": true, - "LSP": { - "LSP-ruff": { - "enabled": true, + ```json + { + "settings": { + "lsp_format_on_save": true, // Commun à ruff et biome + "LSP": { + "LSP-ruff": { + "enabled": true, + } } } } -} + ``` + + Si vous utilisez le plugin [anaconda](http://damnwidget.github.io/anaconda/), + pensez à modifier les paramètres du linter pep8 + pour éviter de recevoir des warnings dans le formatage + de ruff comme ceci : + + ```json + { + "pep8_ignore": [ + "E203", + "E266", + "E501", + "W503" + ] + } + ``` + +## Configurer Biome pour son éditeur + +!!!note + + Biome est inclus dans les dépendances du projet. + Si vous avez réussi à terminer l'installation, vous n'avez donc pas de configuration + supplémentaire à effectuer. + +Pour utiliser Biome, placez-vous à la racine du projet et lancer la commande suivante: + +```bash + npx @biomejs/biome check # Pour checker le code avec le linter et le formater + npx @biomejs/biome check --write # Pour appliquer les changemnts ``` -Si vous utilisez le plugin [anaconda](http://damnwidget.github.io/anaconda/), -pensez à modifier les paramètres du linter pep8 -pour éviter de recevoir des warnings dans le formatage -de ruff comme ceci : +Biome va alors faire son travail sur l'ensemble du projet puis vous dire +si des documents ont été reformatés (si vous avez fait `npx @biomejs/biome format --write`) +ou bien s'il y a des erreurs à réparer (si vous avez faire `npx @biomejs/biome lint`) ou les deux (si vous avez fait `npx @biomejs/biome check --write`). -```json -{ - "pep8_ignore": [ - "E203", - "E266", - "E501", - "W503" - ] -} -``` +Appeler Biome en ligne de commandes avant de pousser votre code sur Github +est une technique qui marche très bien. +Cependant, vous risquez de souvent l'oublier. +Or, lorsque le code ne respecte pas les Biomes de qualité, +la pipeline bloque les PR sur les branches protégées. + +Pour éviter de vous faire régulièrement avoir, vous pouvez configurer +votre éditeur pour que Biome fasse son travail automatiquement à chaque édition d'un fichier. +Nous tenterons de vous faire ici un résumé pour deux éditeurs de textes populaires +que sont VsCode et Sublime Text. + +=== "VsCode" + + Biome est fourni par le plugin [Biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome). + + Ensuite, ajoutez ceci dans votre configuration : + + ```json + { + "editor.defaultFormatter": "", + "[javascript]": { + "editor.defaultFormatter": "biomejs.biome" + } + } + ``` + +=== "Sublime Text" + + Tout comme pour ruff, il suffit d'installer un plugin lsp [LSP-biome](https://packagecontrol.io/packages/LSP-biome). + + Et enfin, dans la configuration de votre projet, ajouter les lignes suivantes : + + ```json + { + "settings": { + "lsp_format_on_save": true, // Commun à ruff et biome + "LSP": { + "LSP-biome": { + "enabled": true, + } + } + } + } + ``` \ No newline at end of file diff --git a/docs/tutorial/install.md b/docs/tutorial/install.md index 5a06d565..9dd9c837 100644 --- a/docs/tutorial/install.md +++ b/docs/tutorial/install.md @@ -55,7 +55,14 @@ cd /mnt//vos/fichiers/comme/dhab === "Debian/Ubuntu" - Si ce n'est pas déjà fait, installez Python : + Avant toute chose, assurez-vous que votre système est à jour : + + ```bash + sudo apt update + sudo apt upgrade + ``` + + Puis, si ce n'est pas déjà fait, installez Python : ```bash sudo apt install python3 # on sait jamais @@ -107,22 +114,44 @@ cd /mnt//vos/fichiers/comme/dhab ## Finaliser l'installation +Clonez le projet (depuis votre console WSL, si vous utilisez WSL) +et installez les dépendances : + ```bash -git clone https://github.com/ae-utbm/sith3.git -cd sith3 +git clone https://github.com/ae-utbm/sith.git +cd sith # Création de l'environnement et installation des dépendances -poetry install +poetry install # Dépendances backend +npm install # Dépendances frontend +poetry run ./manage.py install_xapian +``` -# Configuration du frontend -npm install +!!!note + La commande `install_xapian` est longue et affiche beaucoup + de texte à l'écran. + C'est normal, il ne faut pas avoir peur. + +Maintenant que les dépendances sont installées, nous +allons créer la base de données, la remplir avec des données de test, +et compiler les traductions. +Cependant, avant de faire cela, il est nécessaire de modifier +la configuration pour signifier que nous sommes en mode développement. +Pour cela, nous allons créer un fichier `sith/settings_custom.py` +et l'utiliser pour surcharger les settings de base. + +```bash +echo "DEBUG=True" > sith/settings_custom.py +echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py +``` + +Enfin, nous pouvons lancer les commandes suivantes : + +```bash # Activation de l'environnement virtuel poetry shell -# Installation de Xapian -python ./manage.py install_xapian - # Prépare la base de données python ./manage.py setup @@ -130,30 +159,11 @@ python ./manage.py setup python ./manage.py compilemessages ``` -!!!note - - La commande `install_xapian` est longue et affiche beaucoup - de texte à l'écran. - C'est normal, il ne faut pas avoir peur. - !!!note Pour éviter d'avoir à utiliser la commande `poetry shell` systématiquement, il est possible de consulter [direnv](../howto/direnv.md). -## Configuration pour le développement - -Lorsqu'on souhaite développer pour le site, -il est nécessaire de passer le logiciel en mode debug -dans les settings_custom. -Il est aussi conseillé de définir l'URL du site sur localhost. -Voici un script rapide pour le faire. - -```bash -echo "DEBUG=True" > sith/settings_custom.py -echo 'SITH_URL = "localhost:8000"' >> sith/settings_custom.py -``` - ## Démarrer le serveur de développement Il faut toujours avoir préalablement activé @@ -211,10 +221,7 @@ pytest pytest core # Lancer les tests de la classe UserRegistrationTest de core -pytest core.tests.UserRegistrationTest - -# Lancer une méthode en particulier de cette même classe -pytest core.tests.UserRegistrationTest.test_register_user_form_ok +pytest core/tests/tests_core.py::TestUserRegistration ``` !!!note diff --git a/docs/tutorial/structure.md b/docs/tutorial/structure.md index c3d6d9f7..2c37d35a 100644 --- a/docs/tutorial/structure.md +++ b/docs/tutorial/structure.md @@ -20,7 +20,7 @@ Le code source du projet est organisé comme suit :
    ``` -sith3/ +sith/ ├── .github/ │ ├── actions/ (1) │ └── workflows/ (2) @@ -58,27 +58,25 @@ sith3/ │ └── ... ├── sith/ (19) │ └── ... -├── stock/ (20) +├── subscription/ (20) │ └── ... -├── subscription/ (21) +├── trombi/ (21) │ └── ... -├── trombi/ (22) +├── antispam/ (22) │ └── ... -├── antispam/ (23) -│ └── ... -├── staticfiles/ (24) +├── staticfiles/ (23) │ └── ... │ -├── .coveragerc (25) -├── .envrc (26) +├── .coveragerc (24) +├── .envrc (25) ├── .gitattributes ├── .gitignore ├── .mailmap ├── .env.exemple -├── manage.py (27) -├── mkdocs.yml (28) +├── manage.py (26) +├── mkdocs.yml (27) ├── poetry.lock -├── pyproject.toml (29) +├── pyproject.toml (28) └── README.md ```
    @@ -113,22 +111,21 @@ sith3/ peuvent également laisser leurs avis. 17. Fonctionnalités utiles aux utilisateurs root. 18. Le SAS, où l'on trouve toutes les photos de l'AE. -19. Application principale du projet, contenant sa configuration. -20. Gestion des stocks des comptoirs. -21. Gestion des cotisations des utilisateurs du site. -22. Outil pour faciliter la fabrication des trombinoscopes de promo. -23. Fonctionnalités pour gérer le spam. -24. Gestion des statics du site. Override le système de statics de Django. +19. Application principale du projet, contenant sa configuration. +20. Gestion des cotisations des utilisateurs du site. +21. Outil pour faciliter la fabrication des trombinoscopes de promo. +22. Fonctionnalités pour gérer le spam. +23. Gestion des statics du site. Override le système de statics de Django. Ajoute l'intégration du scss et de webpack - de manière transparente pour l'utilisateur. -25. Fichier de configuration de coverage. -26. Fichier de configuration de direnv. -27. Fichier généré automatiquement par Django. C'est lui + de manière transparente pour l'utilisateur. +24. Fichier de configuration de coverage. +25. Fichier de configuration de direnv. +26. Fichier généré automatiquement par Django. C'est lui qui permet d'appeler des commandes de gestion du projet avec la syntaxe `python ./manage.py ` -28. Le fichier de configuration de la documentation, - avec ses plugins et sa table des matières. -29. Le fichier où sont déclarés les dépendances et la configuration +27. Le fichier de configuration de la documentation, + avec ses plugins et sa table des matières. +28. Le fichier où sont déclarés les dépendances et la configuration de certaines d'entre elles. diff --git a/eboutic/__init__.py b/eboutic/__init__.py index a098e7ba..f4445e69 100644 --- a/eboutic/__init__.py +++ b/eboutic/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/eboutic/admin.py b/eboutic/admin.py index 454ca5c3..9786c522 100644 --- a/eboutic/admin.py +++ b/eboutic/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/eboutic/models.py b/eboutic/models.py index 9a653c2c..0b8c30e1 100644 --- a/eboutic/models.py +++ b/eboutic/models.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # @@ -16,12 +16,12 @@ from __future__ import annotations import hmac from datetime import datetime -from typing import Any +from typing import Any, Self from dict2xml import dict2xml from django.conf import settings from django.db import DataError, models -from django.db.models import F, Sum +from django.db.models import F, OuterRef, Subquery, Sum from django.utils.functional import cached_property from django.utils.translation import gettext_lazy as _ @@ -160,6 +160,22 @@ class Basket(models.Model): return data +class InvoiceQueryset(models.QuerySet): + def annotate_total(self) -> Self: + """Annotate the queryset with the total amount of each invoice. + + The total amount is the sum of (product_unit_price * quantity) + for all items related to the invoice. + """ + return self.annotate( + total=Subquery( + InvoiceItem.objects.filter(invoice_id=OuterRef("pk")) + .annotate(total=Sum(F("product_unit_price") * F("quantity"))) + .values("total") + ) + ) + + class Invoice(models.Model): """Invoices are generated once the payment has been validated.""" @@ -173,6 +189,8 @@ class Invoice(models.Model): date = models.DateTimeField(_("date"), auto_now=True) validated = models.BooleanField(_("validated"), default=False) + objects = InvoiceQueryset.as_manager() + def __str__(self): return f"{self.user} - {self.get_total()} - {self.date}" diff --git a/eboutic/static/eboutic/css/eboutic.css b/eboutic/static/eboutic/css/eboutic.css index 43cadd3b..5fb611ad 100644 --- a/eboutic/static/eboutic/css/eboutic.css +++ b/eboutic/static/eboutic/css/eboutic.css @@ -1,241 +1,245 @@ #eboutic { - display: flex; - flex-direction: row-reverse; - align-items: flex-start; - column-gap: 20px; - margin: 0 20px 20px; + display: flex; + flex-direction: row-reverse; + align-items: flex-start; + column-gap: 20px; + margin: 0 20px 20px; } #eboutic-title { - margin-left: 20px; + margin-left: 20px; } #eboutic h3 { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } #basket { - min-width: 300px; - border-radius: 8px; - box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 4px 8px 3px; - padding: 10px; + min-width: 300px; + border-radius: 8px; + box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 4px 8px 3px; + padding: 10px; } #basket h3 { - margin-top: 0; + margin-top: 0; } @media screen and (max-width: 765px) { - #eboutic { - flex-direction: column-reverse; - align-items: center; - margin: 10px; - row-gap: 20px; - } - #eboutic-title { - margin-bottom: 20px; - margin-top: 4px; - } - #basket { - width: -webkit-fill-available; - } + #eboutic { + flex-direction: column-reverse; + align-items: center; + margin: 10px; + row-gap: 20px; + } + #eboutic-title { + margin-bottom: 20px; + margin-top: 4px; + } + #basket { + width: -webkit-fill-available; + } } #eboutic .item-list { - margin-left: 0; - list-style: none; + margin-left: 0; + list-style: none; } #eboutic .item-list li { - display: flex; - align-items: center; - margin-bottom: 10px + display: flex; + align-items: center; + margin-bottom: 10px; } #eboutic .item-row { - gap: 10px; + gap: 10px; } #eboutic .item-name { - word-break: break-word; - width: 100%; - line-height: 100%; + word-break: break-word; + width: 100%; + line-height: 100%; } #eboutic .fa-plus, #eboutic .fa-minus { - cursor: pointer; - background-color: #354a5f; - color: white; - border-radius: 50%; - padding: 5px; - font-size: 10px; - line-height: 10px; - width: 10px; - text-align: center; + cursor: pointer; + background-color: #354a5f; + color: white; + border-radius: 50%; + padding: 5px; + font-size: 10px; + line-height: 10px; + width: 10px; + text-align: center; } #eboutic .item-quantity { - min-width: 65px; - justify-content: space-between; - align-items: center; - display: flex; - gap: 5px; + min-width: 65px; + justify-content: space-between; + align-items: center; + display: flex; + gap: 5px; } #eboutic .item-price { - min-width: 65px; - text-align: right; + min-width: 65px; + text-align: right; } /* CSS du catalogue */ #eboutic #catalog { - display: flex; - flex-grow: 1; - flex-direction: column; - row-gap: 30px; + display: flex; + flex-grow: 1; + flex-direction: column; + row-gap: 30px; } #eboutic .category-header { - margin-bottom: 15px; + margin-bottom: 15px; } #eboutic .product-group { - display: flex; - flex-wrap: wrap; - column-gap: 15px; - row-gap: 15px; + display: flex; + flex-wrap: wrap; + column-gap: 15px; + row-gap: 15px; } #eboutic .product-button { - position: relative; - box-sizing: border-box; - min-height: 180px; - height: fit-content; - width: 150px; - padding: 15px; - overflow: hidden; - box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 4px 8px 3px; - display: flex; - flex-direction: column; - align-items: center; - row-gap: 5px; - justify-content: flex-start; + position: relative; + box-sizing: border-box; + min-height: 180px; + height: fit-content; + width: 150px; + padding: 15px; + overflow: hidden; + box-shadow: rgb(60 64 67 / 30%) 0 1px 3px 0, rgb(60 64 67 / 15%) 0 4px 8px 3px; + display: flex; + flex-direction: column; + align-items: center; + row-gap: 5px; + justify-content: flex-start; } #eboutic .product-button.selected { - animation: bg-in-out 1s ease; - background-color: rgb(216, 236, 255); + animation: bg-in-out 1s ease; + background-color: rgb(216, 236, 255); } #eboutic .product-button.selected::after { - content: "🛒"; - position: absolute; - top: 5px; - right: 5px; - padding: 5px; - border-radius: 50%; - box-shadow: 0 0 12px 2px rgb(0 0 0 / 14%); - background-color: white; - width: 20px; - height: 20px; - font-size: 16px; - line-height: 20px; + content: "🛒"; + position: absolute; + top: 5px; + right: 5px; + padding: 5px; + border-radius: 50%; + box-shadow: 0 0 12px 2px rgb(0 0 0 / 14%); + background-color: white; + width: 20px; + height: 20px; + font-size: 16px; + line-height: 20px; } #eboutic .product-button:active { - box-shadow: none; + box-shadow: none; } #eboutic .product-image { - width: 100%; - height: 100%; - min-height: 70px; - max-height: 70px; - object-fit: contain; - border-radius: 4px; - line-height: 70px; - margin-bottom: 15px; + width: 100%; + height: 100%; + min-height: 70px; + max-height: 70px; + object-fit: contain; + border-radius: 4px; + line-height: 70px; + margin-bottom: 15px; } #eboutic i.product-image { - background-color: rgba(173, 173, 173, 0.2); + background-color: rgba(173, 173, 173, 0.2); } #eboutic .product-description h4 { - font-size: .75em; - word-break: break-word; - margin: 0 0 5px 0; + font-size: .75em; + word-break: break-word; + margin: 0 0 5px 0; } #eboutic .product-button p { - font-size: 13px; - margin: 0; + font-size: 13px; + margin: 0; } #eboutic .catalog-buttons { - display: flex; - justify-content: center; - column-gap: 30px; - margin: 30px 0 0; + display: flex; + justify-content: center; + column-gap: 30px; + margin: 30px 0 0; } #eboutic input { - all: unset; + all: unset; } #eboutic .catalog-buttons button { - min-width: 60px; + min-width: 60px; } #eboutic .catalog-buttons form { - margin: 0; + margin: 0; } @media screen and (max-width: 765px) { - #eboutic #catalog { - row-gap: 15px; - width: 100%; - } + #eboutic #catalog { + row-gap: 15px; + width: 100%; + } - #eboutic section { - text-align: center; - } + #eboutic section { + text-align: center; + } - #eboutic .product-group { - justify-content: space-around; - flex-direction: column; - } + #eboutic .product-group { + justify-content: space-around; + flex-direction: column; + } - #eboutic .product-group .product-button { - min-height: 100px; - width: 100%; - max-width: 100%; - display: flex; - flex-direction: row; - gap: 10px; - } + #eboutic .product-group .product-button { + min-height: 100px; + width: 100%; + max-width: 100%; + display: flex; + flex-direction: row; + gap: 10px; + } - #eboutic .product-group .product-description { - display: flex; - flex-direction: column; - align-items: flex-start; - width: 100%; - } + #eboutic .product-group .product-description { + display: flex; + flex-direction: column; + align-items: flex-start; + width: 100%; + } - #eboutic .product-description h4 { - text-align: left; - max-width: 90%; - } + #eboutic .product-description h4 { + text-align: left; + max-width: 90%; + } - #eboutic .product-image { - margin-bottom: 0; - max-width: 70px; - } + #eboutic .product-image { + margin-bottom: 0; + max-width: 70px; + } } @keyframes bg-in-out { - 0% { background-color: white; } - 100% { background-color: rgb(216, 236, 255); } -} \ No newline at end of file + 0% { + background-color: white; + } + 100% { + background-color: rgb(216, 236, 255); + } +} diff --git a/eboutic/static/eboutic/js/eboutic.js b/eboutic/static/eboutic/js/eboutic.js index ba1e0f68..2f04faff 100644 --- a/eboutic/static/eboutic/js/eboutic.js +++ b/eboutic/static/eboutic/js/eboutic.js @@ -14,131 +14,134 @@ const BASKET_ITEMS_COOKIE_NAME = "basket_items"; * @returns {string|null|undefined} the value of the cookie or null if it does not exist, undefined if not found */ function getCookie(name) { - if (!document.cookie || document.cookie.length === 0) return null; + // biome-ignore lint/style/useBlockStatements: + if (!document.cookie || document.cookie.length === 0) return null; - let found = document.cookie - .split(';') - .map(c => c.trim()) - .find(c => c.startsWith(name + '=')); + const found = document.cookie + .split(";") + .map((c) => c.trim()) + .find((c) => c.startsWith(`${name}=`)); - return found === undefined ? undefined : decodeURIComponent(found.split('=')[1]); + return found === undefined ? undefined : decodeURIComponent(found.split("=")[1]); } /** * Fetch the basket items from the associated cookie * @returns {BasketItem[]|[]} the items in the basket */ -function get_starting_items() { - const cookie = getCookie(BASKET_ITEMS_COOKIE_NAME); - if (!cookie) { - return [] - } - // Django cookie backend converts `,` to `\054` - let parsed = JSON.parse(cookie.replace(/\\054/g, ',')); - if (typeof parsed === "string") { - // In some conditions, a second parsing is needed - parsed = JSON.parse(parsed); - } - const res = Array.isArray(parsed) ? parsed : []; - return res.filter((i) => !!document.getElementById(i.id)) +function getStartingItems() { + const cookie = getCookie(BASKET_ITEMS_COOKIE_NAME); + if (!cookie) { + return []; + } + // Django cookie backend converts `,` to `\054` + let parsed = JSON.parse(cookie.replace(/\\054/g, ",")); + if (typeof parsed === "string") { + // In some conditions, a second parsing is needed + parsed = JSON.parse(parsed); + } + const res = Array.isArray(parsed) ? parsed : []; + return res.filter((i) => !!document.getElementById(i.id)); } -document.addEventListener('alpine:init', () => { - Alpine.data('basket', () => ({ - items: get_starting_items(), +document.addEventListener("alpine:init", () => { + Alpine.data("basket", () => ({ + items: getStartingItems(), - /** - * Get the total price of the basket - * @returns {number} The total price of the basket - */ - get_total() { - return this.items - .reduce((acc, item) => acc + item["quantity"] * item["unit_price"], 0); - }, + /** + * Get the total price of the basket + * @returns {number} The total price of the basket + */ + getTotal() { + return this.items.reduce((acc, item) => acc + item.quantity * item.unit_price, 0); + }, - /** - * Add 1 to the quantity of an item in the basket - * @param {BasketItem} item - */ - add(item) { - item.quantity++; - this.set_cookies(); - }, + /** + * Add 1 to the quantity of an item in the basket + * @param {BasketItem} item + */ + add(item) { + item.quantity++; + this.setCookies(); + }, - /** - * Remove 1 to the quantity of an item in the basket - * @param {BasketItem} item_id - */ - remove(item_id) { - const index = this.items.findIndex(e => e.id === item_id); + /** + * Remove 1 to the quantity of an item in the basket + * @param {BasketItem} item_id + */ + remove(itemId) { + const index = this.items.findIndex((e) => e.id === itemId); - if (index < 0) return; - this.items[index].quantity -= 1; + if (index < 0) { + return; + } + this.items[index].quantity -= 1; - if (this.items[index].quantity === 0) { - this.items = this.items.filter((e) => e.id !== this.items[index].id); - } - this.set_cookies(); - }, + if (this.items[index].quantity === 0) { + this.items = this.items.filter((e) => e.id !== this.items[index].id); + } + this.setCookies(); + }, - /** - * Remove all the items from the basket & cleans the catalog CSS classes - */ - clear_basket() { - this.items = []; - this.set_cookies(); - }, + /** + * Remove all the items from the basket & cleans the catalog CSS classes + */ + clearBasket() { + this.items = []; + this.setCookies(); + }, - /** - * Set the cookie in the browser with the basket items - * ! the cookie survives an hour - */ - set_cookies() { - if (this.items.length === 0) { - document.cookie = `${BASKET_ITEMS_COOKIE_NAME}=;Max-Age=0`; - } else { - document.cookie = `${BASKET_ITEMS_COOKIE_NAME}=${encodeURIComponent(JSON.stringify(this.items))};Max-Age=3600`; - } - }, + /** + * Set the cookie in the browser with the basket items + * ! the cookie survives an hour + */ + setCookies() { + if (this.items.length === 0) { + document.cookie = `${BASKET_ITEMS_COOKIE_NAME}=;Max-Age=0`; + } else { + document.cookie = `${BASKET_ITEMS_COOKIE_NAME}=${encodeURIComponent(JSON.stringify(this.items))};Max-Age=3600`; + } + }, - /** - * Create an item in the basket if it was not already in - * @param {number} id The id of the product to add - * @param {string} name The name of the product - * @param {number} price The unit price of the product - * @returns {BasketItem} The created item - */ - create_item(id, name, price) { - let new_item = { - id: id, - name: name, - quantity: 0, - unit_price: price - }; + /** + * Create an item in the basket if it was not already in + * @param {number} id The id of the product to add + * @param {string} name The name of the product + * @param {number} price The unit price of the product + * @returns {BasketItem} The created item + */ + createItem(id, name, price) { + const newItem = { + id, + name, + quantity: 0, + // biome-ignore lint/style/useNamingConvention: used by django backend + unit_price: price, + }; - this.items.push(new_item); - this.add(new_item); + this.items.push(newItem); + this.add(newItem); - return new_item; - }, + return newItem; + }, - /** - * Add an item to the basket. - * This is called when the user click on a button in the catalog - * @param {number} id The id of the product to add - * @param {string} name The name of the product - * @param {number} price The unit price of the product - */ - add_from_catalog(id, name, price) { - let item = this.items.find(e => e.id === id) + /** + * Add an item to the basket. + * This is called when the user click on a button in the catalog + * @param {number} id The id of the product to add + * @param {string} name The name of the product + * @param {number} price The unit price of the product + */ + addFromCatalog(id, name, price) { + let item = this.items.find((e) => e.id === id); - // if the item is not in the basket, we create it - // else we add + 1 to it - if (!item) { - item = this.create_item(id, name, price); - } else { - this.add(item); - } - }, - })) -}) \ No newline at end of file + // if the item is not in the basket, we create it + // else we add + 1 to it + if (item) { + this.add(item); + } else { + item = this.createItem(id, name, price); + } + }, + })); +}); diff --git a/eboutic/static/eboutic/js/makecommand.js b/eboutic/static/eboutic/js/makecommand.js index 3f0fc6ab..3ccb4280 100644 --- a/eboutic/static/eboutic/js/makecommand.js +++ b/eboutic/static/eboutic/js/makecommand.js @@ -3,77 +3,85 @@ * @enum {number} */ const BillingInfoReqState = { - SUCCESS: 1, - FAILURE: 2, - SENDING: 3, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + SUCCESS: 1, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + FAILURE: 2, + // biome-ignore lint/style/useNamingConvention: this feels more like an enum + SENDING: 3, }; document.addEventListener("alpine:init", () => { - Alpine.store("billing_inputs", { - data: et_data, + Alpine.store("billing_inputs", { + // biome-ignore lint/correctness/noUndeclaredVariables: defined in eboutic_makecommand.jinja + data: etData, - async fill() { - document.getElementById("bank-submit-button").disabled = true; - const res = await fetch(et_data_url); - if (res.ok) { - this.data = await res.json(); - document.getElementById("bank-submit-button").disabled = false; - } - }, - }); + async fill() { + document.getElementById("bank-submit-button").disabled = true; + // biome-ignore lint/correctness/noUndeclaredVariables: defined in eboutic_makecommand.jinja + const res = await fetch(etDataUrl); + if (res.ok) { + this.data = await res.json(); + document.getElementById("bank-submit-button").disabled = false; + } + }, + }); - Alpine.data("billing_infos", () => ({ - /** @type {BillingInfoReqState | null} */ - req_state: null, + Alpine.data("billing_infos", () => ({ + /** @type {BillingInfoReqState | null} */ + reqState: null, - async send_form() { - this.req_state = BillingInfoReqState.SENDING; - const form = document.getElementById("billing_info_form"); - document.getElementById("bank-submit-button").disabled = true; - let payload = Object.fromEntries( - Array.from(form.querySelectorAll("input, select")) - .filter((elem) => elem.type !== "submit" && elem.value) - .map((elem) => [elem.name, elem.value]), - ); - const res = await fetch(billing_info_url, { - method: "PUT", - body: JSON.stringify(payload), - }); - this.req_state = res.ok - ? BillingInfoReqState.SUCCESS - : BillingInfoReqState.FAILURE; - if (res.status === 422) { - const errors = (await res.json())["detail"].map((err) => err["loc"]).flat(); - Array.from(form.querySelectorAll("input")) - .filter((elem) => errors.includes(elem.name)) - .forEach((elem) => { - elem.setCustomValidity(gettext("Incorrect value")); - elem.reportValidity(); - elem.oninput = () => elem.setCustomValidity(""); - }); - } else if (res.ok) { - Alpine.store("billing_inputs").fill(); - } - }, + async sendForm() { + this.reqState = BillingInfoReqState.SENDING; + const form = document.getElementById("billing_info_form"); + document.getElementById("bank-submit-button").disabled = true; + const payload = Object.fromEntries( + Array.from(form.querySelectorAll("input, select")) + .filter((elem) => elem.type !== "submit" && elem.value) + .map((elem) => [elem.name, elem.value]), + ); + // biome-ignore lint/correctness/noUndeclaredVariables: defined in eboutic_makecommand.jinja + const res = await fetch(billingInfoUrl, { + method: "PUT", + body: JSON.stringify(payload), + }); + this.reqState = res.ok + ? BillingInfoReqState.SUCCESS + : BillingInfoReqState.FAILURE; + if (res.status === 422) { + const errors = (await res.json()).detail.flatMap((err) => err.loc); + for (const elem of Array.from(form.querySelectorAll("input")).filter((elem) => + errors.includes(elem.name), + )) { + elem.setCustomValidity(gettext("Incorrect value")); + elem.reportValidity(); + elem.oninput = () => elem.setCustomValidity(""); + } + } else if (res.ok) { + Alpine.store("billing_inputs").fill(); + } + }, - get_alert_color() { - if (this.req_state === BillingInfoReqState.SUCCESS) { - return "green"; - } - if (this.req_state === BillingInfoReqState.FAILURE) { - return "red"; - } - return ""; - }, + getAlertColor() { + if (this.reqState === BillingInfoReqState.SUCCESS) { + return "green"; + } + if (this.reqState === BillingInfoReqState.FAILURE) { + return "red"; + } + return ""; + }, - get_alert_message() { - if (this.req_state === BillingInfoReqState.SUCCESS) { - return billing_info_success_message; - } - if (this.req_state === BillingInfoReqState.FAILURE) { - return billing_info_failure_message; - } - return ""; - }, - })); + getAlertMessage() { + if (this.reqState === BillingInfoReqState.SUCCESS) { + // biome-ignore lint/correctness/noUndeclaredVariables: defined in eboutic_makecommand.jinja + return billingInfoSuccessMessage; + } + if (this.reqState === BillingInfoReqState.FAILURE) { + // biome-ignore lint/correctness/noUndeclaredVariables: defined in eboutic_makecommand.jinja + return billingInfoFailureMessage; + } + return ""; + }, + })); }); diff --git a/eboutic/templates/eboutic/eboutic_main.jinja b/eboutic/templates/eboutic/eboutic_main.jinja index a0b600bb..f935e14f 100644 --- a/eboutic/templates/eboutic/eboutic_main.jinja +++ b/eboutic/templates/eboutic/eboutic_main.jinja @@ -56,11 +56,11 @@ {# Total price #}
  • {% trans %}Basket amount: {% endtrans %} - +
  • - @@ -106,13 +106,13 @@ id="{{ p.id }}" class="product-button" :class="{selected: items.some((i) => i.id === {{ p.id }})}" - @click='add_from_catalog({{ p.id }}, {{ p.name|tojson }}, {{ p.selling_price }})' + @click='addFromCatalog({{ p.id }}, {{ p.name|tojson }}, {{ p.selling_price }})' > {% if p.icon %} image de {{ p.name }} {% else %} - + {% endif %}

    {{ p.name }}

    diff --git a/eboutic/templates/eboutic/eboutic_makecommand.jinja b/eboutic/templates/eboutic/eboutic_makecommand.jinja index 85e6b501..845e8302 100644 --- a/eboutic/templates/eboutic/eboutic_makecommand.jinja +++ b/eboutic/templates/eboutic/eboutic_makecommand.jinja @@ -56,7 +56,7 @@
    @@ -73,27 +73,27 @@ x-data="billing_infos" x-show="collapsed" x-transition.scale.origin.top - @submit.prevent="await send_form()" + @submit.prevent="await sendForm()" > {% csrf_token %} {{ billing_form }}

    -
    -
    +
    +
    @@ -141,16 +141,16 @@ {% block script %} {{ super() }} diff --git a/eboutic/views.py b/eboutic/views.py index 9687bb51..7e2776f0 100644 --- a/eboutic/views.py +++ b/eboutic/views.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/election/templates/election/election_detail.jinja b/election/templates/election/election_detail.jinja index 8c9d762a..415d8c0d 100644 --- a/election/templates/election/election_detail.jinja +++ b/election/templates/election/election_detail.jinja @@ -51,7 +51,7 @@ {{ election_list.title }} {% if user.can_edit(election_list) and election.is_vote_editable -%} - + {% endif %} {%- endfor %} @@ -79,8 +79,8 @@
    {% if user.can_edit(role) and election.is_vote_editable -%}
    - ✏️ - + + {%- if role == role_list.last() %} @@ -143,8 +143,8 @@ {%- if user.can_edit(candidature) -%} {%- if election.is_vote_editable -%} {%- endif -%} {%- endif -%} diff --git a/forum/__init__.py b/forum/__init__.py index a098e7ba..f4445e69 100644 --- a/forum/__init__.py +++ b/forum/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/forum/admin.py b/forum/admin.py index c7eeefeb..29fc54fd 100644 --- a/forum/admin.py +++ b/forum/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/forum/templates/forum/macros.jinja b/forum/templates/forum/macros.jinja index f65a5606..86a42590 100644 --- a/forum/templates/forum/macros.jinja +++ b/forum/templates/forum/macros.jinja @@ -123,7 +123,7 @@ {% if user.can_edit(m) %} - + {% endif %} @@ -137,7 +137,7 @@ {% if not m._deleted and (user_is_admin or user.id == m.author_id) %} - + {% endif %} diff --git a/forum/tests.py b/forum/tests.py index 14c6ca56..6ce24c1b 100644 --- a/forum/tests.py +++ b/forum/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/galaxy/models.py b/galaxy/models.py index 7086f404..9316aacf 100644 --- a/galaxy/models.py +++ b/galaxy/models.py @@ -31,7 +31,7 @@ from typing import NamedTuple, TypedDict from django.db import models from django.db.models import Case, Count, F, Q, Value, When from django.db.models.functions import Concat -from django.utils import timezone +from django.utils.timezone import localdate from django.utils.translation import gettext_lazy as _ from club.models import Club @@ -338,7 +338,7 @@ class Galaxy(models.Model): for user1_membership in user1_memberships: if user1_membership.end_date is None: # user1_membership.save() is not called in this function, hence this is safe - user1_membership.end_date = timezone.now().date() + user1_membership.end_date = localdate() query = Q( # start2 <= start1 <= end2 start_date__lte=user1_membership.start_date, end_date__gte=user1_membership.start_date, @@ -354,7 +354,7 @@ class Galaxy(models.Model): query, club=user1_membership.club ): if user2_membership.end_date is None: - user2_membership.end_date = timezone.now().date() + user2_membership.end_date = localdate() latest_start = max( user1_membership.start_date, user2_membership.start_date ) diff --git a/galaxy/ref_galaxy_state.json b/galaxy/ref_galaxy_state.json index 6f08a6a6..12e815ca 100644 --- a/galaxy/ref_galaxy_state.json +++ b/galaxy/ref_galaxy_state.json @@ -1 +1,3529 @@ -{"nodes": [{"id": 215, "name": "Citizen n\u00b0202", "mass": 10}, {"id": 219, "name": "Citizen n\u00b0206", "mass": 10}, {"id": 221, "name": "Citizen n\u00b0208", "mass": 11}, {"id": 225, "name": "Citizen n\u00b0212", "mass": 9}, {"id": 227, "name": "Citizen n\u00b0214", "mass": 5}, {"id": 228, "name": "Citizen n\u00b0215", "mass": 8}, {"id": 231, "name": "Citizen n\u00b0218", "mass": 5}, {"id": 233, "name": "Citizen n\u00b0220", "mass": 10}, {"id": 243, "name": "Citizen n\u00b0230", "mass": 8}, {"id": 245, "name": "Citizen n\u00b0232", "mass": 9}, {"id": 248, "name": "Citizen n\u00b0235", "mass": 5}, {"id": 249, "name": "Citizen n\u00b0236", "mass": 8}, {"id": 251, "name": "Citizen n\u00b0238", "mass": 9}, {"id": 255, "name": "Citizen n\u00b0242", "mass": 10}, {"id": 257, "name": "Citizen n\u00b0244", "mass": 10}, {"id": 261, "name": "Citizen n\u00b0248", "mass": 10}, {"id": 263, "name": "Citizen n\u00b0250", "mass": 9}, {"id": 273, "name": "Citizen n\u00b0260", "mass": 10}, {"id": 275, "name": "Citizen n\u00b0262", "mass": 11}, {"id": 278, "name": "Citizen n\u00b0265", "mass": 10}, {"id": 279, "name": "Citizen n\u00b0266", "mass": 10}, {"id": 281, "name": "Citizen n\u00b0268", "mass": 10}, {"id": 285, "name": "Citizen n\u00b0272", "mass": 5}, {"id": 287, "name": "Citizen n\u00b0274", "mass": 9}, {"id": 291, "name": "Citizen n\u00b0278", "mass": 9}, {"id": 293, "name": "Citizen n\u00b0280", "mass": 10}, {"id": 303, "name": "Citizen n\u00b0290", "mass": 8}, {"id": 305, "name": "Citizen n\u00b0292", "mass": 9}, {"id": 309, "name": "Citizen n\u00b0296", "mass": 9}, {"id": 311, "name": "Citizen n\u00b0298", "mass": 8}, {"id": 315, "name": "Citizen n\u00b0302", "mass": 10}, {"id": 317, "name": "Citizen n\u00b0304", "mass": 10}, {"id": 321, "name": "Citizen n\u00b0308", "mass": 11}, {"id": 323, "name": "Citizen n\u00b0310", "mass": 6}, {"id": 333, "name": "Citizen n\u00b0320", "mass": 10}, {"id": 335, "name": "Citizen n\u00b0322", "mass": 10}, {"id": 339, "name": "Citizen n\u00b0326", "mass": 10}, {"id": 341, "name": "Citizen n\u00b0328", "mass": 10}, {"id": 345, "name": "Citizen n\u00b0332", "mass": 9}, {"id": 347, "name": "Citizen n\u00b0334", "mass": 8}, {"id": 348, "name": "Citizen n\u00b0335", "mass": 5}, {"id": 351, "name": "Citizen n\u00b0338", "mass": 9}, {"id": 353, "name": "Citizen n\u00b0340", "mass": 10}, {"id": 363, "name": "Citizen n\u00b0350", "mass": 9}, {"id": 365, "name": "Citizen n\u00b0352", "mass": 5}, {"id": 369, "name": "Citizen n\u00b0356", "mass": 8}, {"id": 371, "name": "Citizen n\u00b0358", "mass": 9}, {"id": 375, "name": "Citizen n\u00b0362", "mass": 11}, {"id": 377, "name": "Citizen n\u00b0364", "mass": 10}, {"id": 378, "name": "Citizen n\u00b0365", "mass": 10}, {"id": 381, "name": "Citizen n\u00b0368", "mass": 10}, {"id": 383, "name": "Citizen n\u00b0370", "mass": 10}, {"id": 393, "name": "Citizen n\u00b0380", "mass": 10}, {"id": 395, "name": "Citizen n\u00b0382", "mass": 10}, {"id": 398, "name": "Citizen n\u00b0385", "mass": 10}, {"id": 399, "name": "Citizen n\u00b0386", "mass": 10}, {"id": 401, "name": "Citizen n\u00b0388", "mass": 10}, {"id": 405, "name": "Citizen n\u00b0392", "mass": 9}, {"id": 407, "name": "Citizen n\u00b0394", "mass": 8}, {"id": 411, "name": "Citizen n\u00b0398", "mass": 8}, {"id": 413, "name": "Citizen n\u00b0400", "mass": 11}, {"id": 423, "name": "Citizen n\u00b0410", "mass": 6}, {"id": 425, "name": "Citizen n\u00b0412", "mass": 9}, {"id": 428, "name": "Citizen n\u00b0415", "mass": 8}, {"id": 429, "name": "Citizen n\u00b0416", "mass": 10}, {"id": 431, "name": "Citizen n\u00b0418", "mass": 5}, {"id": 435, "name": "Citizen n\u00b0422", "mass": 10}, {"id": 437, "name": "Citizen n\u00b0424", "mass": 11}, {"id": 441, "name": "Citizen n\u00b0428", "mass": 10}, {"id": 443, "name": "Citizen n\u00b0430", "mass": 8}, {"id": 453, "name": "Citizen n\u00b0440", "mass": 10}, {"id": 455, "name": "Citizen n\u00b0442", "mass": 10}, {"id": 459, "name": "Citizen n\u00b0446", "mass": 10}, {"id": 461, "name": "Citizen n\u00b0448", "mass": 10}, {"id": 465, "name": "Citizen n\u00b0452", "mass": 5}, {"id": 467, "name": "Citizen n\u00b0454", "mass": 10}, {"id": 471, "name": "Citizen n\u00b0458", "mass": 9}, {"id": 473, "name": "Citizen n\u00b0460", "mass": 10}, {"id": 483, "name": "Citizen n\u00b0470", "mass": 10}, {"id": 485, "name": "Citizen n\u00b0472", "mass": 5}, {"id": 489, "name": "Citizen n\u00b0476", "mass": 8}, {"id": 491, "name": "Citizen n\u00b0478", "mass": 9}, {"id": 495, "name": "Citizen n\u00b0482", "mass": 10}, {"id": 497, "name": "Citizen n\u00b0484", "mass": 10}, {"id": 498, "name": "Citizen n\u00b0485", "mass": 10}, {"id": 501, "name": "Citizen n\u00b0488", "mass": 10}, {"id": 503, "name": "Citizen n\u00b0490", "mass": 8}, {"id": 513, "name": "Citizen n\u00b0500", "mass": 11}, {"id": 515, "name": "Citizen n\u00b0502", "mass": 10}, {"id": 519, "name": "Citizen n\u00b0506", "mass": 10}, {"id": 521, "name": "Citizen n\u00b0508", "mass": 11}, {"id": 525, "name": "Citizen n\u00b0512", "mass": 9}, {"id": 527, "name": "Citizen n\u00b0514", "mass": 5}, {"id": 528, "name": "Citizen n\u00b0515", "mass": 8}, {"id": 531, "name": "Citizen n\u00b0518", "mass": 5}, {"id": 533, "name": "Citizen n\u00b0520", "mass": 10}, {"id": 543, "name": "Citizen n\u00b0530", "mass": 8}, {"id": 545, "name": "Citizen n\u00b0532", "mass": 9}, {"id": 548, "name": "Citizen n\u00b0535", "mass": 5}, {"id": 549, "name": "Citizen n\u00b0536", "mass": 8}, {"id": 551, "name": "Citizen n\u00b0538", "mass": 9}, {"id": 555, "name": "Citizen n\u00b0542", "mass": 10}, {"id": 557, "name": "Citizen n\u00b0544", "mass": 10}, {"id": 561, "name": "Citizen n\u00b0548", "mass": 10}, {"id": 563, "name": "Citizen n\u00b0550", "mass": 9}, {"id": 573, "name": "Citizen n\u00b0560", "mass": 10}, {"id": 575, "name": "Citizen n\u00b0562", "mass": 11}, {"id": 578, "name": "Citizen n\u00b0565", "mass": 10}, {"id": 579, "name": "Citizen n\u00b0566", "mass": 10}, {"id": 581, "name": "Citizen n\u00b0568", "mass": 10}, {"id": 585, "name": "Citizen n\u00b0572", "mass": 5}, {"id": 587, "name": "Citizen n\u00b0574", "mass": 9}, {"id": 591, "name": "Citizen n\u00b0578", "mass": 9}, {"id": 593, "name": "Citizen n\u00b0580", "mass": 10}, {"id": 603, "name": "Citizen n\u00b0590", "mass": 8}, {"id": 605, "name": "Citizen n\u00b0592", "mass": 9}, {"id": 609, "name": "Citizen n\u00b0596", "mass": 9}, {"id": 611, "name": "Citizen n\u00b0598", "mass": 8}, {"id": 615, "name": "Citizen n\u00b0602", "mass": 10}, {"id": 617, "name": "Citizen n\u00b0604", "mass": 10}, {"id": 621, "name": "Citizen n\u00b0608", "mass": 11}, {"id": 623, "name": "Citizen n\u00b0610", "mass": 6}, {"id": 633, "name": "Citizen n\u00b0620", "mass": 10}, {"id": 635, "name": "Citizen n\u00b0622", "mass": 10}, {"id": 639, "name": "Citizen n\u00b0626", "mass": 10}, {"id": 641, "name": "Citizen n\u00b0628", "mass": 10}, {"id": 645, "name": "Citizen n\u00b0632", "mass": 9}, {"id": 647, "name": "Citizen n\u00b0634", "mass": 8}, {"id": 648, "name": "Citizen n\u00b0635", "mass": 5}, {"id": 651, "name": "Citizen n\u00b0638", "mass": 9}, {"id": 653, "name": "Citizen n\u00b0640", "mass": 10}, {"id": 663, "name": "Citizen n\u00b0650", "mass": 9}, {"id": 665, "name": "Citizen n\u00b0652", "mass": 5}, {"id": 669, "name": "Citizen n\u00b0656", "mass": 8}, {"id": 671, "name": "Citizen n\u00b0658", "mass": 9}, {"id": 675, "name": "Citizen n\u00b0662", "mass": 11}, {"id": 677, "name": "Citizen n\u00b0664", "mass": 10}, {"id": 678, "name": "Citizen n\u00b0665", "mass": 10}, {"id": 681, "name": "Citizen n\u00b0668", "mass": 10}, {"id": 683, "name": "Citizen n\u00b0670", "mass": 10}, {"id": 693, "name": "Citizen n\u00b0680", "mass": 10}, {"id": 695, "name": "Citizen n\u00b0682", "mass": 10}, {"id": 698, "name": "Citizen n\u00b0685", "mass": 10}, {"id": 699, "name": "Citizen n\u00b0686", "mass": 10}, {"id": 701, "name": "Citizen n\u00b0688", "mass": 10}, {"id": 705, "name": "Citizen n\u00b0692", "mass": 9}, {"id": 707, "name": "Citizen n\u00b0694", "mass": 8}, {"id": 711, "name": "Citizen n\u00b0698", "mass": 8}, {"id": 713, "name": "Citizen n\u00b0700", "mass": 11}, {"id": 723, "name": "Citizen n\u00b0710", "mass": 6}, {"id": 725, "name": "Citizen n\u00b0712", "mass": 9}, {"id": 728, "name": "Citizen n\u00b0715", "mass": 8}, {"id": 729, "name": "Citizen n\u00b0716", "mass": 10}, {"id": 731, "name": "Citizen n\u00b0718", "mass": 5}, {"id": 735, "name": "Citizen n\u00b0722", "mass": 10}, {"id": 737, "name": "Citizen n\u00b0724", "mass": 11}, {"id": 741, "name": "Citizen n\u00b0728", "mass": 10}, {"id": 743, "name": "Citizen n\u00b0730", "mass": 8}, {"id": 753, "name": "Citizen n\u00b0740", "mass": 10}, {"id": 755, "name": "Citizen n\u00b0742", "mass": 10}, {"id": 759, "name": "Citizen n\u00b0746", "mass": 10}, {"id": 761, "name": "Citizen n\u00b0748", "mass": 10}, {"id": 765, "name": "Citizen n\u00b0752", "mass": 5}, {"id": 767, "name": "Citizen n\u00b0754", "mass": 10}, {"id": 771, "name": "Citizen n\u00b0758", "mass": 9}, {"id": 773, "name": "Citizen n\u00b0760", "mass": 10}, {"id": 783, "name": "Citizen n\u00b0770", "mass": 10}, {"id": 785, "name": "Citizen n\u00b0772", "mass": 5}, {"id": 789, "name": "Citizen n\u00b0776", "mass": 8}, {"id": 791, "name": "Citizen n\u00b0778", "mass": 9}, {"id": 795, "name": "Citizen n\u00b0782", "mass": 10}, {"id": 797, "name": "Citizen n\u00b0784", "mass": 10}, {"id": 798, "name": "Citizen n\u00b0785", "mass": 10}, {"id": 801, "name": "Citizen n\u00b0788", "mass": 10}, {"id": 803, "name": "Citizen n\u00b0790", "mass": 8}], "links": [{"source": 228, "target": 225, "value": 8}, {"source": 231, "target": 221, "value": 9}, {"source": 233, "target": 215, "value": 3}, {"source": 233, "target": 221, "value": 4}, {"source": 245, "target": 233, "value": 4}, {"source": 248, "target": 219, "value": 9}, {"source": 248, "target": 233, "value": 4}, {"source": 248, "target": 245, "value": 8}, {"source": 249, "target": 228, "value": 8}, {"source": 251, "target": 245, "value": 10}, {"source": 251, "target": 249, "value": 9}, {"source": 255, "target": 245, "value": 9}, {"source": 255, "target": 251, "value": 7}, {"source": 257, "target": 219, "value": 8}, {"source": 257, "target": 233, "value": 4}, {"source": 257, "target": 245, "value": 8}, {"source": 257, "target": 248, "value": 7}, {"source": 261, "target": 221, "value": 10}, {"source": 261, "target": 249, "value": 8}, {"source": 273, "target": 219, "value": 10}, {"source": 273, "target": 221, "value": 2}, {"source": 273, "target": 231, "value": 9}, {"source": 273, "target": 248, "value": 9}, {"source": 273, "target": 257, "value": 9}, {"source": 273, "target": 261, "value": 8}, {"source": 275, "target": 225, "value": 3}, {"source": 275, "target": 228, "value": 8}, {"source": 275, "target": 257, "value": 3}, {"source": 278, "target": 225, "value": 7}, {"source": 278, "target": 228, "value": 3}, {"source": 278, "target": 249, "value": 9}, {"source": 278, "target": 275, "value": 8}, {"source": 279, "target": 221, "value": 4}, {"source": 279, "target": 227, "value": 9}, {"source": 279, "target": 233, "value": 2}, {"source": 281, "target": 221, "value": 2}, {"source": 281, "target": 231, "value": 3}, {"source": 281, "target": 243, "value": 8}, {"source": 281, "target": 273, "value": 10}, {"source": 285, "target": 233, "value": 4}, {"source": 285, "target": 245, "value": 10}, {"source": 285, "target": 248, "value": 10}, {"source": 285, "target": 261, "value": 8}, {"source": 285, "target": 273, "value": 8}, {"source": 287, "target": 225, "value": 8}, {"source": 287, "target": 263, "value": 9}, {"source": 293, "target": 221, "value": 11}, {"source": 293, "target": 243, "value": 1}, {"source": 293, "target": 245, "value": 9}, {"source": 293, "target": 251, "value": 8}, {"source": 293, "target": 255, "value": 8}, {"source": 293, "target": 261, "value": 3}, {"source": 293, "target": 281, "value": 8}, {"source": 293, "target": 285, "value": 8}, {"source": 293, "target": 291, "value": 8}, {"source": 303, "target": 227, "value": 9}, {"source": 303, "target": 228, "value": 8}, {"source": 303, "target": 249, "value": 10}, {"source": 303, "target": 278, "value": 9}, {"source": 303, "target": 279, "value": 8}, {"source": 303, "target": 293, "value": 9}, {"source": 305, "target": 245, "value": 9}, {"source": 305, "target": 251, "value": 7}, {"source": 305, "target": 255, "value": 2}, {"source": 305, "target": 293, "value": 8}, {"source": 309, "target": 219, "value": 9}, {"source": 309, "target": 221, "value": 8}, {"source": 309, "target": 248, "value": 8}, {"source": 309, "target": 257, "value": 8}, {"source": 309, "target": 261, "value": 9}, {"source": 309, "target": 263, "value": 11}, {"source": 309, "target": 273, "value": 8}, {"source": 311, "target": 249, "value": 8}, {"source": 311, "target": 261, "value": 3}, {"source": 311, "target": 285, "value": 8}, {"source": 315, "target": 215, "value": 4}, {"source": 315, "target": 311, "value": 3}, {"source": 317, "target": 221, "value": 10}, {"source": 317, "target": 227, "value": 9}, {"source": 317, "target": 233, "value": 10}, {"source": 317, "target": 243, "value": 4}, {"source": 317, "target": 255, "value": 8}, {"source": 317, "target": 279, "value": 8}, {"source": 317, "target": 293, "value": 3}, {"source": 317, "target": 305, "value": 8}, {"source": 321, "target": 219, "value": 10}, {"source": 321, "target": 221, "value": 2}, {"source": 321, "target": 225, "value": 7}, {"source": 321, "target": 228, "value": 8}, {"source": 321, "target": 233, "value": 4}, {"source": 321, "target": 249, "value": 11}, {"source": 321, "target": 251, "value": 8}, {"source": 321, "target": 261, "value": 9}, {"source": 321, "target": 275, "value": 2}, {"source": 321, "target": 278, "value": 7}, {"source": 321, "target": 279, "value": 4}, {"source": 321, "target": 293, "value": 11}, {"source": 321, "target": 309, "value": 8}, {"source": 323, "target": 219, "value": 10}, {"source": 323, "target": 221, "value": 8}, {"source": 323, "target": 248, "value": 9}, {"source": 323, "target": 257, "value": 9}, {"source": 323, "target": 261, "value": 8}, {"source": 323, "target": 273, "value": 1}, {"source": 323, "target": 309, "value": 8}, {"source": 333, "target": 221, "value": 4}, {"source": 333, "target": 233, "value": 0}, {"source": 333, "target": 243, "value": 9}, {"source": 333, "target": 245, "value": 2}, {"source": 333, "target": 248, "value": 8}, {"source": 333, "target": 257, "value": 4}, {"source": 333, "target": 279, "value": 4}, {"source": 333, "target": 281, "value": 8}, {"source": 333, "target": 285, "value": 9}, {"source": 333, "target": 293, "value": 9}, {"source": 333, "target": 309, "value": 8}, {"source": 333, "target": 315, "value": 3}, {"source": 333, "target": 317, "value": 9}, {"source": 333, "target": 321, "value": 4}, {"source": 335, "target": 233, "value": 2}, {"source": 335, "target": 243, "value": 11}, {"source": 335, "target": 273, "value": 8}, {"source": 335, "target": 285, "value": 3}, {"source": 335, "target": 293, "value": 10}, {"source": 335, "target": 303, "value": 3}, {"source": 335, "target": 333, "value": 8}, {"source": 339, "target": 243, "value": 11}, {"source": 339, "target": 279, "value": 3}, {"source": 339, "target": 293, "value": 10}, {"source": 339, "target": 335, "value": 8}, {"source": 341, "target": 251, "value": 9}, {"source": 341, "target": 291, "value": 3}, {"source": 341, "target": 293, "value": 4}, {"source": 341, "target": 303, "value": 8}, {"source": 345, "target": 233, "value": 4}, {"source": 345, "target": 245, "value": 2}, {"source": 345, "target": 248, "value": 8}, {"source": 345, "target": 257, "value": 8}, {"source": 345, "target": 285, "value": 9}, {"source": 345, "target": 333, "value": 8}, {"source": 347, "target": 221, "value": 8}, {"source": 347, "target": 273, "value": 4}, {"source": 347, "target": 285, "value": 8}, {"source": 347, "target": 293, "value": 7}, {"source": 347, "target": 323, "value": 9}, {"source": 348, "target": 219, "value": 8}, {"source": 348, "target": 233, "value": 4}, {"source": 348, "target": 245, "value": 8}, {"source": 348, "target": 248, "value": 4}, {"source": 348, "target": 257, "value": 7}, {"source": 348, "target": 273, "value": 9}, {"source": 348, "target": 285, "value": 10}, {"source": 348, "target": 309, "value": 8}, {"source": 348, "target": 323, "value": 9}, {"source": 348, "target": 333, "value": 8}, {"source": 348, "target": 345, "value": 8}, {"source": 351, "target": 251, "value": 3}, {"source": 351, "target": 263, "value": 8}, {"source": 351, "target": 309, "value": 9}, {"source": 351, "target": 341, "value": 9}, {"source": 353, "target": 215, "value": 8}, {"source": 353, "target": 227, "value": 4}, {"source": 353, "target": 228, "value": 9}, {"source": 353, "target": 249, "value": 10}, {"source": 353, "target": 278, "value": 9}, {"source": 353, "target": 279, "value": 4}, {"source": 353, "target": 293, "value": 9}, {"source": 353, "target": 303, "value": 1}, {"source": 353, "target": 315, "value": 8}, {"source": 353, "target": 341, "value": 8}, {"source": 363, "target": 255, "value": 9}, {"source": 363, "target": 261, "value": 9}, {"source": 363, "target": 263, "value": 2}, {"source": 363, "target": 285, "value": 8}, {"source": 363, "target": 287, "value": 9}, {"source": 363, "target": 305, "value": 8}, {"source": 363, "target": 309, "value": 10}, {"source": 363, "target": 311, "value": 9}, {"source": 363, "target": 317, "value": 7}, {"source": 363, "target": 351, "value": 8}, {"source": 365, "target": 215, "value": 4}, {"source": 365, "target": 225, "value": 9}, {"source": 365, "target": 227, "value": 4}, {"source": 365, "target": 228, "value": 10}, {"source": 365, "target": 275, "value": 9}, {"source": 365, "target": 278, "value": 10}, {"source": 365, "target": 291, "value": 8}, {"source": 365, "target": 293, "value": 9}, {"source": 365, "target": 315, "value": 3}, {"source": 365, "target": 317, "value": 4}, {"source": 365, "target": 321, "value": 9}, {"source": 365, "target": 341, "value": 8}, {"source": 365, "target": 353, "value": 8}, {"source": 369, "target": 219, "value": 4}, {"source": 369, "target": 221, "value": 9}, {"source": 369, "target": 231, "value": 8}, {"source": 369, "target": 248, "value": 8}, {"source": 369, "target": 257, "value": 8}, {"source": 369, "target": 273, "value": 5}, {"source": 369, "target": 281, "value": 8}, {"source": 369, "target": 309, "value": 9}, {"source": 369, "target": 321, "value": 10}, {"source": 369, "target": 323, "value": 10}, {"source": 369, "target": 348, "value": 8}, {"source": 371, "target": 221, "value": 4}, {"source": 371, "target": 261, "value": 10}, {"source": 371, "target": 293, "value": 11}, {"source": 371, "target": 309, "value": 8}, {"source": 371, "target": 321, "value": 3}, {"source": 375, "target": 225, "value": 4}, {"source": 375, "target": 228, "value": 8}, {"source": 375, "target": 275, "value": 4}, {"source": 375, "target": 278, "value": 8}, {"source": 375, "target": 287, "value": 3}, {"source": 375, "target": 321, "value": 7}, {"source": 375, "target": 365, "value": 9}, {"source": 377, "target": 221, "value": 10}, {"source": 377, "target": 225, "value": 9}, {"source": 377, "target": 227, "value": 4}, {"source": 377, "target": 231, "value": 8}, {"source": 377, "target": 243, "value": 10}, {"source": 377, "target": 255, "value": 10}, {"source": 377, "target": 273, "value": 4}, {"source": 377, "target": 275, "value": 2}, {"source": 377, "target": 279, "value": 10}, {"source": 377, "target": 281, "value": 8}, {"source": 377, "target": 285, "value": 9}, {"source": 377, "target": 293, "value": 10}, {"source": 377, "target": 303, "value": 9}, {"source": 377, "target": 305, "value": 10}, {"source": 377, "target": 317, "value": 9}, {"source": 377, "target": 335, "value": 4}, {"source": 377, "target": 339, "value": 8}, {"source": 377, "target": 345, "value": 3}, {"source": 377, "target": 353, "value": 4}, {"source": 377, "target": 365, "value": 4}, {"source": 377, "target": 369, "value": 7}, {"source": 377, "target": 375, "value": 8}, {"source": 378, "target": 225, "value": 8}, {"source": 378, "target": 228, "value": 4}, {"source": 378, "target": 249, "value": 8}, {"source": 378, "target": 275, "value": 8}, {"source": 378, "target": 278, "value": 4}, {"source": 378, "target": 303, "value": 9}, {"source": 378, "target": 321, "value": 8}, {"source": 378, "target": 353, "value": 9}, {"source": 378, "target": 365, "value": 10}, {"source": 378, "target": 375, "value": 8}, {"source": 381, "target": 221, "value": 10}, {"source": 381, "target": 231, "value": 4}, {"source": 381, "target": 233, "value": 4}, {"source": 381, "target": 243, "value": 8}, {"source": 381, "target": 251, "value": 3}, {"source": 381, "target": 257, "value": 8}, {"source": 381, "target": 273, "value": 10}, {"source": 381, "target": 281, "value": 2}, {"source": 381, "target": 291, "value": 9}, {"source": 381, "target": 293, "value": 8}, {"source": 381, "target": 321, "value": 3}, {"source": 381, "target": 333, "value": 2}, {"source": 381, "target": 341, "value": 9}, {"source": 381, "target": 369, "value": 8}, {"source": 381, "target": 377, "value": 8}, {"source": 383, "target": 221, "value": 4}, {"source": 383, "target": 233, "value": 1}, {"source": 383, "target": 257, "value": 8}, {"source": 383, "target": 279, "value": 4}, {"source": 383, "target": 317, "value": 9}, {"source": 383, "target": 321, "value": 4}, {"source": 383, "target": 333, "value": 1}, {"source": 383, "target": 335, "value": 9}, {"source": 383, "target": 381, "value": 7}, {"source": 393, "target": 221, "value": 3}, {"source": 393, "target": 243, "value": 1}, {"source": 393, "target": 245, "value": 9}, {"source": 393, "target": 251, "value": 8}, {"source": 393, "target": 255, "value": 8}, {"source": 393, "target": 281, "value": 8}, {"source": 393, "target": 291, "value": 3}, {"source": 393, "target": 293, "value": 1}, {"source": 393, "target": 305, "value": 8}, {"source": 393, "target": 317, "value": 3}, {"source": 393, "target": 333, "value": 9}, {"source": 393, "target": 335, "value": 10}, {"source": 393, "target": 339, "value": 10}, {"source": 393, "target": 377, "value": 9}, {"source": 393, "target": 381, "value": 8}, {"source": 395, "target": 233, "value": 4}, {"source": 395, "target": 245, "value": 4}, {"source": 395, "target": 248, "value": 8}, {"source": 395, "target": 279, "value": 3}, {"source": 395, "target": 285, "value": 10}, {"source": 395, "target": 333, "value": 8}, {"source": 395, "target": 345, "value": 3}, {"source": 395, "target": 348, "value": 8}, {"source": 398, "target": 219, "value": 8}, {"source": 398, "target": 233, "value": 4}, {"source": 398, "target": 243, "value": 9}, {"source": 398, "target": 245, "value": 8}, {"source": 398, "target": 248, "value": 4}, {"source": 398, "target": 257, "value": 8}, {"source": 398, "target": 273, "value": 10}, {"source": 398, "target": 281, "value": 8}, {"source": 398, "target": 285, "value": 10}, {"source": 398, "target": 293, "value": 9}, {"source": 398, "target": 309, "value": 9}, {"source": 398, "target": 323, "value": 9}, {"source": 398, "target": 333, "value": 4}, {"source": 398, "target": 345, "value": 7}, {"source": 398, "target": 348, "value": 3}, {"source": 398, "target": 369, "value": 8}, {"source": 398, "target": 381, "value": 8}, {"source": 398, "target": 393, "value": 9}, {"source": 398, "target": 395, "value": 8}, {"source": 399, "target": 228, "value": 9}, {"source": 399, "target": 249, "value": 4}, {"source": 399, "target": 251, "value": 10}, {"source": 399, "target": 255, "value": 3}, {"source": 399, "target": 278, "value": 8}, {"source": 399, "target": 303, "value": 11}, {"source": 399, "target": 321, "value": 11}, {"source": 399, "target": 353, "value": 10}, {"source": 399, "target": 378, "value": 8}, {"source": 399, "target": 395, "value": 3}, {"source": 401, "target": 243, "value": 3}, {"source": 401, "target": 251, "value": 4}, {"source": 401, "target": 263, "value": 8}, {"source": 401, "target": 341, "value": 9}, {"source": 401, "target": 351, "value": 3}, {"source": 401, "target": 363, "value": 8}, {"source": 401, "target": 383, "value": 3}, {"source": 405, "target": 215, "value": 9}, {"source": 405, "target": 233, "value": 10}, {"source": 405, "target": 245, "value": 10}, {"source": 405, "target": 251, "value": 8}, {"source": 405, "target": 255, "value": 2}, {"source": 405, "target": 263, "value": 11}, {"source": 405, "target": 293, "value": 8}, {"source": 405, "target": 303, "value": 9}, {"source": 405, "target": 305, "value": 2}, {"source": 405, "target": 309, "value": 8}, {"source": 405, "target": 315, "value": 9}, {"source": 405, "target": 317, "value": 8}, {"source": 405, "target": 333, "value": 10}, {"source": 405, "target": 335, "value": 8}, {"source": 405, "target": 351, "value": 9}, {"source": 405, "target": 353, "value": 4}, {"source": 405, "target": 363, "value": 4}, {"source": 405, "target": 365, "value": 9}, {"source": 405, "target": 377, "value": 11}, {"source": 405, "target": 383, "value": 10}, {"source": 405, "target": 393, "value": 8}, {"source": 407, "target": 233, "value": 4}, {"source": 407, "target": 245, "value": 8}, {"source": 407, "target": 257, "value": 4}, {"source": 407, "target": 333, "value": 4}, {"source": 407, "target": 345, "value": 7}, {"source": 407, "target": 381, "value": 8}, {"source": 407, "target": 383, "value": 9}, {"source": 411, "target": 249, "value": 8}, {"source": 411, "target": 261, "value": 4}, {"source": 411, "target": 285, "value": 8}, {"source": 411, "target": 311, "value": 4}, {"source": 411, "target": 363, "value": 9}, {"source": 413, "target": 215, "value": 26}, {"source": 413, "target": 219, "value": 27}, {"source": 413, "target": 221, "value": 26}, {"source": 413, "target": 225, "value": 6}, {"source": 413, "target": 227, "value": 28}, {"source": 413, "target": 228, "value": 6}, {"source": 413, "target": 231, "value": 27}, {"source": 413, "target": 233, "value": 27}, {"source": 413, "target": 243, "value": 29}, {"source": 413, "target": 245, "value": 28}, {"source": 413, "target": 248, "value": 28}, {"source": 413, "target": 249, "value": 29}, {"source": 413, "target": 251, "value": 28}, {"source": 413, "target": 255, "value": 28}, {"source": 413, "target": 257, "value": 29}, {"source": 413, "target": 261, "value": 6}, {"source": 413, "target": 263, "value": 1}, {"source": 413, "target": 273, "value": 7}, {"source": 413, "target": 275, "value": 6}, {"source": 413, "target": 278, "value": 6}, {"source": 413, "target": 279, "value": 29}, {"source": 413, "target": 287, "value": 4}, {"source": 413, "target": 309, "value": 8}, {"source": 413, "target": 321, "value": 7}, {"source": 413, "target": 323, "value": 8}, {"source": 413, "target": 339, "value": 7}, {"source": 413, "target": 351, "value": 7}, {"source": 413, "target": 353, "value": 3}, {"source": 413, "target": 363, "value": 1}, {"source": 413, "target": 365, "value": 8}, {"source": 413, "target": 375, "value": 8}, {"source": 413, "target": 378, "value": 8}, {"source": 413, "target": 401, "value": 8}, {"source": 413, "target": 405, "value": 9}, {"source": 423, "target": 219, "value": 10}, {"source": 423, "target": 221, "value": 8}, {"source": 423, "target": 248, "value": 8}, {"source": 423, "target": 257, "value": 9}, {"source": 423, "target": 261, "value": 8}, {"source": 423, "target": 273, "value": 1}, {"source": 423, "target": 309, "value": 8}, {"source": 423, "target": 323, "value": 2}, {"source": 423, "target": 347, "value": 8}, {"source": 423, "target": 348, "value": 8}, {"source": 423, "target": 369, "value": 10}, {"source": 423, "target": 398, "value": 9}, {"source": 423, "target": 413, "value": 8}, {"source": 425, "target": 225, "value": 2}, {"source": 425, "target": 228, "value": 8}, {"source": 425, "target": 275, "value": 4}, {"source": 425, "target": 278, "value": 8}, {"source": 425, "target": 287, "value": 8}, {"source": 425, "target": 321, "value": 8}, {"source": 425, "target": 365, "value": 9}, {"source": 425, "target": 375, "value": 3}, {"source": 425, "target": 377, "value": 9}, {"source": 425, "target": 378, "value": 8}, {"source": 425, "target": 413, "value": 8}, {"source": 428, "target": 225, "value": 8}, {"source": 428, "target": 228, "value": 4}, {"source": 428, "target": 249, "value": 8}, {"source": 428, "target": 275, "value": 8}, {"source": 428, "target": 278, "value": 4}, {"source": 428, "target": 303, "value": 9}, {"source": 428, "target": 321, "value": 8}, {"source": 428, "target": 353, "value": 9}, {"source": 428, "target": 365, "value": 9}, {"source": 428, "target": 375, "value": 7}, {"source": 428, "target": 378, "value": 3}, {"source": 428, "target": 399, "value": 8}, {"source": 428, "target": 413, "value": 8}, {"source": 428, "target": 425, "value": 8}, {"source": 429, "target": 221, "value": 11}, {"source": 429, "target": 225, "value": 8}, {"source": 429, "target": 233, "value": 11}, {"source": 429, "target": 243, "value": 9}, {"source": 429, "target": 255, "value": 8}, {"source": 429, "target": 279, "value": 4}, {"source": 429, "target": 287, "value": 9}, {"source": 429, "target": 291, "value": 8}, {"source": 429, "target": 293, "value": 8}, {"source": 429, "target": 305, "value": 8}, {"source": 429, "target": 317, "value": 8}, {"source": 429, "target": 333, "value": 11}, {"source": 429, "target": 335, "value": 9}, {"source": 429, "target": 339, "value": 9}, {"source": 429, "target": 341, "value": 8}, {"source": 429, "target": 377, "value": 4}, {"source": 429, "target": 381, "value": 9}, {"source": 429, "target": 383, "value": 10}, {"source": 429, "target": 393, "value": 8}, {"source": 429, "target": 405, "value": 8}, {"source": 429, "target": 425, "value": 9}, {"source": 431, "target": 221, "value": 10}, {"source": 431, "target": 231, "value": 4}, {"source": 431, "target": 243, "value": 9}, {"source": 431, "target": 273, "value": 10}, {"source": 431, "target": 281, "value": 2}, {"source": 431, "target": 293, "value": 9}, {"source": 431, "target": 333, "value": 8}, {"source": 431, "target": 369, "value": 7}, {"source": 431, "target": 377, "value": 7}, {"source": 431, "target": 381, "value": 2}, {"source": 431, "target": 393, "value": 9}, {"source": 431, "target": 398, "value": 8}, {"source": 435, "target": 263, "value": 3}, {"source": 435, "target": 273, "value": 8}, {"source": 435, "target": 285, "value": 4}, {"source": 435, "target": 333, "value": 3}, {"source": 435, "target": 335, "value": 4}, {"source": 435, "target": 377, "value": 9}, {"source": 437, "target": 225, "value": 8}, {"source": 437, "target": 228, "value": 8}, {"source": 437, "target": 249, "value": 8}, {"source": 437, "target": 251, "value": 3}, {"source": 437, "target": 263, "value": 9}, {"source": 437, "target": 278, "value": 8}, {"source": 437, "target": 285, "value": 8}, {"source": 437, "target": 287, "value": 4}, {"source": 437, "target": 293, "value": 9}, {"source": 437, "target": 303, "value": 10}, {"source": 437, "target": 321, "value": 3}, {"source": 437, "target": 347, "value": 9}, {"source": 437, "target": 353, "value": 10}, {"source": 437, "target": 363, "value": 9}, {"source": 437, "target": 378, "value": 8}, {"source": 437, "target": 399, "value": 8}, {"source": 437, "target": 413, "value": 4}, {"source": 437, "target": 425, "value": 8}, {"source": 437, "target": 428, "value": 7}, {"source": 437, "target": 429, "value": 9}, {"source": 441, "target": 291, "value": 4}, {"source": 441, "target": 293, "value": 5}, {"source": 441, "target": 303, "value": 8}, {"source": 441, "target": 341, "value": 2}, {"source": 441, "target": 353, "value": 8}, {"source": 441, "target": 365, "value": 8}, {"source": 441, "target": 381, "value": 9}, {"source": 441, "target": 429, "value": 8}, {"source": 441, "target": 437, "value": 3}, {"source": 443, "target": 243, "value": 2}, {"source": 443, "target": 281, "value": 8}, {"source": 443, "target": 293, "value": 1}, {"source": 443, "target": 317, "value": 4}, {"source": 443, "target": 333, "value": 9}, {"source": 443, "target": 335, "value": 10}, {"source": 443, "target": 339, "value": 10}, {"source": 443, "target": 377, "value": 9}, {"source": 443, "target": 381, "value": 8}, {"source": 443, "target": 393, "value": 1}, {"source": 443, "target": 398, "value": 9}, {"source": 443, "target": 429, "value": 8}, {"source": 443, "target": 431, "value": 9}, {"source": 453, "target": 215, "value": 4}, {"source": 453, "target": 227, "value": 4}, {"source": 453, "target": 228, "value": 8}, {"source": 453, "target": 249, "value": 10}, {"source": 453, "target": 263, "value": 9}, {"source": 453, "target": 278, "value": 8}, {"source": 453, "target": 279, "value": 4}, {"source": 453, "target": 293, "value": 10}, {"source": 453, "target": 303, "value": 1}, {"source": 453, "target": 315, "value": 4}, {"source": 453, "target": 341, "value": 8}, {"source": 453, "target": 353, "value": 0}, {"source": 453, "target": 363, "value": 9}, {"source": 453, "target": 365, "value": 4}, {"source": 453, "target": 377, "value": 4}, {"source": 453, "target": 378, "value": 8}, {"source": 453, "target": 399, "value": 9}, {"source": 453, "target": 401, "value": 8}, {"source": 453, "target": 405, "value": 3}, {"source": 453, "target": 407, "value": 3}, {"source": 453, "target": 413, "value": 9}, {"source": 453, "target": 428, "value": 8}, {"source": 453, "target": 437, "value": 9}, {"source": 453, "target": 441, "value": 8}, {"source": 455, "target": 245, "value": 10}, {"source": 455, "target": 251, "value": 8}, {"source": 455, "target": 255, "value": 1}, {"source": 455, "target": 263, "value": 9}, {"source": 455, "target": 293, "value": 8}, {"source": 455, "target": 305, "value": 4}, {"source": 455, "target": 363, "value": 9}, {"source": 455, "target": 377, "value": 11}, {"source": 455, "target": 393, "value": 8}, {"source": 455, "target": 395, "value": 3}, {"source": 455, "target": 401, "value": 8}, {"source": 455, "target": 405, "value": 3}, {"source": 455, "target": 413, "value": 9}, {"source": 455, "target": 429, "value": 8}, {"source": 455, "target": 453, "value": 7}, {"source": 459, "target": 263, "value": 11}, {"source": 459, "target": 309, "value": 4}, {"source": 459, "target": 333, "value": 8}, {"source": 459, "target": 351, "value": 10}, {"source": 459, "target": 363, "value": 10}, {"source": 459, "target": 371, "value": 3}, {"source": 459, "target": 405, "value": 7}, {"source": 459, "target": 413, "value": 10}, {"source": 459, "target": 441, "value": 3}, {"source": 461, "target": 215, "value": 8}, {"source": 461, "target": 221, "value": 9}, {"source": 461, "target": 249, "value": 8}, {"source": 461, "target": 261, "value": 2}, {"source": 461, "target": 263, "value": 8}, {"source": 461, "target": 273, "value": 8}, {"source": 461, "target": 285, "value": 8}, {"source": 461, "target": 287, "value": 8}, {"source": 461, "target": 309, "value": 4}, {"source": 461, "target": 311, "value": 4}, {"source": 461, "target": 315, "value": 8}, {"source": 461, "target": 321, "value": 9}, {"source": 461, "target": 323, "value": 8}, {"source": 461, "target": 333, "value": 8}, {"source": 461, "target": 339, "value": 10}, {"source": 461, "target": 353, "value": 8}, {"source": 461, "target": 363, "value": 4}, {"source": 461, "target": 365, "value": 7}, {"source": 461, "target": 371, "value": 9}, {"source": 461, "target": 405, "value": 9}, {"source": 461, "target": 411, "value": 3}, {"source": 461, "target": 413, "value": 2}, {"source": 461, "target": 423, "value": 8}, {"source": 461, "target": 429, "value": 3}, {"source": 461, "target": 437, "value": 8}, {"source": 461, "target": 453, "value": 4}, {"source": 461, "target": 459, "value": 8}, {"source": 465, "target": 215, "value": 4}, {"source": 465, "target": 227, "value": 8}, {"source": 465, "target": 315, "value": 4}, {"source": 465, "target": 317, "value": 9}, {"source": 465, "target": 353, "value": 8}, {"source": 465, "target": 365, "value": 2}, {"source": 465, "target": 377, "value": 8}, {"source": 465, "target": 405, "value": 9}, {"source": 465, "target": 453, "value": 4}, {"source": 465, "target": 461, "value": 7}, {"source": 467, "target": 243, "value": 9}, {"source": 467, "target": 255, "value": 10}, {"source": 467, "target": 293, "value": 4}, {"source": 467, "target": 305, "value": 8}, {"source": 467, "target": 317, "value": 4}, {"source": 467, "target": 363, "value": 8}, {"source": 467, "target": 393, "value": 4}, {"source": 467, "target": 405, "value": 7}, {"source": 467, "target": 443, "value": 9}, {"source": 471, "target": 221, "value": 4}, {"source": 471, "target": 261, "value": 10}, {"source": 471, "target": 293, "value": 11}, {"source": 471, "target": 309, "value": 8}, {"source": 471, "target": 321, "value": 4}, {"source": 471, "target": 371, "value": 4}, {"source": 471, "target": 461, "value": 8}, {"source": 473, "target": 219, "value": 9}, {"source": 473, "target": 221, "value": 4}, {"source": 473, "target": 248, "value": 8}, {"source": 473, "target": 257, "value": 9}, {"source": 473, "target": 261, "value": 8}, {"source": 473, "target": 273, "value": 1}, {"source": 473, "target": 285, "value": 8}, {"source": 473, "target": 309, "value": 8}, {"source": 473, "target": 323, "value": 1}, {"source": 473, "target": 335, "value": 8}, {"source": 473, "target": 347, "value": 4}, {"source": 473, "target": 348, "value": 8}, {"source": 473, "target": 369, "value": 10}, {"source": 473, "target": 377, "value": 9}, {"source": 473, "target": 398, "value": 8}, {"source": 473, "target": 399, "value": 3}, {"source": 473, "target": 413, "value": 9}, {"source": 473, "target": 423, "value": 1}, {"source": 473, "target": 435, "value": 8}, {"source": 473, "target": 461, "value": 8}, {"source": 483, "target": 221, "value": 4}, {"source": 483, "target": 233, "value": 1}, {"source": 483, "target": 257, "value": 8}, {"source": 483, "target": 279, "value": 4}, {"source": 483, "target": 317, "value": 9}, {"source": 483, "target": 321, "value": 4}, {"source": 483, "target": 333, "value": 1}, {"source": 483, "target": 335, "value": 10}, {"source": 483, "target": 381, "value": 8}, {"source": 483, "target": 383, "value": 2}, {"source": 483, "target": 405, "value": 10}, {"source": 483, "target": 407, "value": 8}, {"source": 483, "target": 429, "value": 9}, {"source": 485, "target": 233, "value": 4}, {"source": 485, "target": 245, "value": 9}, {"source": 485, "target": 248, "value": 9}, {"source": 485, "target": 273, "value": 8}, {"source": 485, "target": 285, "value": 2}, {"source": 485, "target": 293, "value": 8}, {"source": 485, "target": 333, "value": 8}, {"source": 485, "target": 335, "value": 4}, {"source": 485, "target": 345, "value": 9}, {"source": 485, "target": 347, "value": 8}, {"source": 485, "target": 348, "value": 9}, {"source": 485, "target": 377, "value": 10}, {"source": 485, "target": 395, "value": 9}, {"source": 485, "target": 398, "value": 9}, {"source": 485, "target": 435, "value": 3}, {"source": 485, "target": 437, "value": 9}, {"source": 485, "target": 473, "value": 8}, {"source": 489, "target": 243, "value": 3}, {"source": 489, "target": 251, "value": 8}, {"source": 489, "target": 263, "value": 8}, {"source": 489, "target": 281, "value": 8}, {"source": 489, "target": 287, "value": 9}, {"source": 489, "target": 293, "value": 2}, {"source": 489, "target": 317, "value": 10}, {"source": 489, "target": 333, "value": 10}, {"source": 489, "target": 335, "value": 8}, {"source": 489, "target": 339, "value": 4}, {"source": 489, "target": 341, "value": 9}, {"source": 489, "target": 351, "value": 8}, {"source": 489, "target": 363, "value": 8}, {"source": 489, "target": 377, "value": 8}, {"source": 489, "target": 381, "value": 8}, {"source": 489, "target": 393, "value": 2}, {"source": 489, "target": 398, "value": 9}, {"source": 489, "target": 401, "value": 8}, {"source": 489, "target": 413, "value": 2}, {"source": 489, "target": 429, "value": 9}, {"source": 489, "target": 431, "value": 8}, {"source": 489, "target": 437, "value": 8}, {"source": 489, "target": 443, "value": 3}, {"source": 489, "target": 461, "value": 4}, {"source": 489, "target": 467, "value": 10}, {"source": 491, "target": 291, "value": 4}, {"source": 491, "target": 293, "value": 10}, {"source": 491, "target": 341, "value": 4}, {"source": 491, "target": 365, "value": 8}, {"source": 491, "target": 381, "value": 9}, {"source": 491, "target": 429, "value": 7}, {"source": 491, "target": 441, "value": 3}, {"source": 495, "target": 233, "value": 4}, {"source": 495, "target": 245, "value": 4}, {"source": 495, "target": 248, "value": 8}, {"source": 495, "target": 285, "value": 10}, {"source": 495, "target": 309, "value": 3}, {"source": 495, "target": 333, "value": 8}, {"source": 495, "target": 345, "value": 4}, {"source": 495, "target": 348, "value": 8}, {"source": 495, "target": 395, "value": 4}, {"source": 495, "target": 398, "value": 8}, {"source": 495, "target": 485, "value": 8}, {"source": 497, "target": 221, "value": 8}, {"source": 497, "target": 263, "value": 5}, {"source": 497, "target": 273, "value": 4}, {"source": 497, "target": 285, "value": 8}, {"source": 497, "target": 293, "value": 8}, {"source": 497, "target": 309, "value": 4}, {"source": 497, "target": 323, "value": 9}, {"source": 497, "target": 347, "value": 4}, {"source": 497, "target": 351, "value": 4}, {"source": 497, "target": 363, "value": 4}, {"source": 497, "target": 405, "value": 4}, {"source": 497, "target": 413, "value": 4}, {"source": 497, "target": 423, "value": 9}, {"source": 497, "target": 437, "value": 2}, {"source": 497, "target": 459, "value": 4}, {"source": 497, "target": 473, "value": 4}, {"source": 497, "target": 485, "value": 8}, {"source": 498, "target": 219, "value": 8}, {"source": 498, "target": 233, "value": 4}, {"source": 498, "target": 245, "value": 8}, {"source": 498, "target": 248, "value": 4}, {"source": 498, "target": 257, "value": 8}, {"source": 498, "target": 273, "value": 10}, {"source": 498, "target": 285, "value": 10}, {"source": 498, "target": 309, "value": 9}, {"source": 498, "target": 323, "value": 10}, {"source": 498, "target": 333, "value": 9}, {"source": 498, "target": 345, "value": 8}, {"source": 498, "target": 348, "value": 4}, {"source": 498, "target": 369, "value": 8}, {"source": 498, "target": 395, "value": 8}, {"source": 498, "target": 398, "value": 4}, {"source": 498, "target": 423, "value": 9}, {"source": 498, "target": 473, "value": 9}, {"source": 498, "target": 485, "value": 9}, {"source": 498, "target": 495, "value": 8}, {"source": 501, "target": 249, "value": 8}, {"source": 501, "target": 251, "value": 4}, {"source": 501, "target": 261, "value": 9}, {"source": 501, "target": 263, "value": 8}, {"source": 501, "target": 311, "value": 9}, {"source": 501, "target": 341, "value": 10}, {"source": 501, "target": 351, "value": 4}, {"source": 501, "target": 363, "value": 8}, {"source": 501, "target": 401, "value": 2}, {"source": 501, "target": 411, "value": 9}, {"source": 501, "target": 413, "value": 2}, {"source": 501, "target": 453, "value": 8}, {"source": 501, "target": 455, "value": 8}, {"source": 501, "target": 461, "value": 9}, {"source": 501, "target": 483, "value": 3}, {"source": 501, "target": 489, "value": 8}, {"source": 503, "target": 227, "value": 8}, {"source": 503, "target": 228, "value": 8}, {"source": 503, "target": 245, "value": 8}, {"source": 503, "target": 249, "value": 9}, {"source": 503, "target": 251, "value": 9}, {"source": 503, "target": 257, "value": 8}, {"source": 503, "target": 278, "value": 8}, {"source": 503, "target": 279, "value": 9}, {"source": 503, "target": 293, "value": 10}, {"source": 503, "target": 303, "value": 2}, {"source": 503, "target": 341, "value": 8}, {"source": 503, "target": 345, "value": 8}, {"source": 503, "target": 351, "value": 9}, {"source": 503, "target": 353, "value": 1}, {"source": 503, "target": 377, "value": 8}, {"source": 503, "target": 378, "value": 8}, {"source": 503, "target": 399, "value": 9}, {"source": 503, "target": 401, "value": 9}, {"source": 503, "target": 405, "value": 9}, {"source": 503, "target": 407, "value": 7}, {"source": 503, "target": 428, "value": 8}, {"source": 503, "target": 437, "value": 9}, {"source": 503, "target": 441, "value": 8}, {"source": 503, "target": 453, "value": 1}, {"source": 503, "target": 501, "value": 8}, {"source": 513, "target": 215, "value": 26}, {"source": 513, "target": 219, "value": 27}, {"source": 513, "target": 221, "value": 26}, {"source": 513, "target": 225, "value": 6}, {"source": 513, "target": 227, "value": 29}, {"source": 513, "target": 228, "value": 6}, {"source": 513, "target": 231, "value": 28}, {"source": 513, "target": 233, "value": 29}, {"source": 513, "target": 243, "value": 29}, {"source": 513, "target": 245, "value": 28}, {"source": 513, "target": 248, "value": 29}, {"source": 513, "target": 249, "value": 29}, {"source": 513, "target": 251, "value": 28}, {"source": 513, "target": 255, "value": 28}, {"source": 513, "target": 257, "value": 29}, {"source": 513, "target": 261, "value": 29}, {"source": 513, "target": 263, "value": 1}, {"source": 513, "target": 273, "value": 28}, {"source": 513, "target": 275, "value": 6}, {"source": 513, "target": 278, "value": 6}, {"source": 513, "target": 287, "value": 3}, {"source": 513, "target": 309, "value": 8}, {"source": 513, "target": 321, "value": 7}, {"source": 513, "target": 351, "value": 7}, {"source": 513, "target": 363, "value": 1}, {"source": 513, "target": 365, "value": 9}, {"source": 513, "target": 375, "value": 8}, {"source": 513, "target": 378, "value": 8}, {"source": 513, "target": 383, "value": 3}, {"source": 513, "target": 401, "value": 8}, {"source": 513, "target": 405, "value": 9}, {"source": 513, "target": 413, "value": 0}, {"source": 513, "target": 425, "value": 8}, {"source": 513, "target": 428, "value": 8}, {"source": 513, "target": 437, "value": 4}, {"source": 513, "target": 453, "value": 2}, {"source": 513, "target": 455, "value": 9}, {"source": 513, "target": 459, "value": 9}, {"source": 513, "target": 461, "value": 4}, {"source": 513, "target": 489, "value": 4}, {"source": 513, "target": 497, "value": 4}, {"source": 513, "target": 501, "value": 8}, {"source": 515, "target": 215, "value": 4}, {"source": 515, "target": 315, "value": 4}, {"source": 515, "target": 353, "value": 8}, {"source": 515, "target": 365, "value": 4}, {"source": 515, "target": 371, "value": 3}, {"source": 515, "target": 405, "value": 9}, {"source": 515, "target": 441, "value": 3}, {"source": 515, "target": 453, "value": 4}, {"source": 515, "target": 461, "value": 7}, {"source": 515, "target": 465, "value": 3}, {"source": 519, "target": 219, "value": 4}, {"source": 519, "target": 221, "value": 9}, {"source": 519, "target": 231, "value": 8}, {"source": 519, "target": 248, "value": 9}, {"source": 519, "target": 257, "value": 8}, {"source": 519, "target": 273, "value": 5}, {"source": 519, "target": 281, "value": 8}, {"source": 519, "target": 309, "value": 10}, {"source": 519, "target": 321, "value": 10}, {"source": 519, "target": 323, "value": 11}, {"source": 519, "target": 347, "value": 3}, {"source": 519, "target": 348, "value": 9}, {"source": 519, "target": 369, "value": 2}, {"source": 519, "target": 377, "value": 8}, {"source": 519, "target": 381, "value": 8}, {"source": 519, "target": 398, "value": 8}, {"source": 519, "target": 423, "value": 10}, {"source": 519, "target": 431, "value": 8}, {"source": 519, "target": 473, "value": 10}, {"source": 519, "target": 498, "value": 8}, {"source": 521, "target": 221, "value": 2}, {"source": 521, "target": 233, "value": 8}, {"source": 521, "target": 261, "value": 10}, {"source": 521, "target": 279, "value": 8}, {"source": 521, "target": 293, "value": 11}, {"source": 521, "target": 309, "value": 8}, {"source": 521, "target": 321, "value": 2}, {"source": 521, "target": 333, "value": 8}, {"source": 521, "target": 335, "value": 3}, {"source": 521, "target": 371, "value": 4}, {"source": 521, "target": 383, "value": 8}, {"source": 521, "target": 405, "value": 3}, {"source": 521, "target": 461, "value": 9}, {"source": 521, "target": 471, "value": 3}, {"source": 521, "target": 483, "value": 8}, {"source": 525, "target": 225, "value": 2}, {"source": 525, "target": 228, "value": 8}, {"source": 525, "target": 251, "value": 8}, {"source": 525, "target": 273, "value": 8}, {"source": 525, "target": 275, "value": 4}, {"source": 525, "target": 278, "value": 8}, {"source": 525, "target": 285, "value": 9}, {"source": 525, "target": 287, "value": 8}, {"source": 525, "target": 321, "value": 8}, {"source": 525, "target": 335, "value": 9}, {"source": 525, "target": 351, "value": 8}, {"source": 525, "target": 365, "value": 10}, {"source": 525, "target": 375, "value": 4}, {"source": 525, "target": 377, "value": 4}, {"source": 525, "target": 378, "value": 8}, {"source": 525, "target": 401, "value": 8}, {"source": 525, "target": 413, "value": 8}, {"source": 525, "target": 425, "value": 2}, {"source": 525, "target": 428, "value": 8}, {"source": 525, "target": 429, "value": 9}, {"source": 525, "target": 435, "value": 9}, {"source": 525, "target": 437, "value": 8}, {"source": 525, "target": 473, "value": 8}, {"source": 525, "target": 485, "value": 9}, {"source": 525, "target": 501, "value": 8}, {"source": 525, "target": 503, "value": 8}, {"source": 525, "target": 513, "value": 8}, {"source": 527, "target": 227, "value": 4}, {"source": 527, "target": 279, "value": 10}, {"source": 527, "target": 303, "value": 9}, {"source": 527, "target": 317, "value": 10}, {"source": 527, "target": 353, "value": 4}, {"source": 527, "target": 365, "value": 4}, {"source": 527, "target": 377, "value": 4}, {"source": 527, "target": 453, "value": 4}, {"source": 527, "target": 465, "value": 7}, {"source": 527, "target": 503, "value": 8}, {"source": 528, "target": 225, "value": 8}, {"source": 528, "target": 228, "value": 4}, {"source": 528, "target": 249, "value": 8}, {"source": 528, "target": 275, "value": 8}, {"source": 528, "target": 278, "value": 4}, {"source": 528, "target": 303, "value": 10}, {"source": 528, "target": 321, "value": 8}, {"source": 528, "target": 353, "value": 10}, {"source": 528, "target": 365, "value": 10}, {"source": 528, "target": 375, "value": 8}, {"source": 528, "target": 378, "value": 4}, {"source": 528, "target": 399, "value": 8}, {"source": 528, "target": 413, "value": 8}, {"source": 528, "target": 425, "value": 8}, {"source": 528, "target": 428, "value": 4}, {"source": 528, "target": 437, "value": 7}, {"source": 528, "target": 453, "value": 9}, {"source": 528, "target": 503, "value": 8}, {"source": 528, "target": 513, "value": 8}, {"source": 528, "target": 525, "value": 8}, {"source": 531, "target": 221, "value": 10}, {"source": 531, "target": 231, "value": 4}, {"source": 531, "target": 273, "value": 4}, {"source": 531, "target": 279, "value": 9}, {"source": 531, "target": 281, "value": 4}, {"source": 531, "target": 285, "value": 8}, {"source": 531, "target": 335, "value": 8}, {"source": 531, "target": 369, "value": 8}, {"source": 531, "target": 377, "value": 4}, {"source": 531, "target": 381, "value": 4}, {"source": 531, "target": 429, "value": 9}, {"source": 531, "target": 431, "value": 4}, {"source": 531, "target": 435, "value": 7}, {"source": 531, "target": 473, "value": 8}, {"source": 531, "target": 485, "value": 7}, {"source": 531, "target": 519, "value": 8}, {"source": 531, "target": 525, "value": 9}, {"source": 533, "target": 221, "value": 4}, {"source": 533, "target": 233, "value": 0}, {"source": 533, "target": 243, "value": 9}, {"source": 533, "target": 245, "value": 8}, {"source": 533, "target": 248, "value": 8}, {"source": 533, "target": 257, "value": 4}, {"source": 533, "target": 279, "value": 4}, {"source": 533, "target": 281, "value": 8}, {"source": 533, "target": 285, "value": 9}, {"source": 533, "target": 291, "value": 9}, {"source": 533, "target": 293, "value": 9}, {"source": 533, "target": 317, "value": 8}, {"source": 533, "target": 321, "value": 4}, {"source": 533, "target": 333, "value": 0}, {"source": 533, "target": 335, "value": 10}, {"source": 533, "target": 341, "value": 9}, {"source": 533, "target": 345, "value": 8}, {"source": 533, "target": 348, "value": 8}, {"source": 533, "target": 375, "value": 3}, {"source": 533, "target": 381, "value": 2}, {"source": 533, "target": 383, "value": 1}, {"source": 533, "target": 393, "value": 9}, {"source": 533, "target": 395, "value": 8}, {"source": 533, "target": 398, "value": 4}, {"source": 533, "target": 405, "value": 11}, {"source": 533, "target": 407, "value": 4}, {"source": 533, "target": 429, "value": 4}, {"source": 533, "target": 431, "value": 8}, {"source": 533, "target": 441, "value": 9}, {"source": 533, "target": 443, "value": 9}, {"source": 533, "target": 483, "value": 1}, {"source": 533, "target": 485, "value": 8}, {"source": 533, "target": 489, "value": 8}, {"source": 533, "target": 491, "value": 9}, {"source": 533, "target": 495, "value": 8}, {"source": 533, "target": 498, "value": 8}, {"source": 533, "target": 515, "value": 3}, {"source": 533, "target": 521, "value": 8}, {"source": 543, "target": 243, "value": 2}, {"source": 543, "target": 281, "value": 8}, {"source": 543, "target": 293, "value": 1}, {"source": 543, "target": 317, "value": 4}, {"source": 543, "target": 333, "value": 10}, {"source": 543, "target": 335, "value": 9}, {"source": 543, "target": 339, "value": 9}, {"source": 543, "target": 377, "value": 8}, {"source": 543, "target": 381, "value": 8}, {"source": 543, "target": 393, "value": 1}, {"source": 543, "target": 398, "value": 9}, {"source": 543, "target": 429, "value": 7}, {"source": 543, "target": 431, "value": 9}, {"source": 543, "target": 443, "value": 2}, {"source": 543, "target": 467, "value": 8}, {"source": 543, "target": 489, "value": 2}, {"source": 543, "target": 533, "value": 8}, {"source": 545, "target": 228, "value": 9}, {"source": 545, "target": 233, "value": 4}, {"source": 545, "target": 243, "value": 9}, {"source": 545, "target": 245, "value": 2}, {"source": 545, "target": 248, "value": 8}, {"source": 545, "target": 249, "value": 8}, {"source": 545, "target": 257, "value": 8}, {"source": 545, "target": 273, "value": 10}, {"source": 545, "target": 278, "value": 9}, {"source": 545, "target": 285, "value": 10}, {"source": 545, "target": 293, "value": 9}, {"source": 545, "target": 303, "value": 11}, {"source": 545, "target": 317, "value": 8}, {"source": 545, "target": 323, "value": 10}, {"source": 545, "target": 333, "value": 8}, {"source": 545, "target": 345, "value": 2}, {"source": 545, "target": 348, "value": 8}, {"source": 545, "target": 353, "value": 11}, {"source": 545, "target": 378, "value": 8}, {"source": 545, "target": 393, "value": 9}, {"source": 545, "target": 395, "value": 4}, {"source": 545, "target": 398, "value": 8}, {"source": 545, "target": 399, "value": 8}, {"source": 545, "target": 407, "value": 8}, {"source": 545, "target": 423, "value": 9}, {"source": 545, "target": 428, "value": 8}, {"source": 545, "target": 437, "value": 8}, {"source": 545, "target": 443, "value": 9}, {"source": 545, "target": 453, "value": 9}, {"source": 545, "target": 473, "value": 9}, {"source": 545, "target": 485, "value": 9}, {"source": 545, "target": 495, "value": 3}, {"source": 545, "target": 498, "value": 8}, {"source": 545, "target": 503, "value": 4}, {"source": 545, "target": 528, "value": 8}, {"source": 545, "target": 533, "value": 8}, {"source": 545, "target": 543, "value": 8}, {"source": 548, "target": 219, "value": 8}, {"source": 548, "target": 233, "value": 4}, {"source": 548, "target": 245, "value": 8}, {"source": 548, "target": 248, "value": 4}, {"source": 548, "target": 257, "value": 8}, {"source": 548, "target": 273, "value": 10}, {"source": 548, "target": 285, "value": 10}, {"source": 548, "target": 309, "value": 9}, {"source": 548, "target": 323, "value": 10}, {"source": 548, "target": 333, "value": 9}, {"source": 548, "target": 345, "value": 8}, {"source": 548, "target": 348, "value": 4}, {"source": 548, "target": 369, "value": 8}, {"source": 548, "target": 395, "value": 8}, {"source": 548, "target": 398, "value": 4}, {"source": 548, "target": 423, "value": 9}, {"source": 548, "target": 473, "value": 9}, {"source": 548, "target": 485, "value": 9}, {"source": 548, "target": 495, "value": 7}, {"source": 548, "target": 498, "value": 3}, {"source": 548, "target": 519, "value": 8}, {"source": 548, "target": 533, "value": 8}, {"source": 548, "target": 545, "value": 8}, {"source": 549, "target": 228, "value": 9}, {"source": 549, "target": 249, "value": 2}, {"source": 549, "target": 251, "value": 10}, {"source": 549, "target": 261, "value": 8}, {"source": 549, "target": 263, "value": 9}, {"source": 549, "target": 278, "value": 9}, {"source": 549, "target": 303, "value": 11}, {"source": 549, "target": 309, "value": 9}, {"source": 549, "target": 311, "value": 8}, {"source": 549, "target": 321, "value": 11}, {"source": 549, "target": 351, "value": 8}, {"source": 549, "target": 353, "value": 10}, {"source": 549, "target": 363, "value": 9}, {"source": 549, "target": 378, "value": 8}, {"source": 549, "target": 399, "value": 4}, {"source": 549, "target": 405, "value": 9}, {"source": 549, "target": 411, "value": 8}, {"source": 549, "target": 413, "value": 8}, {"source": 549, "target": 428, "value": 8}, {"source": 549, "target": 437, "value": 8}, {"source": 549, "target": 453, "value": 10}, {"source": 549, "target": 459, "value": 8}, {"source": 549, "target": 461, "value": 8}, {"source": 549, "target": 497, "value": 4}, {"source": 549, "target": 501, "value": 8}, {"source": 549, "target": 503, "value": 9}, {"source": 549, "target": 513, "value": 8}, {"source": 549, "target": 528, "value": 8}, {"source": 549, "target": 545, "value": 8}, {"source": 551, "target": 251, "value": 4}, {"source": 551, "target": 341, "value": 10}, {"source": 551, "target": 351, "value": 4}, {"source": 551, "target": 401, "value": 4}, {"source": 551, "target": 489, "value": 7}, {"source": 551, "target": 501, "value": 3}, {"source": 551, "target": 503, "value": 9}, {"source": 551, "target": 525, "value": 8}, {"source": 555, "target": 245, "value": 10}, {"source": 555, "target": 251, "value": 8}, {"source": 555, "target": 255, "value": 4}, {"source": 555, "target": 293, "value": 8}, {"source": 555, "target": 305, "value": 4}, {"source": 555, "target": 377, "value": 11}, {"source": 555, "target": 393, "value": 8}, {"source": 555, "target": 405, "value": 4}, {"source": 555, "target": 425, "value": 3}, {"source": 555, "target": 429, "value": 8}, {"source": 555, "target": 455, "value": 4}, {"source": 555, "target": 495, "value": 3}, {"source": 557, "target": 219, "value": 8}, {"source": 557, "target": 233, "value": 3}, {"source": 557, "target": 245, "value": 8}, {"source": 557, "target": 248, "value": 8}, {"source": 557, "target": 255, "value": 8}, {"source": 557, "target": 257, "value": 2}, {"source": 557, "target": 273, "value": 11}, {"source": 557, "target": 305, "value": 8}, {"source": 557, "target": 309, "value": 9}, {"source": 557, "target": 317, "value": 9}, {"source": 557, "target": 323, "value": 10}, {"source": 557, "target": 333, "value": 3}, {"source": 557, "target": 335, "value": 9}, {"source": 557, "target": 345, "value": 8}, {"source": 557, "target": 348, "value": 8}, {"source": 557, "target": 363, "value": 9}, {"source": 557, "target": 369, "value": 8}, {"source": 557, "target": 381, "value": 8}, {"source": 557, "target": 383, "value": 4}, {"source": 557, "target": 398, "value": 8}, {"source": 557, "target": 405, "value": 4}, {"source": 557, "target": 407, "value": 4}, {"source": 557, "target": 413, "value": 3}, {"source": 557, "target": 423, "value": 9}, {"source": 557, "target": 467, "value": 9}, {"source": 557, "target": 473, "value": 9}, {"source": 557, "target": 483, "value": 2}, {"source": 557, "target": 498, "value": 8}, {"source": 557, "target": 503, "value": 7}, {"source": 557, "target": 519, "value": 8}, {"source": 557, "target": 533, "value": 2}, {"source": 557, "target": 545, "value": 8}, {"source": 557, "target": 548, "value": 7}, {"source": 561, "target": 249, "value": 8}, {"source": 561, "target": 261, "value": 2}, {"source": 561, "target": 273, "value": 8}, {"source": 561, "target": 285, "value": 8}, {"source": 561, "target": 311, "value": 4}, {"source": 561, "target": 323, "value": 8}, {"source": 561, "target": 363, "value": 10}, {"source": 561, "target": 411, "value": 4}, {"source": 561, "target": 413, "value": 9}, {"source": 561, "target": 423, "value": 8}, {"source": 561, "target": 459, "value": 3}, {"source": 561, "target": 461, "value": 2}, {"source": 561, "target": 473, "value": 8}, {"source": 561, "target": 501, "value": 9}, {"source": 561, "target": 549, "value": 8}, {"source": 563, "target": 225, "value": 8}, {"source": 563, "target": 228, "value": 9}, {"source": 563, "target": 263, "value": 2}, {"source": 563, "target": 275, "value": 8}, {"source": 563, "target": 278, "value": 9}, {"source": 563, "target": 287, "value": 8}, {"source": 563, "target": 309, "value": 9}, {"source": 563, "target": 321, "value": 8}, {"source": 563, "target": 351, "value": 8}, {"source": 563, "target": 363, "value": 2}, {"source": 563, "target": 365, "value": 9}, {"source": 563, "target": 375, "value": 8}, {"source": 563, "target": 378, "value": 9}, {"source": 563, "target": 401, "value": 8}, {"source": 563, "target": 405, "value": 9}, {"source": 563, "target": 413, "value": 1}, {"source": 563, "target": 425, "value": 8}, {"source": 563, "target": 428, "value": 9}, {"source": 563, "target": 437, "value": 8}, {"source": 563, "target": 453, "value": 9}, {"source": 563, "target": 455, "value": 10}, {"source": 563, "target": 459, "value": 9}, {"source": 563, "target": 461, "value": 8}, {"source": 563, "target": 489, "value": 8}, {"source": 563, "target": 497, "value": 4}, {"source": 563, "target": 501, "value": 8}, {"source": 563, "target": 513, "value": 1}, {"source": 563, "target": 525, "value": 8}, {"source": 563, "target": 528, "value": 8}, {"source": 563, "target": 549, "value": 8}, {"source": 573, "target": 219, "value": 9}, {"source": 573, "target": 221, "value": 2}, {"source": 573, "target": 227, "value": 8}, {"source": 573, "target": 233, "value": 8}, {"source": 573, "target": 248, "value": 8}, {"source": 573, "target": 249, "value": 8}, {"source": 573, "target": 251, "value": 4}, {"source": 573, "target": 257, "value": 8}, {"source": 573, "target": 261, "value": 8}, {"source": 573, "target": 273, "value": 1}, {"source": 573, "target": 279, "value": 8}, {"source": 573, "target": 285, "value": 8}, {"source": 573, "target": 293, "value": 10}, {"source": 573, "target": 309, "value": 8}, {"source": 573, "target": 317, "value": 10}, {"source": 573, "target": 321, "value": 2}, {"source": 573, "target": 323, "value": 1}, {"source": 573, "target": 333, "value": 9}, {"source": 573, "target": 335, "value": 8}, {"source": 573, "target": 347, "value": 4}, {"source": 573, "target": 348, "value": 8}, {"source": 573, "target": 351, "value": 9}, {"source": 573, "target": 365, "value": 4}, {"source": 573, "target": 369, "value": 9}, {"source": 573, "target": 371, "value": 9}, {"source": 573, "target": 377, "value": 4}, {"source": 573, "target": 383, "value": 9}, {"source": 573, "target": 398, "value": 8}, {"source": 573, "target": 399, "value": 8}, {"source": 573, "target": 401, "value": 9}, {"source": 573, "target": 413, "value": 9}, {"source": 573, "target": 423, "value": 1}, {"source": 573, "target": 429, "value": 3}, {"source": 573, "target": 435, "value": 8}, {"source": 573, "target": 461, "value": 8}, {"source": 573, "target": 465, "value": 8}, {"source": 573, "target": 471, "value": 9}, {"source": 573, "target": 473, "value": 1}, {"source": 573, "target": 483, "value": 8}, {"source": 573, "target": 485, "value": 8}, {"source": 573, "target": 497, "value": 4}, {"source": 573, "target": 498, "value": 8}, {"source": 573, "target": 501, "value": 9}, {"source": 573, "target": 503, "value": 7}, {"source": 573, "target": 519, "value": 9}, {"source": 573, "target": 521, "value": 4}, {"source": 573, "target": 525, "value": 4}, {"source": 573, "target": 527, "value": 7}, {"source": 573, "target": 531, "value": 7}, {"source": 573, "target": 533, "value": 9}, {"source": 573, "target": 545, "value": 9}, {"source": 573, "target": 548, "value": 8}, {"source": 573, "target": 549, "value": 8}, {"source": 573, "target": 551, "value": 9}, {"source": 573, "target": 557, "value": 8}, {"source": 573, "target": 561, "value": 8}, {"source": 575, "target": 225, "value": 4}, {"source": 575, "target": 228, "value": 8}, {"source": 575, "target": 275, "value": 4}, {"source": 575, "target": 278, "value": 8}, {"source": 575, "target": 321, "value": 8}, {"source": 575, "target": 365, "value": 10}, {"source": 575, "target": 375, "value": 4}, {"source": 575, "target": 377, "value": 10}, {"source": 575, "target": 378, "value": 8}, {"source": 575, "target": 413, "value": 8}, {"source": 575, "target": 425, "value": 4}, {"source": 575, "target": 428, "value": 8}, {"source": 575, "target": 513, "value": 8}, {"source": 575, "target": 525, "value": 3}, {"source": 575, "target": 528, "value": 8}, {"source": 575, "target": 557, "value": 3}, {"source": 575, "target": 563, "value": 8}, {"source": 578, "target": 225, "value": 8}, {"source": 578, "target": 228, "value": 4}, {"source": 578, "target": 249, "value": 8}, {"source": 578, "target": 275, "value": 8}, {"source": 578, "target": 278, "value": 4}, {"source": 578, "target": 303, "value": 10}, {"source": 578, "target": 321, "value": 8}, {"source": 578, "target": 353, "value": 10}, {"source": 578, "target": 365, "value": 10}, {"source": 578, "target": 375, "value": 8}, {"source": 578, "target": 378, "value": 4}, {"source": 578, "target": 399, "value": 8}, {"source": 578, "target": 413, "value": 8}, {"source": 578, "target": 425, "value": 8}, {"source": 578, "target": 428, "value": 4}, {"source": 578, "target": 437, "value": 8}, {"source": 578, "target": 453, "value": 9}, {"source": 578, "target": 503, "value": 8}, {"source": 578, "target": 513, "value": 8}, {"source": 578, "target": 525, "value": 7}, {"source": 578, "target": 528, "value": 3}, {"source": 578, "target": 545, "value": 8}, {"source": 578, "target": 549, "value": 8}, {"source": 578, "target": 563, "value": 9}, {"source": 578, "target": 575, "value": 8}, {"source": 579, "target": 221, "value": 11}, {"source": 579, "target": 233, "value": 12}, {"source": 579, "target": 279, "value": 4}, {"source": 579, "target": 317, "value": 8}, {"source": 579, "target": 333, "value": 11}, {"source": 579, "target": 383, "value": 10}, {"source": 579, "target": 393, "value": 3}, {"source": 579, "target": 429, "value": 4}, {"source": 579, "target": 483, "value": 10}, {"source": 579, "target": 531, "value": 9}, {"source": 579, "target": 533, "value": 2}, {"source": 581, "target": 221, "value": 11}, {"source": 581, "target": 231, "value": 4}, {"source": 581, "target": 243, "value": 8}, {"source": 581, "target": 273, "value": 11}, {"source": 581, "target": 281, "value": 2}, {"source": 581, "target": 291, "value": 8}, {"source": 581, "target": 293, "value": 8}, {"source": 581, "target": 333, "value": 9}, {"source": 581, "target": 341, "value": 8}, {"source": 581, "target": 369, "value": 8}, {"source": 581, "target": 377, "value": 8}, {"source": 581, "target": 381, "value": 1}, {"source": 581, "target": 393, "value": 8}, {"source": 581, "target": 398, "value": 9}, {"source": 581, "target": 429, "value": 8}, {"source": 581, "target": 431, "value": 2}, {"source": 581, "target": 441, "value": 9}, {"source": 581, "target": 443, "value": 8}, {"source": 581, "target": 489, "value": 7}, {"source": 581, "target": 491, "value": 8}, {"source": 581, "target": 519, "value": 8}, {"source": 581, "target": 521, "value": 3}, {"source": 581, "target": 531, "value": 3}, {"source": 581, "target": 533, "value": 4}, {"source": 581, "target": 543, "value": 8}, {"source": 585, "target": 243, "value": 9}, {"source": 585, "target": 273, "value": 8}, {"source": 585, "target": 281, "value": 8}, {"source": 585, "target": 285, "value": 2}, {"source": 585, "target": 293, "value": 2}, {"source": 585, "target": 333, "value": 8}, {"source": 585, "target": 335, "value": 4}, {"source": 585, "target": 347, "value": 4}, {"source": 585, "target": 377, "value": 10}, {"source": 585, "target": 381, "value": 8}, {"source": 585, "target": 393, "value": 9}, {"source": 585, "target": 398, "value": 8}, {"source": 585, "target": 431, "value": 8}, {"source": 585, "target": 435, "value": 4}, {"source": 585, "target": 437, "value": 4}, {"source": 585, "target": 443, "value": 9}, {"source": 585, "target": 473, "value": 8}, {"source": 585, "target": 485, "value": 2}, {"source": 585, "target": 489, "value": 9}, {"source": 585, "target": 497, "value": 4}, {"source": 585, "target": 525, "value": 9}, {"source": 585, "target": 531, "value": 7}, {"source": 585, "target": 533, "value": 7}, {"source": 585, "target": 543, "value": 9}, {"source": 585, "target": 573, "value": 8}, {"source": 585, "target": 581, "value": 8}, {"source": 587, "target": 225, "value": 9}, {"source": 587, "target": 263, "value": 9}, {"source": 587, "target": 285, "value": 9}, {"source": 587, "target": 287, "value": 4}, {"source": 587, "target": 291, "value": 8}, {"source": 587, "target": 335, "value": 9}, {"source": 587, "target": 341, "value": 8}, {"source": 587, "target": 363, "value": 9}, {"source": 587, "target": 381, "value": 10}, {"source": 587, "target": 413, "value": 4}, {"source": 587, "target": 425, "value": 8}, {"source": 587, "target": 429, "value": 4}, {"source": 587, "target": 435, "value": 9}, {"source": 587, "target": 437, "value": 4}, {"source": 587, "target": 441, "value": 8}, {"source": 587, "target": 461, "value": 8}, {"source": 587, "target": 485, "value": 9}, {"source": 587, "target": 489, "value": 9}, {"source": 587, "target": 491, "value": 8}, {"source": 587, "target": 513, "value": 4}, {"source": 587, "target": 525, "value": 7}, {"source": 587, "target": 533, "value": 9}, {"source": 587, "target": 563, "value": 8}, {"source": 587, "target": 581, "value": 8}, {"source": 587, "target": 585, "value": 8}, {"source": 591, "target": 291, "value": 4}, {"source": 591, "target": 293, "value": 10}, {"source": 591, "target": 341, "value": 4}, {"source": 591, "target": 365, "value": 8}, {"source": 591, "target": 381, "value": 10}, {"source": 591, "target": 429, "value": 8}, {"source": 591, "target": 441, "value": 4}, {"source": 591, "target": 491, "value": 4}, {"source": 591, "target": 533, "value": 9}, {"source": 591, "target": 581, "value": 8}, {"source": 591, "target": 587, "value": 8}, {"source": 593, "target": 243, "value": 1}, {"source": 593, "target": 245, "value": 10}, {"source": 593, "target": 251, "value": 8}, {"source": 593, "target": 255, "value": 8}, {"source": 593, "target": 281, "value": 8}, {"source": 593, "target": 293, "value": 1}, {"source": 593, "target": 305, "value": 8}, {"source": 593, "target": 317, "value": 2}, {"source": 593, "target": 333, "value": 10}, {"source": 593, "target": 335, "value": 9}, {"source": 593, "target": 339, "value": 9}, {"source": 593, "target": 377, "value": 8}, {"source": 593, "target": 381, "value": 8}, {"source": 593, "target": 393, "value": 1}, {"source": 593, "target": 398, "value": 9}, {"source": 593, "target": 405, "value": 8}, {"source": 593, "target": 429, "value": 8}, {"source": 593, "target": 431, "value": 9}, {"source": 593, "target": 443, "value": 1}, {"source": 593, "target": 455, "value": 8}, {"source": 593, "target": 467, "value": 4}, {"source": 593, "target": 489, "value": 2}, {"source": 593, "target": 491, "value": 3}, {"source": 593, "target": 533, "value": 8}, {"source": 593, "target": 543, "value": 1}, {"source": 593, "target": 545, "value": 9}, {"source": 593, "target": 555, "value": 8}, {"source": 593, "target": 561, "value": 3}, {"source": 593, "target": 581, "value": 8}, {"source": 593, "target": 585, "value": 8}, {"source": 603, "target": 227, "value": 8}, {"source": 603, "target": 228, "value": 8}, {"source": 603, "target": 249, "value": 9}, {"source": 603, "target": 278, "value": 8}, {"source": 603, "target": 279, "value": 9}, {"source": 603, "target": 293, "value": 10}, {"source": 603, "target": 303, "value": 2}, {"source": 603, "target": 341, "value": 8}, {"source": 603, "target": 353, "value": 1}, {"source": 603, "target": 377, "value": 8}, {"source": 603, "target": 378, "value": 8}, {"source": 603, "target": 399, "value": 9}, {"source": 603, "target": 405, "value": 9}, {"source": 603, "target": 428, "value": 8}, {"source": 603, "target": 437, "value": 8}, {"source": 603, "target": 441, "value": 8}, {"source": 603, "target": 453, "value": 1}, {"source": 603, "target": 503, "value": 2}, {"source": 603, "target": 527, "value": 8}, {"source": 603, "target": 528, "value": 8}, {"source": 603, "target": 545, "value": 9}, {"source": 603, "target": 549, "value": 9}, {"source": 603, "target": 578, "value": 8}, {"source": 605, "target": 215, "value": 8}, {"source": 605, "target": 231, "value": 8}, {"source": 605, "target": 245, "value": 10}, {"source": 605, "target": 251, "value": 8}, {"source": 605, "target": 255, "value": 2}, {"source": 605, "target": 281, "value": 8}, {"source": 605, "target": 293, "value": 8}, {"source": 605, "target": 305, "value": 2}, {"source": 605, "target": 315, "value": 8}, {"source": 605, "target": 317, "value": 8}, {"source": 605, "target": 353, "value": 8}, {"source": 605, "target": 363, "value": 8}, {"source": 605, "target": 365, "value": 8}, {"source": 605, "target": 377, "value": 11}, {"source": 605, "target": 381, "value": 8}, {"source": 605, "target": 393, "value": 8}, {"source": 605, "target": 405, "value": 2}, {"source": 605, "target": 429, "value": 8}, {"source": 605, "target": 431, "value": 8}, {"source": 605, "target": 453, "value": 4}, {"source": 605, "target": 455, "value": 4}, {"source": 605, "target": 461, "value": 8}, {"source": 605, "target": 465, "value": 9}, {"source": 605, "target": 467, "value": 8}, {"source": 605, "target": 515, "value": 8}, {"source": 605, "target": 531, "value": 8}, {"source": 605, "target": 555, "value": 3}, {"source": 605, "target": 557, "value": 8}, {"source": 605, "target": 581, "value": 8}, {"source": 605, "target": 593, "value": 8}, {"source": 609, "target": 221, "value": 8}, {"source": 609, "target": 261, "value": 10}, {"source": 609, "target": 263, "value": 12}, {"source": 609, "target": 309, "value": 2}, {"source": 609, "target": 321, "value": 8}, {"source": 609, "target": 333, "value": 8}, {"source": 609, "target": 351, "value": 10}, {"source": 609, "target": 363, "value": 11}, {"source": 609, "target": 371, "value": 8}, {"source": 609, "target": 405, "value": 8}, {"source": 609, "target": 413, "value": 10}, {"source": 609, "target": 459, "value": 4}, {"source": 609, "target": 461, "value": 4}, {"source": 609, "target": 471, "value": 8}, {"source": 609, "target": 497, "value": 4}, {"source": 609, "target": 513, "value": 10}, {"source": 609, "target": 521, "value": 8}, {"source": 609, "target": 549, "value": 8}, {"source": 609, "target": 563, "value": 9}, {"source": 611, "target": 219, "value": 8}, {"source": 611, "target": 248, "value": 8}, {"source": 611, "target": 249, "value": 9}, {"source": 611, "target": 257, "value": 8}, {"source": 611, "target": 261, "value": 4}, {"source": 611, "target": 273, "value": 9}, {"source": 611, "target": 285, "value": 8}, {"source": 611, "target": 309, "value": 8}, {"source": 611, "target": 311, "value": 4}, {"source": 611, "target": 323, "value": 9}, {"source": 611, "target": 348, "value": 8}, {"source": 611, "target": 363, "value": 10}, {"source": 611, "target": 369, "value": 9}, {"source": 611, "target": 398, "value": 8}, {"source": 611, "target": 411, "value": 4}, {"source": 611, "target": 423, "value": 9}, {"source": 611, "target": 461, "value": 4}, {"source": 611, "target": 473, "value": 8}, {"source": 611, "target": 498, "value": 8}, {"source": 611, "target": 501, "value": 9}, {"source": 611, "target": 519, "value": 8}, {"source": 611, "target": 548, "value": 8}, {"source": 611, "target": 549, "value": 7}, {"source": 611, "target": 557, "value": 8}, {"source": 611, "target": 561, "value": 3}, {"source": 611, "target": 573, "value": 8}, {"source": 615, "target": 215, "value": 4}, {"source": 615, "target": 219, "value": 8}, {"source": 615, "target": 248, "value": 9}, {"source": 615, "target": 257, "value": 9}, {"source": 615, "target": 263, "value": 8}, {"source": 615, "target": 273, "value": 11}, {"source": 615, "target": 309, "value": 10}, {"source": 615, "target": 315, "value": 4}, {"source": 615, "target": 323, "value": 11}, {"source": 615, "target": 348, "value": 9}, {"source": 615, "target": 353, "value": 8}, {"source": 615, "target": 363, "value": 9}, {"source": 615, "target": 365, "value": 4}, {"source": 615, "target": 369, "value": 8}, {"source": 615, "target": 398, "value": 9}, {"source": 615, "target": 405, "value": 10}, {"source": 615, "target": 413, "value": 9}, {"source": 615, "target": 423, "value": 10}, {"source": 615, "target": 453, "value": 4}, {"source": 615, "target": 461, "value": 8}, {"source": 615, "target": 465, "value": 4}, {"source": 615, "target": 471, "value": 3}, {"source": 615, "target": 473, "value": 10}, {"source": 615, "target": 498, "value": 8}, {"source": 615, "target": 513, "value": 9}, {"source": 615, "target": 515, "value": 4}, {"source": 615, "target": 519, "value": 8}, {"source": 615, "target": 548, "value": 8}, {"source": 615, "target": 557, "value": 8}, {"source": 615, "target": 563, "value": 8}, {"source": 615, "target": 573, "value": 9}, {"source": 615, "target": 605, "value": 8}, {"source": 615, "target": 611, "value": 2}, {"source": 617, "target": 221, "value": 10}, {"source": 617, "target": 233, "value": 11}, {"source": 617, "target": 243, "value": 9}, {"source": 617, "target": 255, "value": 10}, {"source": 617, "target": 279, "value": 8}, {"source": 617, "target": 293, "value": 4}, {"source": 617, "target": 305, "value": 8}, {"source": 617, "target": 317, "value": 2}, {"source": 617, "target": 333, "value": 10}, {"source": 617, "target": 363, "value": 8}, {"source": 617, "target": 383, "value": 10}, {"source": 617, "target": 393, "value": 4}, {"source": 617, "target": 405, "value": 8}, {"source": 617, "target": 429, "value": 8}, {"source": 617, "target": 443, "value": 9}, {"source": 617, "target": 459, "value": 3}, {"source": 617, "target": 467, "value": 4}, {"source": 617, "target": 483, "value": 9}, {"source": 617, "target": 489, "value": 10}, {"source": 617, "target": 533, "value": 9}, {"source": 617, "target": 543, "value": 8}, {"source": 617, "target": 557, "value": 8}, {"source": 617, "target": 579, "value": 8}, {"source": 617, "target": 593, "value": 4}, {"source": 617, "target": 605, "value": 8}, {"source": 621, "target": 221, "value": 1}, {"source": 621, "target": 231, "value": 8}, {"source": 621, "target": 233, "value": 8}, {"source": 621, "target": 261, "value": 10}, {"source": 621, "target": 273, "value": 3}, {"source": 621, "target": 279, "value": 8}, {"source": 621, "target": 281, "value": 8}, {"source": 621, "target": 293, "value": 12}, {"source": 621, "target": 309, "value": 8}, {"source": 621, "target": 321, "value": 2}, {"source": 621, "target": 323, "value": 9}, {"source": 621, "target": 333, "value": 8}, {"source": 621, "target": 347, "value": 8}, {"source": 621, "target": 369, "value": 8}, {"source": 621, "target": 371, "value": 4}, {"source": 621, "target": 377, "value": 8}, {"source": 621, "target": 381, "value": 8}, {"source": 621, "target": 383, "value": 8}, {"source": 621, "target": 423, "value": 8}, {"source": 621, "target": 431, "value": 8}, {"source": 621, "target": 435, "value": 3}, {"source": 621, "target": 461, "value": 9}, {"source": 621, "target": 471, "value": 4}, {"source": 621, "target": 473, "value": 4}, {"source": 621, "target": 483, "value": 8}, {"source": 621, "target": 497, "value": 8}, {"source": 621, "target": 519, "value": 8}, {"source": 621, "target": 521, "value": 2}, {"source": 621, "target": 531, "value": 8}, {"source": 621, "target": 533, "value": 8}, {"source": 621, "target": 573, "value": 2}, {"source": 621, "target": 575, "value": 3}, {"source": 621, "target": 581, "value": 8}, {"source": 621, "target": 609, "value": 8}, {"source": 623, "target": 219, "value": 9}, {"source": 623, "target": 221, "value": 8}, {"source": 623, "target": 248, "value": 8}, {"source": 623, "target": 257, "value": 8}, {"source": 623, "target": 261, "value": 9}, {"source": 623, "target": 273, "value": 1}, {"source": 623, "target": 309, "value": 8}, {"source": 623, "target": 323, "value": 2}, {"source": 623, "target": 347, "value": 8}, {"source": 623, "target": 348, "value": 8}, {"source": 623, "target": 369, "value": 9}, {"source": 623, "target": 398, "value": 8}, {"source": 623, "target": 413, "value": 10}, {"source": 623, "target": 423, "value": 2}, {"source": 623, "target": 461, "value": 8}, {"source": 623, "target": 473, "value": 1}, {"source": 623, "target": 497, "value": 8}, {"source": 623, "target": 498, "value": 8}, {"source": 623, "target": 519, "value": 9}, {"source": 623, "target": 545, "value": 10}, {"source": 623, "target": 548, "value": 8}, {"source": 623, "target": 557, "value": 8}, {"source": 623, "target": 561, "value": 7}, {"source": 623, "target": 573, "value": 1}, {"source": 623, "target": 611, "value": 7}, {"source": 623, "target": 615, "value": 8}, {"source": 623, "target": 621, "value": 7}, {"source": 633, "target": 221, "value": 4}, {"source": 633, "target": 233, "value": 0}, {"source": 633, "target": 245, "value": 8}, {"source": 633, "target": 248, "value": 8}, {"source": 633, "target": 257, "value": 4}, {"source": 633, "target": 279, "value": 4}, {"source": 633, "target": 285, "value": 10}, {"source": 633, "target": 317, "value": 8}, {"source": 633, "target": 321, "value": 4}, {"source": 633, "target": 333, "value": 1}, {"source": 633, "target": 335, "value": 10}, {"source": 633, "target": 345, "value": 8}, {"source": 633, "target": 348, "value": 8}, {"source": 633, "target": 381, "value": 4}, {"source": 633, "target": 383, "value": 1}, {"source": 633, "target": 395, "value": 8}, {"source": 633, "target": 398, "value": 8}, {"source": 633, "target": 405, "value": 11}, {"source": 633, "target": 407, "value": 4}, {"source": 633, "target": 429, "value": 9}, {"source": 633, "target": 483, "value": 1}, {"source": 633, "target": 485, "value": 9}, {"source": 633, "target": 495, "value": 8}, {"source": 633, "target": 498, "value": 8}, {"source": 633, "target": 521, "value": 8}, {"source": 633, "target": 533, "value": 1}, {"source": 633, "target": 545, "value": 2}, {"source": 633, "target": 548, "value": 8}, {"source": 633, "target": 557, "value": 2}, {"source": 633, "target": 573, "value": 8}, {"source": 633, "target": 579, "value": 9}, {"source": 633, "target": 615, "value": 3}, {"source": 633, "target": 617, "value": 8}, {"source": 633, "target": 621, "value": 8}, {"source": 635, "target": 273, "value": 9}, {"source": 635, "target": 285, "value": 4}, {"source": 635, "target": 335, "value": 4}, {"source": 635, "target": 377, "value": 10}, {"source": 635, "target": 435, "value": 4}, {"source": 635, "target": 473, "value": 8}, {"source": 635, "target": 485, "value": 4}, {"source": 635, "target": 525, "value": 9}, {"source": 635, "target": 531, "value": 8}, {"source": 635, "target": 533, "value": 3}, {"source": 635, "target": 573, "value": 8}, {"source": 635, "target": 585, "value": 3}, {"source": 635, "target": 587, "value": 9}, {"source": 635, "target": 603, "value": 3}, {"source": 639, "target": 243, "value": 12}, {"source": 639, "target": 293, "value": 11}, {"source": 639, "target": 335, "value": 8}, {"source": 639, "target": 339, "value": 4}, {"source": 639, "target": 377, "value": 8}, {"source": 639, "target": 393, "value": 11}, {"source": 639, "target": 413, "value": 8}, {"source": 639, "target": 429, "value": 10}, {"source": 639, "target": 443, "value": 10}, {"source": 639, "target": 461, "value": 10}, {"source": 639, "target": 489, "value": 4}, {"source": 639, "target": 543, "value": 10}, {"source": 639, "target": 579, "value": 3}, {"source": 639, "target": 593, "value": 9}, {"source": 641, "target": 291, "value": 4}, {"source": 641, "target": 293, "value": 5}, {"source": 641, "target": 303, "value": 8}, {"source": 641, "target": 341, "value": 2}, {"source": 641, "target": 353, "value": 8}, {"source": 641, "target": 365, "value": 8}, {"source": 641, "target": 381, "value": 10}, {"source": 641, "target": 429, "value": 8}, {"source": 641, "target": 441, "value": 2}, {"source": 641, "target": 453, "value": 8}, {"source": 641, "target": 491, "value": 4}, {"source": 641, "target": 497, "value": 3}, {"source": 641, "target": 503, "value": 8}, {"source": 641, "target": 533, "value": 9}, {"source": 641, "target": 581, "value": 8}, {"source": 641, "target": 587, "value": 7}, {"source": 641, "target": 591, "value": 3}, {"source": 641, "target": 603, "value": 8}, {"source": 645, "target": 233, "value": 4}, {"source": 645, "target": 245, "value": 2}, {"source": 645, "target": 248, "value": 8}, {"source": 645, "target": 251, "value": 8}, {"source": 645, "target": 255, "value": 8}, {"source": 645, "target": 257, "value": 8}, {"source": 645, "target": 285, "value": 10}, {"source": 645, "target": 293, "value": 8}, {"source": 645, "target": 305, "value": 8}, {"source": 645, "target": 333, "value": 8}, {"source": 645, "target": 345, "value": 2}, {"source": 645, "target": 348, "value": 8}, {"source": 645, "target": 393, "value": 8}, {"source": 645, "target": 395, "value": 4}, {"source": 645, "target": 398, "value": 8}, {"source": 645, "target": 405, "value": 8}, {"source": 645, "target": 407, "value": 8}, {"source": 645, "target": 455, "value": 8}, {"source": 645, "target": 485, "value": 9}, {"source": 645, "target": 495, "value": 4}, {"source": 645, "target": 498, "value": 8}, {"source": 645, "target": 503, "value": 8}, {"source": 645, "target": 533, "value": 8}, {"source": 645, "target": 545, "value": 2}, {"source": 645, "target": 548, "value": 8}, {"source": 645, "target": 555, "value": 8}, {"source": 645, "target": 557, "value": 8}, {"source": 645, "target": 593, "value": 7}, {"source": 645, "target": 605, "value": 8}, {"source": 645, "target": 633, "value": 8}, {"source": 647, "target": 221, "value": 9}, {"source": 647, "target": 273, "value": 4}, {"source": 647, "target": 285, "value": 9}, {"source": 647, "target": 293, "value": 8}, {"source": 647, "target": 323, "value": 9}, {"source": 647, "target": 347, "value": 4}, {"source": 647, "target": 423, "value": 9}, {"source": 647, "target": 437, "value": 9}, {"source": 647, "target": 473, "value": 4}, {"source": 647, "target": 485, "value": 8}, {"source": 647, "target": 497, "value": 4}, {"source": 647, "target": 573, "value": 4}, {"source": 647, "target": 585, "value": 4}, {"source": 647, "target": 621, "value": 8}, {"source": 647, "target": 623, "value": 8}, {"source": 648, "target": 219, "value": 8}, {"source": 648, "target": 233, "value": 4}, {"source": 648, "target": 245, "value": 8}, {"source": 648, "target": 248, "value": 4}, {"source": 648, "target": 257, "value": 8}, {"source": 648, "target": 273, "value": 11}, {"source": 648, "target": 285, "value": 10}, {"source": 648, "target": 309, "value": 9}, {"source": 648, "target": 323, "value": 10}, {"source": 648, "target": 333, "value": 9}, {"source": 648, "target": 345, "value": 8}, {"source": 648, "target": 348, "value": 4}, {"source": 648, "target": 369, "value": 8}, {"source": 648, "target": 395, "value": 8}, {"source": 648, "target": 398, "value": 4}, {"source": 648, "target": 423, "value": 10}, {"source": 648, "target": 473, "value": 9}, {"source": 648, "target": 485, "value": 9}, {"source": 648, "target": 495, "value": 8}, {"source": 648, "target": 498, "value": 4}, {"source": 648, "target": 519, "value": 8}, {"source": 648, "target": 533, "value": 8}, {"source": 648, "target": 545, "value": 8}, {"source": 648, "target": 548, "value": 4}, {"source": 648, "target": 557, "value": 7}, {"source": 648, "target": 573, "value": 8}, {"source": 648, "target": 611, "value": 8}, {"source": 648, "target": 615, "value": 8}, {"source": 648, "target": 623, "value": 8}, {"source": 648, "target": 633, "value": 8}, {"source": 648, "target": 645, "value": 8}, {"source": 651, "target": 251, "value": 4}, {"source": 651, "target": 263, "value": 8}, {"source": 651, "target": 341, "value": 10}, {"source": 651, "target": 351, "value": 4}, {"source": 651, "target": 363, "value": 8}, {"source": 651, "target": 401, "value": 2}, {"source": 651, "target": 413, "value": 8}, {"source": 651, "target": 453, "value": 8}, {"source": 651, "target": 455, "value": 9}, {"source": 651, "target": 489, "value": 8}, {"source": 651, "target": 501, "value": 2}, {"source": 651, "target": 503, "value": 9}, {"source": 651, "target": 513, "value": 8}, {"source": 651, "target": 525, "value": 8}, {"source": 651, "target": 551, "value": 4}, {"source": 651, "target": 563, "value": 8}, {"source": 651, "target": 573, "value": 9}, {"source": 653, "target": 215, "value": 8}, {"source": 653, "target": 227, "value": 4}, {"source": 653, "target": 228, "value": 8}, {"source": 653, "target": 249, "value": 8}, {"source": 653, "target": 263, "value": 8}, {"source": 653, "target": 278, "value": 8}, {"source": 653, "target": 279, "value": 3}, {"source": 653, "target": 293, "value": 10}, {"source": 653, "target": 303, "value": 1}, {"source": 653, "target": 315, "value": 8}, {"source": 653, "target": 341, "value": 8}, {"source": 653, "target": 353, "value": 1}, {"source": 653, "target": 363, "value": 8}, {"source": 653, "target": 365, "value": 8}, {"source": 653, "target": 377, "value": 4}, {"source": 653, "target": 378, "value": 8}, {"source": 653, "target": 399, "value": 9}, {"source": 653, "target": 401, "value": 8}, {"source": 653, "target": 405, "value": 4}, {"source": 653, "target": 413, "value": 8}, {"source": 653, "target": 428, "value": 8}, {"source": 653, "target": 429, "value": 8}, {"source": 653, "target": 437, "value": 8}, {"source": 653, "target": 441, "value": 8}, {"source": 653, "target": 453, "value": 0}, {"source": 653, "target": 455, "value": 8}, {"source": 653, "target": 461, "value": 8}, {"source": 653, "target": 465, "value": 8}, {"source": 653, "target": 467, "value": 3}, {"source": 653, "target": 501, "value": 8}, {"source": 653, "target": 503, "value": 1}, {"source": 653, "target": 513, "value": 8}, {"source": 653, "target": 515, "value": 8}, {"source": 653, "target": 527, "value": 4}, {"source": 653, "target": 528, "value": 8}, {"source": 653, "target": 531, "value": 8}, {"source": 653, "target": 545, "value": 9}, {"source": 653, "target": 549, "value": 9}, {"source": 653, "target": 563, "value": 8}, {"source": 653, "target": 578, "value": 8}, {"source": 653, "target": 579, "value": 8}, {"source": 653, "target": 603, "value": 1}, {"source": 653, "target": 605, "value": 8}, {"source": 653, "target": 615, "value": 8}, {"source": 653, "target": 641, "value": 8}, {"source": 653, "target": 651, "value": 7}, {"source": 663, "target": 221, "value": 8}, {"source": 663, "target": 261, "value": 9}, {"source": 663, "target": 263, "value": 2}, {"source": 663, "target": 287, "value": 8}, {"source": 663, "target": 309, "value": 4}, {"source": 663, "target": 321, "value": 8}, {"source": 663, "target": 351, "value": 9}, {"source": 663, "target": 363, "value": 2}, {"source": 663, "target": 371, "value": 8}, {"source": 663, "target": 401, "value": 8}, {"source": 663, "target": 405, "value": 8}, {"source": 663, "target": 413, "value": 1}, {"source": 663, "target": 437, "value": 8}, {"source": 663, "target": 453, "value": 9}, {"source": 663, "target": 455, "value": 10}, {"source": 663, "target": 459, "value": 9}, {"source": 663, "target": 461, "value": 4}, {"source": 663, "target": 471, "value": 8}, {"source": 663, "target": 489, "value": 8}, {"source": 663, "target": 497, "value": 4}, {"source": 663, "target": 501, "value": 8}, {"source": 663, "target": 513, "value": 1}, {"source": 663, "target": 521, "value": 9}, {"source": 663, "target": 549, "value": 8}, {"source": 663, "target": 563, "value": 2}, {"source": 663, "target": 587, "value": 8}, {"source": 663, "target": 609, "value": 4}, {"source": 663, "target": 615, "value": 8}, {"source": 663, "target": 621, "value": 8}, {"source": 663, "target": 651, "value": 8}, {"source": 663, "target": 653, "value": 8}, {"source": 665, "target": 215, "value": 4}, {"source": 665, "target": 227, "value": 8}, {"source": 665, "target": 315, "value": 4}, {"source": 665, "target": 317, "value": 10}, {"source": 665, "target": 353, "value": 8}, {"source": 665, "target": 365, "value": 2}, {"source": 665, "target": 377, "value": 8}, {"source": 665, "target": 405, "value": 10}, {"source": 665, "target": 453, "value": 4}, {"source": 665, "target": 461, "value": 8}, {"source": 665, "target": 465, "value": 2}, {"source": 665, "target": 515, "value": 4}, {"source": 665, "target": 527, "value": 8}, {"source": 665, "target": 573, "value": 7}, {"source": 665, "target": 605, "value": 8}, {"source": 665, "target": 615, "value": 3}, {"source": 665, "target": 653, "value": 8}, {"source": 669, "target": 219, "value": 4}, {"source": 669, "target": 221, "value": 5}, {"source": 669, "target": 231, "value": 8}, {"source": 669, "target": 233, "value": 10}, {"source": 669, "target": 245, "value": 8}, {"source": 669, "target": 248, "value": 9}, {"source": 669, "target": 257, "value": 9}, {"source": 669, "target": 273, "value": 5}, {"source": 669, "target": 279, "value": 8}, {"source": 669, "target": 281, "value": 8}, {"source": 669, "target": 309, "value": 10}, {"source": 669, "target": 317, "value": 8}, {"source": 669, "target": 321, "value": 10}, {"source": 669, "target": 323, "value": 11}, {"source": 669, "target": 333, "value": 10}, {"source": 669, "target": 345, "value": 8}, {"source": 669, "target": 348, "value": 9}, {"source": 669, "target": 369, "value": 2}, {"source": 669, "target": 377, "value": 8}, {"source": 669, "target": 381, "value": 8}, {"source": 669, "target": 383, "value": 9}, {"source": 669, "target": 395, "value": 8}, {"source": 669, "target": 398, "value": 9}, {"source": 669, "target": 423, "value": 10}, {"source": 669, "target": 429, "value": 8}, {"source": 669, "target": 431, "value": 8}, {"source": 669, "target": 473, "value": 10}, {"source": 669, "target": 483, "value": 9}, {"source": 669, "target": 495, "value": 8}, {"source": 669, "target": 498, "value": 8}, {"source": 669, "target": 519, "value": 2}, {"source": 669, "target": 531, "value": 8}, {"source": 669, "target": 533, "value": 8}, {"source": 669, "target": 545, "value": 8}, {"source": 669, "target": 548, "value": 8}, {"source": 669, "target": 557, "value": 8}, {"source": 669, "target": 573, "value": 9}, {"source": 669, "target": 579, "value": 8}, {"source": 669, "target": 581, "value": 8}, {"source": 669, "target": 611, "value": 9}, {"source": 669, "target": 615, "value": 7}, {"source": 669, "target": 617, "value": 7}, {"source": 669, "target": 621, "value": 8}, {"source": 669, "target": 623, "value": 9}, {"source": 669, "target": 633, "value": 8}, {"source": 669, "target": 645, "value": 8}, {"source": 669, "target": 648, "value": 7}, {"source": 671, "target": 219, "value": 8}, {"source": 671, "target": 221, "value": 4}, {"source": 671, "target": 225, "value": 8}, {"source": 671, "target": 228, "value": 8}, {"source": 671, "target": 261, "value": 10}, {"source": 671, "target": 275, "value": 8}, {"source": 671, "target": 278, "value": 8}, {"source": 671, "target": 293, "value": 12}, {"source": 671, "target": 309, "value": 8}, {"source": 671, "target": 321, "value": 2}, {"source": 671, "target": 365, "value": 10}, {"source": 671, "target": 369, "value": 8}, {"source": 671, "target": 371, "value": 4}, {"source": 671, "target": 375, "value": 8}, {"source": 671, "target": 378, "value": 8}, {"source": 671, "target": 413, "value": 8}, {"source": 671, "target": 425, "value": 8}, {"source": 671, "target": 428, "value": 8}, {"source": 671, "target": 461, "value": 9}, {"source": 671, "target": 471, "value": 4}, {"source": 671, "target": 513, "value": 8}, {"source": 671, "target": 519, "value": 8}, {"source": 671, "target": 521, "value": 4}, {"source": 671, "target": 525, "value": 8}, {"source": 671, "target": 528, "value": 8}, {"source": 671, "target": 563, "value": 9}, {"source": 671, "target": 573, "value": 9}, {"source": 671, "target": 575, "value": 7}, {"source": 671, "target": 578, "value": 8}, {"source": 671, "target": 609, "value": 7}, {"source": 671, "target": 621, "value": 3}, {"source": 671, "target": 663, "value": 8}, {"source": 671, "target": 669, "value": 7}, {"source": 675, "target": 225, "value": 4}, {"source": 675, "target": 228, "value": 8}, {"source": 675, "target": 275, "value": 4}, {"source": 675, "target": 278, "value": 8}, {"source": 675, "target": 321, "value": 8}, {"source": 675, "target": 365, "value": 10}, {"source": 675, "target": 375, "value": 4}, {"source": 675, "target": 377, "value": 10}, {"source": 675, "target": 378, "value": 8}, {"source": 675, "target": 413, "value": 8}, {"source": 675, "target": 425, "value": 4}, {"source": 675, "target": 428, "value": 8}, {"source": 675, "target": 513, "value": 8}, {"source": 675, "target": 525, "value": 4}, {"source": 675, "target": 528, "value": 8}, {"source": 675, "target": 563, "value": 8}, {"source": 675, "target": 575, "value": 3}, {"source": 675, "target": 578, "value": 8}, {"source": 675, "target": 587, "value": 3}, {"source": 675, "target": 671, "value": 7}, {"source": 677, "target": 225, "value": 8}, {"source": 677, "target": 227, "value": 4}, {"source": 677, "target": 243, "value": 11}, {"source": 677, "target": 279, "value": 10}, {"source": 677, "target": 287, "value": 8}, {"source": 677, "target": 293, "value": 11}, {"source": 677, "target": 303, "value": 9}, {"source": 677, "target": 317, "value": 10}, {"source": 677, "target": 335, "value": 8}, {"source": 677, "target": 339, "value": 8}, {"source": 677, "target": 353, "value": 4}, {"source": 677, "target": 365, "value": 4}, {"source": 677, "target": 377, "value": 2}, {"source": 677, "target": 393, "value": 10}, {"source": 677, "target": 425, "value": 8}, {"source": 677, "target": 429, "value": 4}, {"source": 677, "target": 437, "value": 8}, {"source": 677, "target": 443, "value": 10}, {"source": 677, "target": 453, "value": 4}, {"source": 677, "target": 465, "value": 8}, {"source": 677, "target": 489, "value": 8}, {"source": 677, "target": 503, "value": 9}, {"source": 677, "target": 525, "value": 8}, {"source": 677, "target": 527, "value": 4}, {"source": 677, "target": 543, "value": 9}, {"source": 677, "target": 573, "value": 8}, {"source": 677, "target": 575, "value": 3}, {"source": 677, "target": 587, "value": 8}, {"source": 677, "target": 593, "value": 9}, {"source": 677, "target": 603, "value": 8}, {"source": 677, "target": 639, "value": 8}, {"source": 677, "target": 645, "value": 3}, {"source": 677, "target": 653, "value": 4}, {"source": 677, "target": 665, "value": 8}, {"source": 678, "target": 225, "value": 8}, {"source": 678, "target": 228, "value": 4}, {"source": 678, "target": 249, "value": 8}, {"source": 678, "target": 261, "value": 8}, {"source": 678, "target": 273, "value": 8}, {"source": 678, "target": 275, "value": 8}, {"source": 678, "target": 278, "value": 4}, {"source": 678, "target": 303, "value": 10}, {"source": 678, "target": 321, "value": 8}, {"source": 678, "target": 323, "value": 8}, {"source": 678, "target": 353, "value": 10}, {"source": 678, "target": 365, "value": 10}, {"source": 678, "target": 375, "value": 8}, {"source": 678, "target": 378, "value": 4}, {"source": 678, "target": 399, "value": 8}, {"source": 678, "target": 413, "value": 4}, {"source": 678, "target": 423, "value": 8}, {"source": 678, "target": 425, "value": 8}, {"source": 678, "target": 428, "value": 4}, {"source": 678, "target": 437, "value": 8}, {"source": 678, "target": 453, "value": 9}, {"source": 678, "target": 461, "value": 8}, {"source": 678, "target": 473, "value": 8}, {"source": 678, "target": 503, "value": 9}, {"source": 678, "target": 513, "value": 8}, {"source": 678, "target": 525, "value": 8}, {"source": 678, "target": 528, "value": 4}, {"source": 678, "target": 545, "value": 8}, {"source": 678, "target": 549, "value": 8}, {"source": 678, "target": 561, "value": 8}, {"source": 678, "target": 563, "value": 9}, {"source": 678, "target": 573, "value": 8}, {"source": 678, "target": 575, "value": 8}, {"source": 678, "target": 578, "value": 4}, {"source": 678, "target": 603, "value": 8}, {"source": 678, "target": 623, "value": 8}, {"source": 678, "target": 653, "value": 8}, {"source": 678, "target": 671, "value": 7}, {"source": 678, "target": 675, "value": 8}, {"source": 681, "target": 221, "value": 11}, {"source": 681, "target": 231, "value": 4}, {"source": 681, "target": 243, "value": 8}, {"source": 681, "target": 273, "value": 11}, {"source": 681, "target": 281, "value": 2}, {"source": 681, "target": 293, "value": 8}, {"source": 681, "target": 333, "value": 10}, {"source": 681, "target": 369, "value": 8}, {"source": 681, "target": 377, "value": 8}, {"source": 681, "target": 381, "value": 2}, {"source": 681, "target": 393, "value": 8}, {"source": 681, "target": 398, "value": 9}, {"source": 681, "target": 431, "value": 2}, {"source": 681, "target": 443, "value": 8}, {"source": 681, "target": 489, "value": 8}, {"source": 681, "target": 519, "value": 9}, {"source": 681, "target": 531, "value": 4}, {"source": 681, "target": 533, "value": 9}, {"source": 681, "target": 543, "value": 8}, {"source": 681, "target": 551, "value": 3}, {"source": 681, "target": 581, "value": 2}, {"source": 681, "target": 585, "value": 9}, {"source": 681, "target": 593, "value": 8}, {"source": 681, "target": 605, "value": 8}, {"source": 681, "target": 621, "value": 2}, {"source": 681, "target": 669, "value": 8}, {"source": 683, "target": 221, "value": 4}, {"source": 683, "target": 233, "value": 1}, {"source": 683, "target": 257, "value": 8}, {"source": 683, "target": 279, "value": 4}, {"source": 683, "target": 317, "value": 8}, {"source": 683, "target": 321, "value": 4}, {"source": 683, "target": 333, "value": 1}, {"source": 683, "target": 335, "value": 10}, {"source": 683, "target": 381, "value": 8}, {"source": 683, "target": 383, "value": 2}, {"source": 683, "target": 405, "value": 11}, {"source": 683, "target": 407, "value": 8}, {"source": 683, "target": 429, "value": 9}, {"source": 683, "target": 483, "value": 2}, {"source": 683, "target": 521, "value": 8}, {"source": 683, "target": 533, "value": 1}, {"source": 683, "target": 557, "value": 4}, {"source": 683, "target": 573, "value": 9}, {"source": 683, "target": 579, "value": 9}, {"source": 683, "target": 617, "value": 8}, {"source": 683, "target": 621, "value": 7}, {"source": 683, "target": 633, "value": 1}, {"source": 683, "target": 669, "value": 8}, {"source": 693, "target": 243, "value": 1}, {"source": 693, "target": 245, "value": 10}, {"source": 693, "target": 251, "value": 8}, {"source": 693, "target": 255, "value": 8}, {"source": 693, "target": 281, "value": 9}, {"source": 693, "target": 293, "value": 0}, {"source": 693, "target": 303, "value": 8}, {"source": 693, "target": 305, "value": 8}, {"source": 693, "target": 317, "value": 2}, {"source": 693, "target": 333, "value": 10}, {"source": 693, "target": 335, "value": 8}, {"source": 693, "target": 339, "value": 8}, {"source": 693, "target": 341, "value": 8}, {"source": 693, "target": 353, "value": 8}, {"source": 693, "target": 377, "value": 8}, {"source": 693, "target": 381, "value": 8}, {"source": 693, "target": 393, "value": 1}, {"source": 693, "target": 398, "value": 9}, {"source": 693, "target": 405, "value": 8}, {"source": 693, "target": 429, "value": 8}, {"source": 693, "target": 431, "value": 9}, {"source": 693, "target": 441, "value": 8}, {"source": 693, "target": 443, "value": 1}, {"source": 693, "target": 453, "value": 8}, {"source": 693, "target": 455, "value": 8}, {"source": 693, "target": 467, "value": 4}, {"source": 693, "target": 489, "value": 2}, {"source": 693, "target": 503, "value": 8}, {"source": 693, "target": 521, "value": 3}, {"source": 693, "target": 533, "value": 9}, {"source": 693, "target": 543, "value": 1}, {"source": 693, "target": 545, "value": 9}, {"source": 693, "target": 555, "value": 8}, {"source": 693, "target": 581, "value": 8}, {"source": 693, "target": 585, "value": 9}, {"source": 693, "target": 591, "value": 3}, {"source": 693, "target": 593, "value": 1}, {"source": 693, "target": 603, "value": 8}, {"source": 693, "target": 605, "value": 8}, {"source": 693, "target": 617, "value": 4}, {"source": 693, "target": 639, "value": 8}, {"source": 693, "target": 641, "value": 7}, {"source": 693, "target": 645, "value": 8}, {"source": 693, "target": 653, "value": 8}, {"source": 693, "target": 677, "value": 8}, {"source": 693, "target": 681, "value": 8}, {"source": 695, "target": 233, "value": 4}, {"source": 695, "target": 245, "value": 2}, {"source": 695, "target": 248, "value": 8}, {"source": 695, "target": 257, "value": 8}, {"source": 695, "target": 285, "value": 10}, {"source": 695, "target": 333, "value": 8}, {"source": 695, "target": 345, "value": 2}, {"source": 695, "target": 348, "value": 8}, {"source": 695, "target": 395, "value": 4}, {"source": 695, "target": 398, "value": 8}, {"source": 695, "target": 407, "value": 8}, {"source": 695, "target": 485, "value": 9}, {"source": 695, "target": 495, "value": 4}, {"source": 695, "target": 498, "value": 8}, {"source": 695, "target": 503, "value": 8}, {"source": 695, "target": 533, "value": 8}, {"source": 695, "target": 545, "value": 2}, {"source": 695, "target": 548, "value": 8}, {"source": 695, "target": 557, "value": 8}, {"source": 695, "target": 579, "value": 3}, {"source": 695, "target": 633, "value": 7}, {"source": 695, "target": 645, "value": 2}, {"source": 695, "target": 648, "value": 8}, {"source": 695, "target": 669, "value": 8}, {"source": 698, "target": 219, "value": 8}, {"source": 698, "target": 233, "value": 4}, {"source": 698, "target": 245, "value": 8}, {"source": 698, "target": 248, "value": 4}, {"source": 698, "target": 257, "value": 8}, {"source": 698, "target": 273, "value": 11}, {"source": 698, "target": 285, "value": 11}, {"source": 698, "target": 309, "value": 10}, {"source": 698, "target": 323, "value": 10}, {"source": 698, "target": 333, "value": 9}, {"source": 698, "target": 345, "value": 8}, {"source": 698, "target": 348, "value": 4}, {"source": 698, "target": 369, "value": 8}, {"source": 698, "target": 395, "value": 8}, {"source": 698, "target": 398, "value": 4}, {"source": 698, "target": 423, "value": 10}, {"source": 698, "target": 473, "value": 9}, {"source": 698, "target": 485, "value": 10}, {"source": 698, "target": 495, "value": 8}, {"source": 698, "target": 498, "value": 4}, {"source": 698, "target": 519, "value": 8}, {"source": 698, "target": 533, "value": 8}, {"source": 698, "target": 545, "value": 8}, {"source": 698, "target": 548, "value": 4}, {"source": 698, "target": 557, "value": 8}, {"source": 698, "target": 573, "value": 9}, {"source": 698, "target": 611, "value": 8}, {"source": 698, "target": 615, "value": 8}, {"source": 698, "target": 623, "value": 8}, {"source": 698, "target": 633, "value": 8}, {"source": 698, "target": 645, "value": 7}, {"source": 698, "target": 648, "value": 3}, {"source": 698, "target": 669, "value": 8}, {"source": 698, "target": 695, "value": 8}, {"source": 699, "target": 221, "value": 8}, {"source": 699, "target": 228, "value": 9}, {"source": 699, "target": 249, "value": 4}, {"source": 699, "target": 251, "value": 10}, {"source": 699, "target": 273, "value": 4}, {"source": 699, "target": 278, "value": 9}, {"source": 699, "target": 293, "value": 10}, {"source": 699, "target": 303, "value": 4}, {"source": 699, "target": 321, "value": 11}, {"source": 699, "target": 323, "value": 8}, {"source": 699, "target": 341, "value": 8}, {"source": 699, "target": 347, "value": 8}, {"source": 699, "target": 353, "value": 4}, {"source": 699, "target": 378, "value": 9}, {"source": 699, "target": 399, "value": 4}, {"source": 699, "target": 423, "value": 8}, {"source": 699, "target": 428, "value": 9}, {"source": 699, "target": 437, "value": 8}, {"source": 699, "target": 441, "value": 8}, {"source": 699, "target": 453, "value": 4}, {"source": 699, "target": 473, "value": 4}, {"source": 699, "target": 497, "value": 8}, {"source": 699, "target": 503, "value": 4}, {"source": 699, "target": 528, "value": 8}, {"source": 699, "target": 545, "value": 8}, {"source": 699, "target": 549, "value": 4}, {"source": 699, "target": 555, "value": 3}, {"source": 699, "target": 573, "value": 2}, {"source": 699, "target": 578, "value": 8}, {"source": 699, "target": 603, "value": 4}, {"source": 699, "target": 621, "value": 8}, {"source": 699, "target": 623, "value": 8}, {"source": 699, "target": 641, "value": 8}, {"source": 699, "target": 647, "value": 8}, {"source": 699, "target": 653, "value": 4}, {"source": 699, "target": 678, "value": 7}, {"source": 699, "target": 693, "value": 8}, {"source": 699, "target": 695, "value": 3}, {"source": 701, "target": 227, "value": 8}, {"source": 701, "target": 249, "value": 8}, {"source": 701, "target": 251, "value": 4}, {"source": 701, "target": 261, "value": 8}, {"source": 701, "target": 263, "value": 8}, {"source": 701, "target": 279, "value": 10}, {"source": 701, "target": 303, "value": 9}, {"source": 701, "target": 311, "value": 8}, {"source": 701, "target": 341, "value": 10}, {"source": 701, "target": 351, "value": 4}, {"source": 701, "target": 353, "value": 4}, {"source": 701, "target": 363, "value": 8}, {"source": 701, "target": 377, "value": 8}, {"source": 701, "target": 401, "value": 2}, {"source": 701, "target": 411, "value": 8}, {"source": 701, "target": 413, "value": 8}, {"source": 701, "target": 453, "value": 3}, {"source": 701, "target": 455, "value": 9}, {"source": 701, "target": 461, "value": 8}, {"source": 701, "target": 489, "value": 8}, {"source": 701, "target": 501, "value": 2}, {"source": 701, "target": 503, "value": 4}, {"source": 701, "target": 513, "value": 8}, {"source": 701, "target": 525, "value": 8}, {"source": 701, "target": 527, "value": 8}, {"source": 701, "target": 543, "value": 3}, {"source": 701, "target": 549, "value": 8}, {"source": 701, "target": 551, "value": 4}, {"source": 701, "target": 561, "value": 8}, {"source": 701, "target": 563, "value": 8}, {"source": 701, "target": 573, "value": 10}, {"source": 701, "target": 603, "value": 8}, {"source": 701, "target": 611, "value": 8}, {"source": 701, "target": 651, "value": 2}, {"source": 701, "target": 653, "value": 2}, {"source": 701, "target": 663, "value": 8}, {"source": 701, "target": 677, "value": 8}, {"source": 701, "target": 683, "value": 3}, {"source": 705, "target": 245, "value": 11}, {"source": 705, "target": 251, "value": 8}, {"source": 705, "target": 255, "value": 2}, {"source": 705, "target": 293, "value": 9}, {"source": 705, "target": 305, "value": 2}, {"source": 705, "target": 317, "value": 8}, {"source": 705, "target": 363, "value": 8}, {"source": 705, "target": 377, "value": 11}, {"source": 705, "target": 393, "value": 8}, {"source": 705, "target": 405, "value": 2}, {"source": 705, "target": 429, "value": 8}, {"source": 705, "target": 455, "value": 4}, {"source": 705, "target": 467, "value": 8}, {"source": 705, "target": 555, "value": 4}, {"source": 705, "target": 557, "value": 9}, {"source": 705, "target": 593, "value": 8}, {"source": 705, "target": 605, "value": 2}, {"source": 705, "target": 617, "value": 8}, {"source": 705, "target": 645, "value": 8}, {"source": 705, "target": 693, "value": 8}, {"source": 707, "target": 233, "value": 4}, {"source": 707, "target": 245, "value": 9}, {"source": 707, "target": 257, "value": 4}, {"source": 707, "target": 333, "value": 4}, {"source": 707, "target": 345, "value": 8}, {"source": 707, "target": 381, "value": 8}, {"source": 707, "target": 383, "value": 9}, {"source": 707, "target": 407, "value": 4}, {"source": 707, "target": 483, "value": 9}, {"source": 707, "target": 503, "value": 8}, {"source": 707, "target": 533, "value": 4}, {"source": 707, "target": 545, "value": 8}, {"source": 707, "target": 557, "value": 4}, {"source": 707, "target": 633, "value": 4}, {"source": 707, "target": 645, "value": 7}, {"source": 707, "target": 683, "value": 8}, {"source": 707, "target": 695, "value": 8}, {"source": 711, "target": 249, "value": 9}, {"source": 711, "target": 261, "value": 4}, {"source": 711, "target": 285, "value": 8}, {"source": 711, "target": 311, "value": 4}, {"source": 711, "target": 363, "value": 10}, {"source": 711, "target": 411, "value": 4}, {"source": 711, "target": 461, "value": 4}, {"source": 711, "target": 501, "value": 9}, {"source": 711, "target": 549, "value": 8}, {"source": 711, "target": 561, "value": 4}, {"source": 711, "target": 611, "value": 4}, {"source": 711, "target": 701, "value": 8}, {"source": 713, "target": 225, "value": 8}, {"source": 713, "target": 228, "value": 8}, {"source": 713, "target": 255, "value": 10}, {"source": 713, "target": 261, "value": 8}, {"source": 713, "target": 263, "value": 1}, {"source": 713, "target": 275, "value": 8}, {"source": 713, "target": 278, "value": 8}, {"source": 713, "target": 285, "value": 8}, {"source": 713, "target": 287, "value": 4}, {"source": 713, "target": 291, "value": 9}, {"source": 713, "target": 293, "value": 8}, {"source": 713, "target": 305, "value": 8}, {"source": 713, "target": 309, "value": 8}, {"source": 713, "target": 311, "value": 8}, {"source": 713, "target": 317, "value": 8}, {"source": 713, "target": 321, "value": 8}, {"source": 713, "target": 341, "value": 9}, {"source": 713, "target": 351, "value": 9}, {"source": 713, "target": 363, "value": 1}, {"source": 713, "target": 365, "value": 4}, {"source": 713, "target": 375, "value": 8}, {"source": 713, "target": 378, "value": 8}, {"source": 713, "target": 401, "value": 8}, {"source": 713, "target": 405, "value": 4}, {"source": 713, "target": 411, "value": 8}, {"source": 713, "target": 413, "value": 1}, {"source": 713, "target": 425, "value": 8}, {"source": 713, "target": 428, "value": 8}, {"source": 713, "target": 437, "value": 4}, {"source": 713, "target": 441, "value": 9}, {"source": 713, "target": 453, "value": 9}, {"source": 713, "target": 455, "value": 10}, {"source": 713, "target": 459, "value": 8}, {"source": 713, "target": 461, "value": 2}, {"source": 713, "target": 467, "value": 8}, {"source": 713, "target": 489, "value": 4}, {"source": 713, "target": 491, "value": 9}, {"source": 713, "target": 497, "value": 4}, {"source": 713, "target": 501, "value": 8}, {"source": 713, "target": 513, "value": 0}, {"source": 713, "target": 525, "value": 8}, {"source": 713, "target": 528, "value": 8}, {"source": 713, "target": 549, "value": 8}, {"source": 713, "target": 557, "value": 9}, {"source": 713, "target": 561, "value": 8}, {"source": 713, "target": 563, "value": 1}, {"source": 713, "target": 575, "value": 8}, {"source": 713, "target": 578, "value": 8}, {"source": 713, "target": 587, "value": 4}, {"source": 713, "target": 591, "value": 9}, {"source": 713, "target": 605, "value": 8}, {"source": 713, "target": 609, "value": 9}, {"source": 713, "target": 611, "value": 8}, {"source": 713, "target": 615, "value": 9}, {"source": 713, "target": 617, "value": 8}, {"source": 713, "target": 641, "value": 9}, {"source": 713, "target": 651, "value": 8}, {"source": 713, "target": 653, "value": 2}, {"source": 713, "target": 663, "value": 1}, {"source": 713, "target": 671, "value": 7}, {"source": 713, "target": 675, "value": 8}, {"source": 713, "target": 678, "value": 8}, {"source": 713, "target": 701, "value": 8}, {"source": 713, "target": 705, "value": 7}, {"source": 713, "target": 711, "value": 7}, {"source": 723, "target": 219, "value": 8}, {"source": 723, "target": 221, "value": 8}, {"source": 723, "target": 248, "value": 8}, {"source": 723, "target": 257, "value": 8}, {"source": 723, "target": 261, "value": 9}, {"source": 723, "target": 273, "value": 1}, {"source": 723, "target": 309, "value": 9}, {"source": 723, "target": 323, "value": 2}, {"source": 723, "target": 347, "value": 8}, {"source": 723, "target": 348, "value": 8}, {"source": 723, "target": 369, "value": 8}, {"source": 723, "target": 398, "value": 8}, {"source": 723, "target": 413, "value": 10}, {"source": 723, "target": 423, "value": 2}, {"source": 723, "target": 461, "value": 8}, {"source": 723, "target": 473, "value": 1}, {"source": 723, "target": 497, "value": 8}, {"source": 723, "target": 498, "value": 8}, {"source": 723, "target": 519, "value": 8}, {"source": 723, "target": 545, "value": 10}, {"source": 723, "target": 548, "value": 8}, {"source": 723, "target": 557, "value": 8}, {"source": 723, "target": 561, "value": 8}, {"source": 723, "target": 573, "value": 1}, {"source": 723, "target": 611, "value": 8}, {"source": 723, "target": 615, "value": 8}, {"source": 723, "target": 621, "value": 8}, {"source": 723, "target": 623, "value": 2}, {"source": 723, "target": 647, "value": 8}, {"source": 723, "target": 648, "value": 8}, {"source": 723, "target": 669, "value": 8}, {"source": 723, "target": 678, "value": 8}, {"source": 723, "target": 698, "value": 8}, {"source": 723, "target": 699, "value": 8}, {"source": 725, "target": 225, "value": 2}, {"source": 725, "target": 228, "value": 8}, {"source": 725, "target": 273, "value": 8}, {"source": 725, "target": 275, "value": 4}, {"source": 725, "target": 278, "value": 8}, {"source": 725, "target": 285, "value": 8}, {"source": 725, "target": 287, "value": 8}, {"source": 725, "target": 321, "value": 8}, {"source": 725, "target": 335, "value": 8}, {"source": 725, "target": 365, "value": 10}, {"source": 725, "target": 375, "value": 4}, {"source": 725, "target": 377, "value": 4}, {"source": 725, "target": 378, "value": 8}, {"source": 725, "target": 413, "value": 8}, {"source": 725, "target": 425, "value": 2}, {"source": 725, "target": 428, "value": 8}, {"source": 725, "target": 429, "value": 10}, {"source": 725, "target": 435, "value": 8}, {"source": 725, "target": 437, "value": 8}, {"source": 725, "target": 473, "value": 8}, {"source": 725, "target": 485, "value": 8}, {"source": 725, "target": 513, "value": 8}, {"source": 725, "target": 525, "value": 2}, {"source": 725, "target": 528, "value": 8}, {"source": 725, "target": 531, "value": 8}, {"source": 725, "target": 563, "value": 9}, {"source": 725, "target": 573, "value": 8}, {"source": 725, "target": 575, "value": 4}, {"source": 725, "target": 578, "value": 8}, {"source": 725, "target": 585, "value": 8}, {"source": 725, "target": 587, "value": 8}, {"source": 725, "target": 635, "value": 8}, {"source": 725, "target": 671, "value": 7}, {"source": 725, "target": 675, "value": 3}, {"source": 725, "target": 677, "value": 8}, {"source": 725, "target": 678, "value": 7}, {"source": 725, "target": 713, "value": 8}, {"source": 728, "target": 225, "value": 8}, {"source": 728, "target": 228, "value": 4}, {"source": 728, "target": 249, "value": 8}, {"source": 728, "target": 275, "value": 8}, {"source": 728, "target": 278, "value": 4}, {"source": 728, "target": 303, "value": 11}, {"source": 728, "target": 321, "value": 8}, {"source": 728, "target": 353, "value": 10}, {"source": 728, "target": 365, "value": 10}, {"source": 728, "target": 375, "value": 8}, {"source": 728, "target": 378, "value": 4}, {"source": 728, "target": 399, "value": 8}, {"source": 728, "target": 413, "value": 8}, {"source": 728, "target": 425, "value": 8}, {"source": 728, "target": 428, "value": 4}, {"source": 728, "target": 437, "value": 8}, {"source": 728, "target": 453, "value": 10}, {"source": 728, "target": 503, "value": 9}, {"source": 728, "target": 513, "value": 8}, {"source": 728, "target": 525, "value": 8}, {"source": 728, "target": 528, "value": 4}, {"source": 728, "target": 545, "value": 8}, {"source": 728, "target": 549, "value": 8}, {"source": 728, "target": 563, "value": 9}, {"source": 728, "target": 575, "value": 8}, {"source": 728, "target": 578, "value": 4}, {"source": 728, "target": 603, "value": 9}, {"source": 728, "target": 653, "value": 8}, {"source": 728, "target": 671, "value": 8}, {"source": 728, "target": 675, "value": 7}, {"source": 728, "target": 678, "value": 3}, {"source": 728, "target": 699, "value": 8}, {"source": 728, "target": 713, "value": 8}, {"source": 728, "target": 725, "value": 8}, {"source": 729, "target": 221, "value": 11}, {"source": 729, "target": 233, "value": 12}, {"source": 729, "target": 279, "value": 4}, {"source": 729, "target": 291, "value": 8}, {"source": 729, "target": 317, "value": 9}, {"source": 729, "target": 333, "value": 11}, {"source": 729, "target": 341, "value": 8}, {"source": 729, "target": 381, "value": 9}, {"source": 729, "target": 383, "value": 11}, {"source": 729, "target": 429, "value": 2}, {"source": 729, "target": 441, "value": 8}, {"source": 729, "target": 483, "value": 10}, {"source": 729, "target": 491, "value": 8}, {"source": 729, "target": 531, "value": 9}, {"source": 729, "target": 533, "value": 4}, {"source": 729, "target": 579, "value": 4}, {"source": 729, "target": 581, "value": 9}, {"source": 729, "target": 587, "value": 8}, {"source": 729, "target": 591, "value": 8}, {"source": 729, "target": 617, "value": 8}, {"source": 729, "target": 633, "value": 9}, {"source": 729, "target": 641, "value": 8}, {"source": 729, "target": 653, "value": 8}, {"source": 729, "target": 669, "value": 8}, {"source": 729, "target": 683, "value": 9}, {"source": 731, "target": 221, "value": 11}, {"source": 731, "target": 231, "value": 4}, {"source": 731, "target": 273, "value": 11}, {"source": 731, "target": 281, "value": 4}, {"source": 731, "target": 369, "value": 8}, {"source": 731, "target": 377, "value": 8}, {"source": 731, "target": 381, "value": 4}, {"source": 731, "target": 431, "value": 4}, {"source": 731, "target": 519, "value": 9}, {"source": 731, "target": 531, "value": 4}, {"source": 731, "target": 581, "value": 4}, {"source": 731, "target": 605, "value": 8}, {"source": 731, "target": 621, "value": 8}, {"source": 731, "target": 669, "value": 7}, {"source": 731, "target": 681, "value": 3}, {"source": 735, "target": 273, "value": 9}, {"source": 735, "target": 285, "value": 4}, {"source": 735, "target": 335, "value": 4}, {"source": 735, "target": 377, "value": 10}, {"source": 735, "target": 435, "value": 4}, {"source": 735, "target": 473, "value": 8}, {"source": 735, "target": 485, "value": 4}, {"source": 735, "target": 525, "value": 9}, {"source": 735, "target": 531, "value": 8}, {"source": 735, "target": 563, "value": 3}, {"source": 735, "target": 573, "value": 8}, {"source": 735, "target": 585, "value": 4}, {"source": 735, "target": 587, "value": 9}, {"source": 735, "target": 633, "value": 3}, {"source": 735, "target": 635, "value": 4}, {"source": 735, "target": 725, "value": 8}, {"source": 737, "target": 225, "value": 9}, {"source": 737, "target": 228, "value": 9}, {"source": 737, "target": 249, "value": 8}, {"source": 737, "target": 263, "value": 9}, {"source": 737, "target": 278, "value": 9}, {"source": 737, "target": 287, "value": 4}, {"source": 737, "target": 303, "value": 11}, {"source": 737, "target": 353, "value": 11}, {"source": 737, "target": 363, "value": 9}, {"source": 737, "target": 378, "value": 8}, {"source": 737, "target": 399, "value": 8}, {"source": 737, "target": 413, "value": 4}, {"source": 737, "target": 425, "value": 8}, {"source": 737, "target": 428, "value": 8}, {"source": 737, "target": 429, "value": 10}, {"source": 737, "target": 437, "value": 2}, {"source": 737, "target": 453, "value": 10}, {"source": 737, "target": 461, "value": 8}, {"source": 737, "target": 489, "value": 9}, {"source": 737, "target": 503, "value": 10}, {"source": 737, "target": 513, "value": 4}, {"source": 737, "target": 525, "value": 8}, {"source": 737, "target": 528, "value": 8}, {"source": 737, "target": 545, "value": 8}, {"source": 737, "target": 549, "value": 8}, {"source": 737, "target": 551, "value": 3}, {"source": 737, "target": 563, "value": 8}, {"source": 737, "target": 578, "value": 8}, {"source": 737, "target": 587, "value": 4}, {"source": 737, "target": 603, "value": 9}, {"source": 737, "target": 621, "value": 3}, {"source": 737, "target": 653, "value": 8}, {"source": 737, "target": 663, "value": 8}, {"source": 737, "target": 677, "value": 8}, {"source": 737, "target": 678, "value": 7}, {"source": 737, "target": 699, "value": 8}, {"source": 737, "target": 713, "value": 4}, {"source": 737, "target": 725, "value": 7}, {"source": 737, "target": 728, "value": 7}, {"source": 741, "target": 219, "value": 8}, {"source": 741, "target": 228, "value": 8}, {"source": 741, "target": 233, "value": 4}, {"source": 741, "target": 245, "value": 8}, {"source": 741, "target": 248, "value": 8}, {"source": 741, "target": 249, "value": 8}, {"source": 741, "target": 251, "value": 8}, {"source": 741, "target": 278, "value": 8}, {"source": 741, "target": 285, "value": 10}, {"source": 741, "target": 291, "value": 4}, {"source": 741, "target": 293, "value": 5}, {"source": 741, "target": 303, "value": 4}, {"source": 741, "target": 321, "value": 9}, {"source": 741, "target": 333, "value": 8}, {"source": 741, "target": 339, "value": 8}, {"source": 741, "target": 341, "value": 2}, {"source": 741, "target": 345, "value": 8}, {"source": 741, "target": 348, "value": 8}, {"source": 741, "target": 351, "value": 8}, {"source": 741, "target": 353, "value": 4}, {"source": 741, "target": 365, "value": 8}, {"source": 741, "target": 369, "value": 8}, {"source": 741, "target": 378, "value": 8}, {"source": 741, "target": 381, "value": 10}, {"source": 741, "target": 395, "value": 8}, {"source": 741, "target": 398, "value": 8}, {"source": 741, "target": 399, "value": 8}, {"source": 741, "target": 401, "value": 8}, {"source": 741, "target": 413, "value": 8}, {"source": 741, "target": 428, "value": 8}, {"source": 741, "target": 429, "value": 8}, {"source": 741, "target": 437, "value": 8}, {"source": 741, "target": 441, "value": 2}, {"source": 741, "target": 453, "value": 4}, {"source": 741, "target": 461, "value": 9}, {"source": 741, "target": 485, "value": 9}, {"source": 741, "target": 489, "value": 4}, {"source": 741, "target": 491, "value": 4}, {"source": 741, "target": 495, "value": 8}, {"source": 741, "target": 498, "value": 8}, {"source": 741, "target": 501, "value": 8}, {"source": 741, "target": 503, "value": 4}, {"source": 741, "target": 519, "value": 9}, {"source": 741, "target": 528, "value": 8}, {"source": 741, "target": 533, "value": 4}, {"source": 741, "target": 545, "value": 4}, {"source": 741, "target": 548, "value": 8}, {"source": 741, "target": 549, "value": 8}, {"source": 741, "target": 551, "value": 8}, {"source": 741, "target": 578, "value": 8}, {"source": 741, "target": 581, "value": 9}, {"source": 741, "target": 587, "value": 8}, {"source": 741, "target": 591, "value": 4}, {"source": 741, "target": 603, "value": 4}, {"source": 741, "target": 633, "value": 8}, {"source": 741, "target": 639, "value": 8}, {"source": 741, "target": 641, "value": 2}, {"source": 741, "target": 645, "value": 7}, {"source": 741, "target": 648, "value": 8}, {"source": 741, "target": 651, "value": 8}, {"source": 741, "target": 653, "value": 4}, {"source": 741, "target": 669, "value": 8}, {"source": 741, "target": 671, "value": 7}, {"source": 741, "target": 678, "value": 7}, {"source": 741, "target": 693, "value": 8}, {"source": 741, "target": 695, "value": 7}, {"source": 741, "target": 698, "value": 7}, {"source": 741, "target": 699, "value": 4}, {"source": 741, "target": 701, "value": 8}, {"source": 741, "target": 713, "value": 8}, {"source": 741, "target": 728, "value": 8}, {"source": 741, "target": 729, "value": 8}, {"source": 741, "target": 737, "value": 2}, {"source": 743, "target": 243, "value": 2}, {"source": 743, "target": 281, "value": 9}, {"source": 743, "target": 293, "value": 1}, {"source": 743, "target": 317, "value": 4}, {"source": 743, "target": 333, "value": 10}, {"source": 743, "target": 335, "value": 8}, {"source": 743, "target": 339, "value": 8}, {"source": 743, "target": 377, "value": 8}, {"source": 743, "target": 381, "value": 8}, {"source": 743, "target": 393, "value": 1}, {"source": 743, "target": 398, "value": 9}, {"source": 743, "target": 429, "value": 8}, {"source": 743, "target": 431, "value": 9}, {"source": 743, "target": 443, "value": 2}, {"source": 743, "target": 467, "value": 8}, {"source": 743, "target": 489, "value": 2}, {"source": 743, "target": 533, "value": 9}, {"source": 743, "target": 543, "value": 2}, {"source": 743, "target": 545, "value": 9}, {"source": 743, "target": 581, "value": 8}, {"source": 743, "target": 585, "value": 9}, {"source": 743, "target": 593, "value": 1}, {"source": 743, "target": 617, "value": 8}, {"source": 743, "target": 639, "value": 8}, {"source": 743, "target": 677, "value": 8}, {"source": 743, "target": 681, "value": 7}, {"source": 743, "target": 693, "value": 1}, {"source": 753, "target": 215, "value": 8}, {"source": 753, "target": 227, "value": 4}, {"source": 753, "target": 228, "value": 8}, {"source": 753, "target": 249, "value": 8}, {"source": 753, "target": 278, "value": 8}, {"source": 753, "target": 279, "value": 4}, {"source": 753, "target": 293, "value": 10}, {"source": 753, "target": 303, "value": 1}, {"source": 753, "target": 315, "value": 8}, {"source": 753, "target": 341, "value": 9}, {"source": 753, "target": 353, "value": 1}, {"source": 753, "target": 365, "value": 8}, {"source": 753, "target": 377, "value": 4}, {"source": 753, "target": 378, "value": 8}, {"source": 753, "target": 399, "value": 8}, {"source": 753, "target": 405, "value": 4}, {"source": 753, "target": 428, "value": 8}, {"source": 753, "target": 437, "value": 8}, {"source": 753, "target": 441, "value": 8}, {"source": 753, "target": 453, "value": 0}, {"source": 753, "target": 461, "value": 8}, {"source": 753, "target": 465, "value": 8}, {"source": 753, "target": 503, "value": 1}, {"source": 753, "target": 515, "value": 8}, {"source": 753, "target": 527, "value": 4}, {"source": 753, "target": 528, "value": 8}, {"source": 753, "target": 545, "value": 8}, {"source": 753, "target": 549, "value": 8}, {"source": 753, "target": 578, "value": 8}, {"source": 753, "target": 603, "value": 1}, {"source": 753, "target": 605, "value": 9}, {"source": 753, "target": 615, "value": 8}, {"source": 753, "target": 641, "value": 8}, {"source": 753, "target": 653, "value": 1}, {"source": 753, "target": 665, "value": 7}, {"source": 753, "target": 677, "value": 4}, {"source": 753, "target": 678, "value": 8}, {"source": 753, "target": 693, "value": 8}, {"source": 753, "target": 699, "value": 4}, {"source": 753, "target": 701, "value": 3}, {"source": 753, "target": 707, "value": 3}, {"source": 753, "target": 728, "value": 8}, {"source": 753, "target": 737, "value": 8}, {"source": 753, "target": 741, "value": 4}, {"source": 755, "target": 245, "value": 11}, {"source": 755, "target": 251, "value": 8}, {"source": 755, "target": 255, "value": 4}, {"source": 755, "target": 263, "value": 12}, {"source": 755, "target": 293, "value": 9}, {"source": 755, "target": 303, "value": 8}, {"source": 755, "target": 305, "value": 4}, {"source": 755, "target": 309, "value": 8}, {"source": 755, "target": 351, "value": 10}, {"source": 755, "target": 353, "value": 8}, {"source": 755, "target": 363, "value": 11}, {"source": 755, "target": 377, "value": 11}, {"source": 755, "target": 393, "value": 8}, {"source": 755, "target": 405, "value": 2}, {"source": 755, "target": 413, "value": 10}, {"source": 755, "target": 429, "value": 8}, {"source": 755, "target": 453, "value": 8}, {"source": 755, "target": 455, "value": 4}, {"source": 755, "target": 459, "value": 8}, {"source": 755, "target": 497, "value": 4}, {"source": 755, "target": 503, "value": 8}, {"source": 755, "target": 513, "value": 10}, {"source": 755, "target": 549, "value": 9}, {"source": 755, "target": 555, "value": 2}, {"source": 755, "target": 563, "value": 9}, {"source": 755, "target": 593, "value": 8}, {"source": 755, "target": 603, "value": 8}, {"source": 755, "target": 605, "value": 4}, {"source": 755, "target": 609, "value": 8}, {"source": 755, "target": 645, "value": 8}, {"source": 755, "target": 653, "value": 8}, {"source": 755, "target": 663, "value": 9}, {"source": 755, "target": 693, "value": 7}, {"source": 755, "target": 695, "value": 3}, {"source": 755, "target": 705, "value": 3}, {"source": 755, "target": 713, "value": 8}, {"source": 755, "target": 753, "value": 7}, {"source": 759, "target": 263, "value": 12}, {"source": 759, "target": 309, "value": 4}, {"source": 759, "target": 333, "value": 8}, {"source": 759, "target": 351, "value": 10}, {"source": 759, "target": 363, "value": 11}, {"source": 759, "target": 405, "value": 8}, {"source": 759, "target": 413, "value": 11}, {"source": 759, "target": 459, "value": 4}, {"source": 759, "target": 461, "value": 9}, {"source": 759, "target": 497, "value": 4}, {"source": 759, "target": 513, "value": 10}, {"source": 759, "target": 549, "value": 9}, {"source": 759, "target": 563, "value": 9}, {"source": 759, "target": 609, "value": 4}, {"source": 759, "target": 663, "value": 9}, {"source": 759, "target": 671, "value": 3}, {"source": 759, "target": 713, "value": 8}, {"source": 759, "target": 741, "value": 3}, {"source": 759, "target": 755, "value": 8}, {"source": 761, "target": 249, "value": 9}, {"source": 761, "target": 261, "value": 2}, {"source": 761, "target": 273, "value": 4}, {"source": 761, "target": 285, "value": 8}, {"source": 761, "target": 311, "value": 4}, {"source": 761, "target": 323, "value": 4}, {"source": 761, "target": 363, "value": 10}, {"source": 761, "target": 411, "value": 4}, {"source": 761, "target": 413, "value": 4}, {"source": 761, "target": 423, "value": 4}, {"source": 761, "target": 461, "value": 2}, {"source": 761, "target": 473, "value": 4}, {"source": 761, "target": 501, "value": 9}, {"source": 761, "target": 549, "value": 8}, {"source": 761, "target": 561, "value": 2}, {"source": 761, "target": 573, "value": 4}, {"source": 761, "target": 611, "value": 4}, {"source": 761, "target": 623, "value": 4}, {"source": 761, "target": 678, "value": 4}, {"source": 761, "target": 701, "value": 8}, {"source": 761, "target": 711, "value": 3}, {"source": 761, "target": 713, "value": 8}, {"source": 761, "target": 723, "value": 4}, {"source": 761, "target": 729, "value": 3}, {"source": 765, "target": 215, "value": 4}, {"source": 765, "target": 225, "value": 8}, {"source": 765, "target": 227, "value": 8}, {"source": 765, "target": 228, "value": 8}, {"source": 765, "target": 275, "value": 8}, {"source": 765, "target": 278, "value": 8}, {"source": 765, "target": 291, "value": 8}, {"source": 765, "target": 293, "value": 10}, {"source": 765, "target": 315, "value": 4}, {"source": 765, "target": 317, "value": 10}, {"source": 765, "target": 321, "value": 8}, {"source": 765, "target": 341, "value": 8}, {"source": 765, "target": 353, "value": 9}, {"source": 765, "target": 365, "value": 1}, {"source": 765, "target": 375, "value": 8}, {"source": 765, "target": 377, "value": 8}, {"source": 765, "target": 378, "value": 8}, {"source": 765, "target": 405, "value": 10}, {"source": 765, "target": 413, "value": 8}, {"source": 765, "target": 425, "value": 8}, {"source": 765, "target": 428, "value": 8}, {"source": 765, "target": 441, "value": 8}, {"source": 765, "target": 453, "value": 4}, {"source": 765, "target": 461, "value": 8}, {"source": 765, "target": 465, "value": 2}, {"source": 765, "target": 491, "value": 8}, {"source": 765, "target": 513, "value": 8}, {"source": 765, "target": 515, "value": 4}, {"source": 765, "target": 525, "value": 8}, {"source": 765, "target": 527, "value": 8}, {"source": 765, "target": 528, "value": 8}, {"source": 765, "target": 563, "value": 8}, {"source": 765, "target": 573, "value": 8}, {"source": 765, "target": 575, "value": 8}, {"source": 765, "target": 578, "value": 8}, {"source": 765, "target": 591, "value": 8}, {"source": 765, "target": 605, "value": 9}, {"source": 765, "target": 615, "value": 4}, {"source": 765, "target": 641, "value": 8}, {"source": 765, "target": 653, "value": 8}, {"source": 765, "target": 665, "value": 2}, {"source": 765, "target": 671, "value": 8}, {"source": 765, "target": 675, "value": 8}, {"source": 765, "target": 677, "value": 7}, {"source": 765, "target": 678, "value": 8}, {"source": 765, "target": 713, "value": 4}, {"source": 765, "target": 725, "value": 8}, {"source": 765, "target": 728, "value": 8}, {"source": 765, "target": 741, "value": 8}, {"source": 765, "target": 753, "value": 7}, {"source": 767, "target": 225, "value": 8}, {"source": 767, "target": 228, "value": 8}, {"source": 767, "target": 243, "value": 9}, {"source": 767, "target": 255, "value": 10}, {"source": 767, "target": 275, "value": 8}, {"source": 767, "target": 278, "value": 8}, {"source": 767, "target": 293, "value": 4}, {"source": 767, "target": 305, "value": 9}, {"source": 767, "target": 317, "value": 4}, {"source": 767, "target": 321, "value": 8}, {"source": 767, "target": 363, "value": 8}, {"source": 767, "target": 365, "value": 9}, {"source": 767, "target": 375, "value": 8}, {"source": 767, "target": 378, "value": 8}, {"source": 767, "target": 393, "value": 4}, {"source": 767, "target": 405, "value": 8}, {"source": 767, "target": 413, "value": 8}, {"source": 767, "target": 425, "value": 8}, {"source": 767, "target": 428, "value": 8}, {"source": 767, "target": 443, "value": 9}, {"source": 767, "target": 467, "value": 4}, {"source": 767, "target": 489, "value": 10}, {"source": 767, "target": 513, "value": 8}, {"source": 767, "target": 525, "value": 8}, {"source": 767, "target": 528, "value": 8}, {"source": 767, "target": 543, "value": 8}, {"source": 767, "target": 557, "value": 9}, {"source": 767, "target": 563, "value": 8}, {"source": 767, "target": 575, "value": 8}, {"source": 767, "target": 578, "value": 8}, {"source": 767, "target": 593, "value": 4}, {"source": 767, "target": 605, "value": 8}, {"source": 767, "target": 617, "value": 4}, {"source": 767, "target": 671, "value": 8}, {"source": 767, "target": 675, "value": 8}, {"source": 767, "target": 678, "value": 8}, {"source": 767, "target": 693, "value": 4}, {"source": 767, "target": 705, "value": 7}, {"source": 767, "target": 713, "value": 4}, {"source": 767, "target": 725, "value": 8}, {"source": 767, "target": 728, "value": 8}, {"source": 767, "target": 743, "value": 8}, {"source": 767, "target": 765, "value": 7}, {"source": 771, "target": 221, "value": 4}, {"source": 771, "target": 261, "value": 11}, {"source": 771, "target": 293, "value": 12}, {"source": 771, "target": 309, "value": 9}, {"source": 771, "target": 321, "value": 4}, {"source": 771, "target": 371, "value": 4}, {"source": 771, "target": 461, "value": 10}, {"source": 771, "target": 471, "value": 4}, {"source": 771, "target": 521, "value": 4}, {"source": 771, "target": 573, "value": 9}, {"source": 771, "target": 609, "value": 8}, {"source": 771, "target": 621, "value": 4}, {"source": 771, "target": 663, "value": 9}, {"source": 771, "target": 671, "value": 4}, {"source": 773, "target": 219, "value": 8}, {"source": 773, "target": 221, "value": 2}, {"source": 773, "target": 233, "value": 8}, {"source": 773, "target": 248, "value": 8}, {"source": 773, "target": 257, "value": 8}, {"source": 773, "target": 261, "value": 9}, {"source": 773, "target": 273, "value": 1}, {"source": 773, "target": 279, "value": 8}, {"source": 773, "target": 285, "value": 8}, {"source": 773, "target": 309, "value": 9}, {"source": 773, "target": 321, "value": 4}, {"source": 773, "target": 323, "value": 1}, {"source": 773, "target": 333, "value": 8}, {"source": 773, "target": 335, "value": 8}, {"source": 773, "target": 347, "value": 4}, {"source": 773, "target": 348, "value": 8}, {"source": 773, "target": 369, "value": 8}, {"source": 773, "target": 377, "value": 10}, {"source": 773, "target": 383, "value": 8}, {"source": 773, "target": 398, "value": 8}, {"source": 773, "target": 413, "value": 10}, {"source": 773, "target": 423, "value": 1}, {"source": 773, "target": 435, "value": 8}, {"source": 773, "target": 461, "value": 8}, {"source": 773, "target": 473, "value": 1}, {"source": 773, "target": 483, "value": 8}, {"source": 773, "target": 485, "value": 8}, {"source": 773, "target": 497, "value": 4}, {"source": 773, "target": 498, "value": 8}, {"source": 773, "target": 519, "value": 8}, {"source": 773, "target": 521, "value": 8}, {"source": 773, "target": 525, "value": 9}, {"source": 773, "target": 531, "value": 8}, {"source": 773, "target": 533, "value": 8}, {"source": 773, "target": 545, "value": 10}, {"source": 773, "target": 548, "value": 8}, {"source": 773, "target": 557, "value": 8}, {"source": 773, "target": 561, "value": 8}, {"source": 773, "target": 573, "value": 0}, {"source": 773, "target": 585, "value": 8}, {"source": 773, "target": 611, "value": 8}, {"source": 773, "target": 615, "value": 8}, {"source": 773, "target": 621, "value": 2}, {"source": 773, "target": 623, "value": 1}, {"source": 773, "target": 633, "value": 8}, {"source": 773, "target": 635, "value": 8}, {"source": 773, "target": 647, "value": 4}, {"source": 773, "target": 648, "value": 8}, {"source": 773, "target": 669, "value": 8}, {"source": 773, "target": 678, "value": 8}, {"source": 773, "target": 683, "value": 8}, {"source": 773, "target": 698, "value": 7}, {"source": 773, "target": 699, "value": 2}, {"source": 773, "target": 723, "value": 1}, {"source": 773, "target": 725, "value": 8}, {"source": 773, "target": 735, "value": 8}, {"source": 773, "target": 761, "value": 4}, {"source": 783, "target": 221, "value": 4}, {"source": 783, "target": 225, "value": 9}, {"source": 783, "target": 231, "value": 8}, {"source": 783, "target": 233, "value": 1}, {"source": 783, "target": 245, "value": 8}, {"source": 783, "target": 248, "value": 8}, {"source": 783, "target": 257, "value": 8}, {"source": 783, "target": 279, "value": 4}, {"source": 783, "target": 281, "value": 8}, {"source": 783, "target": 285, "value": 10}, {"source": 783, "target": 287, "value": 8}, {"source": 783, "target": 317, "value": 8}, {"source": 783, "target": 321, "value": 4}, {"source": 783, "target": 333, "value": 1}, {"source": 783, "target": 335, "value": 10}, {"source": 783, "target": 345, "value": 8}, {"source": 783, "target": 348, "value": 8}, {"source": 783, "target": 381, "value": 4}, {"source": 783, "target": 383, "value": 2}, {"source": 783, "target": 395, "value": 8}, {"source": 783, "target": 398, "value": 8}, {"source": 783, "target": 405, "value": 11}, {"source": 783, "target": 407, "value": 8}, {"source": 783, "target": 425, "value": 8}, {"source": 783, "target": 429, "value": 4}, {"source": 783, "target": 431, "value": 8}, {"source": 783, "target": 437, "value": 8}, {"source": 783, "target": 483, "value": 2}, {"source": 783, "target": 485, "value": 9}, {"source": 783, "target": 495, "value": 8}, {"source": 783, "target": 498, "value": 8}, {"source": 783, "target": 521, "value": 8}, {"source": 783, "target": 525, "value": 8}, {"source": 783, "target": 531, "value": 8}, {"source": 783, "target": 533, "value": 1}, {"source": 783, "target": 545, "value": 8}, {"source": 783, "target": 548, "value": 8}, {"source": 783, "target": 557, "value": 4}, {"source": 783, "target": 573, "value": 9}, {"source": 783, "target": 579, "value": 8}, {"source": 783, "target": 581, "value": 8}, {"source": 783, "target": 587, "value": 8}, {"source": 783, "target": 605, "value": 8}, {"source": 783, "target": 617, "value": 8}, {"source": 783, "target": 621, "value": 8}, {"source": 783, "target": 633, "value": 1}, {"source": 783, "target": 645, "value": 8}, {"source": 783, "target": 648, "value": 8}, {"source": 783, "target": 669, "value": 8}, {"source": 783, "target": 677, "value": 8}, {"source": 783, "target": 681, "value": 8}, {"source": 783, "target": 683, "value": 2}, {"source": 783, "target": 695, "value": 8}, {"source": 783, "target": 698, "value": 8}, {"source": 783, "target": 707, "value": 8}, {"source": 783, "target": 725, "value": 8}, {"source": 783, "target": 729, "value": 8}, {"source": 783, "target": 731, "value": 7}, {"source": 783, "target": 737, "value": 7}, {"source": 783, "target": 741, "value": 8}, {"source": 783, "target": 773, "value": 7}, {"source": 785, "target": 273, "value": 9}, {"source": 785, "target": 285, "value": 2}, {"source": 785, "target": 293, "value": 8}, {"source": 785, "target": 335, "value": 4}, {"source": 785, "target": 347, "value": 8}, {"source": 785, "target": 377, "value": 10}, {"source": 785, "target": 435, "value": 4}, {"source": 785, "target": 437, "value": 9}, {"source": 785, "target": 473, "value": 8}, {"source": 785, "target": 485, "value": 2}, {"source": 785, "target": 497, "value": 8}, {"source": 785, "target": 525, "value": 9}, {"source": 785, "target": 531, "value": 8}, {"source": 785, "target": 573, "value": 8}, {"source": 785, "target": 585, "value": 2}, {"source": 785, "target": 587, "value": 9}, {"source": 785, "target": 635, "value": 4}, {"source": 785, "target": 647, "value": 8}, {"source": 785, "target": 725, "value": 8}, {"source": 785, "target": 735, "value": 3}, {"source": 785, "target": 773, "value": 7}, {"source": 789, "target": 228, "value": 8}, {"source": 789, "target": 243, "value": 12}, {"source": 789, "target": 249, "value": 8}, {"source": 789, "target": 251, "value": 8}, {"source": 789, "target": 278, "value": 8}, {"source": 789, "target": 293, "value": 12}, {"source": 789, "target": 303, "value": 10}, {"source": 789, "target": 335, "value": 8}, {"source": 789, "target": 339, "value": 4}, {"source": 789, "target": 341, "value": 10}, {"source": 789, "target": 351, "value": 8}, {"source": 789, "target": 353, "value": 10}, {"source": 789, "target": 377, "value": 8}, {"source": 789, "target": 378, "value": 8}, {"source": 789, "target": 393, "value": 11}, {"source": 789, "target": 399, "value": 8}, {"source": 789, "target": 401, "value": 8}, {"source": 789, "target": 413, "value": 8}, {"source": 789, "target": 428, "value": 8}, {"source": 789, "target": 429, "value": 10}, {"source": 789, "target": 437, "value": 8}, {"source": 789, "target": 443, "value": 10}, {"source": 789, "target": 453, "value": 9}, {"source": 789, "target": 461, "value": 10}, {"source": 789, "target": 489, "value": 2}, {"source": 789, "target": 501, "value": 8}, {"source": 789, "target": 503, "value": 9}, {"source": 789, "target": 528, "value": 8}, {"source": 789, "target": 543, "value": 10}, {"source": 789, "target": 545, "value": 8}, {"source": 789, "target": 549, "value": 8}, {"source": 789, "target": 551, "value": 8}, {"source": 789, "target": 578, "value": 8}, {"source": 789, "target": 593, "value": 9}, {"source": 789, "target": 603, "value": 8}, {"source": 789, "target": 639, "value": 4}, {"source": 789, "target": 651, "value": 8}, {"source": 789, "target": 653, "value": 8}, {"source": 789, "target": 677, "value": 8}, {"source": 789, "target": 678, "value": 7}, {"source": 789, "target": 693, "value": 9}, {"source": 789, "target": 699, "value": 8}, {"source": 789, "target": 701, "value": 7}, {"source": 789, "target": 728, "value": 7}, {"source": 789, "target": 737, "value": 7}, {"source": 789, "target": 741, "value": 2}, {"source": 789, "target": 743, "value": 8}, {"source": 789, "target": 753, "value": 8}, {"source": 791, "target": 291, "value": 4}, {"source": 791, "target": 293, "value": 10}, {"source": 791, "target": 341, "value": 4}, {"source": 791, "target": 365, "value": 8}, {"source": 791, "target": 381, "value": 10}, {"source": 791, "target": 429, "value": 8}, {"source": 791, "target": 441, "value": 4}, {"source": 791, "target": 491, "value": 4}, {"source": 791, "target": 533, "value": 9}, {"source": 791, "target": 581, "value": 9}, {"source": 791, "target": 587, "value": 8}, {"source": 791, "target": 591, "value": 4}, {"source": 791, "target": 641, "value": 4}, {"source": 791, "target": 713, "value": 9}, {"source": 791, "target": 729, "value": 7}, {"source": 791, "target": 741, "value": 3}, {"source": 791, "target": 765, "value": 8}, {"source": 795, "target": 233, "value": 4}, {"source": 795, "target": 245, "value": 4}, {"source": 795, "target": 248, "value": 8}, {"source": 795, "target": 285, "value": 10}, {"source": 795, "target": 333, "value": 9}, {"source": 795, "target": 345, "value": 4}, {"source": 795, "target": 348, "value": 8}, {"source": 795, "target": 395, "value": 4}, {"source": 795, "target": 398, "value": 8}, {"source": 795, "target": 485, "value": 9}, {"source": 795, "target": 495, "value": 4}, {"source": 795, "target": 498, "value": 8}, {"source": 795, "target": 533, "value": 8}, {"source": 795, "target": 545, "value": 4}, {"source": 795, "target": 548, "value": 8}, {"source": 795, "target": 609, "value": 3}, {"source": 795, "target": 633, "value": 8}, {"source": 795, "target": 645, "value": 4}, {"source": 795, "target": 648, "value": 7}, {"source": 795, "target": 669, "value": 8}, {"source": 795, "target": 695, "value": 4}, {"source": 795, "target": 698, "value": 7}, {"source": 795, "target": 741, "value": 7}, {"source": 795, "target": 783, "value": 8}, {"source": 797, "target": 221, "value": 9}, {"source": 797, "target": 225, "value": 8}, {"source": 797, "target": 245, "value": 4}, {"source": 797, "target": 251, "value": 8}, {"source": 797, "target": 257, "value": 8}, {"source": 797, "target": 263, "value": 12}, {"source": 797, "target": 273, "value": 3}, {"source": 797, "target": 275, "value": 8}, {"source": 797, "target": 285, "value": 9}, {"source": 797, "target": 293, "value": 8}, {"source": 797, "target": 309, "value": 8}, {"source": 797, "target": 323, "value": 4}, {"source": 797, "target": 341, "value": 10}, {"source": 797, "target": 345, "value": 4}, {"source": 797, "target": 347, "value": 4}, {"source": 797, "target": 351, "value": 4}, {"source": 797, "target": 363, "value": 11}, {"source": 797, "target": 375, "value": 8}, {"source": 797, "target": 377, "value": 9}, {"source": 797, "target": 395, "value": 8}, {"source": 797, "target": 401, "value": 8}, {"source": 797, "target": 405, "value": 8}, {"source": 797, "target": 407, "value": 8}, {"source": 797, "target": 413, "value": 10}, {"source": 797, "target": 423, "value": 4}, {"source": 797, "target": 425, "value": 8}, {"source": 797, "target": 437, "value": 10}, {"source": 797, "target": 459, "value": 8}, {"source": 797, "target": 473, "value": 2}, {"source": 797, "target": 485, "value": 8}, {"source": 797, "target": 489, "value": 8}, {"source": 797, "target": 495, "value": 8}, {"source": 797, "target": 497, "value": 2}, {"source": 797, "target": 501, "value": 8}, {"source": 797, "target": 503, "value": 8}, {"source": 797, "target": 513, "value": 10}, {"source": 797, "target": 525, "value": 8}, {"source": 797, "target": 545, "value": 2}, {"source": 797, "target": 549, "value": 9}, {"source": 797, "target": 551, "value": 8}, {"source": 797, "target": 557, "value": 8}, {"source": 797, "target": 563, "value": 9}, {"source": 797, "target": 573, "value": 2}, {"source": 797, "target": 575, "value": 8}, {"source": 797, "target": 585, "value": 4}, {"source": 797, "target": 609, "value": 8}, {"source": 797, "target": 621, "value": 8}, {"source": 797, "target": 623, "value": 4}, {"source": 797, "target": 645, "value": 4}, {"source": 797, "target": 647, "value": 4}, {"source": 797, "target": 651, "value": 8}, {"source": 797, "target": 663, "value": 9}, {"source": 797, "target": 669, "value": 7}, {"source": 797, "target": 675, "value": 8}, {"source": 797, "target": 695, "value": 4}, {"source": 797, "target": 699, "value": 8}, {"source": 797, "target": 701, "value": 8}, {"source": 797, "target": 707, "value": 8}, {"source": 797, "target": 713, "value": 8}, {"source": 797, "target": 723, "value": 4}, {"source": 797, "target": 725, "value": 8}, {"source": 797, "target": 737, "value": 3}, {"source": 797, "target": 741, "value": 8}, {"source": 797, "target": 755, "value": 7}, {"source": 797, "target": 759, "value": 8}, {"source": 797, "target": 773, "value": 2}, {"source": 797, "target": 785, "value": 7}, {"source": 797, "target": 789, "value": 7}, {"source": 797, "target": 795, "value": 7}, {"source": 798, "target": 219, "value": 8}, {"source": 798, "target": 233, "value": 5}, {"source": 798, "target": 245, "value": 8}, {"source": 798, "target": 248, "value": 4}, {"source": 798, "target": 257, "value": 8}, {"source": 798, "target": 273, "value": 11}, {"source": 798, "target": 285, "value": 11}, {"source": 798, "target": 309, "value": 10}, {"source": 798, "target": 323, "value": 11}, {"source": 798, "target": 333, "value": 9}, {"source": 798, "target": 345, "value": 8}, {"source": 798, "target": 348, "value": 4}, {"source": 798, "target": 369, "value": 8}, {"source": 798, "target": 395, "value": 8}, {"source": 798, "target": 398, "value": 4}, {"source": 798, "target": 423, "value": 10}, {"source": 798, "target": 473, "value": 10}, {"source": 798, "target": 485, "value": 10}, {"source": 798, "target": 495, "value": 8}, {"source": 798, "target": 498, "value": 4}, {"source": 798, "target": 519, "value": 8}, {"source": 798, "target": 533, "value": 8}, {"source": 798, "target": 545, "value": 8}, {"source": 798, "target": 548, "value": 4}, {"source": 798, "target": 557, "value": 8}, {"source": 798, "target": 573, "value": 9}, {"source": 798, "target": 611, "value": 9}, {"source": 798, "target": 615, "value": 8}, {"source": 798, "target": 623, "value": 9}, {"source": 798, "target": 633, "value": 8}, {"source": 798, "target": 645, "value": 8}, {"source": 798, "target": 648, "value": 4}, {"source": 798, "target": 669, "value": 8}, {"source": 798, "target": 695, "value": 8}, {"source": 798, "target": 698, "value": 4}, {"source": 798, "target": 723, "value": 8}, {"source": 798, "target": 741, "value": 7}, {"source": 798, "target": 773, "value": 8}, {"source": 798, "target": 783, "value": 8}, {"source": 798, "target": 795, "value": 8}, {"source": 801, "target": 251, "value": 4}, {"source": 801, "target": 263, "value": 8}, {"source": 801, "target": 341, "value": 10}, {"source": 801, "target": 351, "value": 4}, {"source": 801, "target": 363, "value": 8}, {"source": 801, "target": 401, "value": 2}, {"source": 801, "target": 413, "value": 8}, {"source": 801, "target": 453, "value": 9}, {"source": 801, "target": 455, "value": 10}, {"source": 801, "target": 489, "value": 8}, {"source": 801, "target": 501, "value": 2}, {"source": 801, "target": 503, "value": 9}, {"source": 801, "target": 513, "value": 8}, {"source": 801, "target": 525, "value": 8}, {"source": 801, "target": 551, "value": 4}, {"source": 801, "target": 563, "value": 8}, {"source": 801, "target": 573, "value": 10}, {"source": 801, "target": 651, "value": 2}, {"source": 801, "target": 653, "value": 8}, {"source": 801, "target": 663, "value": 8}, {"source": 801, "target": 701, "value": 2}, {"source": 801, "target": 713, "value": 2}, {"source": 801, "target": 741, "value": 8}, {"source": 801, "target": 783, "value": 3}, {"source": 801, "target": 789, "value": 7}, {"source": 801, "target": 797, "value": 8}, {"source": 803, "target": 227, "value": 8}, {"source": 803, "target": 228, "value": 8}, {"source": 803, "target": 249, "value": 8}, {"source": 803, "target": 278, "value": 8}, {"source": 803, "target": 279, "value": 10}, {"source": 803, "target": 293, "value": 10}, {"source": 803, "target": 303, "value": 2}, {"source": 803, "target": 341, "value": 9}, {"source": 803, "target": 353, "value": 1}, {"source": 803, "target": 377, "value": 8}, {"source": 803, "target": 378, "value": 8}, {"source": 803, "target": 399, "value": 8}, {"source": 803, "target": 405, "value": 10}, {"source": 803, "target": 428, "value": 8}, {"source": 803, "target": 437, "value": 8}, {"source": 803, "target": 441, "value": 8}, {"source": 803, "target": 453, "value": 1}, {"source": 803, "target": 503, "value": 2}, {"source": 803, "target": 527, "value": 8}, {"source": 803, "target": 528, "value": 8}, {"source": 803, "target": 545, "value": 8}, {"source": 803, "target": 549, "value": 8}, {"source": 803, "target": 578, "value": 8}, {"source": 803, "target": 603, "value": 2}, {"source": 803, "target": 641, "value": 8}, {"source": 803, "target": 653, "value": 1}, {"source": 803, "target": 677, "value": 8}, {"source": 803, "target": 678, "value": 8}, {"source": 803, "target": 693, "value": 8}, {"source": 803, "target": 699, "value": 4}, {"source": 803, "target": 701, "value": 8}, {"source": 803, "target": 728, "value": 7}, {"source": 803, "target": 737, "value": 8}, {"source": 803, "target": 741, "value": 3}, {"source": 803, "target": 753, "value": 1}, {"source": 803, "target": 755, "value": 8}, {"source": 803, "target": 789, "value": 7}]} \ No newline at end of file +{ + "nodes": [ + { "id": 215, "name": "Citizen n\u00b0202", "mass": 10 }, + { "id": 219, "name": "Citizen n\u00b0206", "mass": 10 }, + { "id": 221, "name": "Citizen n\u00b0208", "mass": 11 }, + { "id": 225, "name": "Citizen n\u00b0212", "mass": 9 }, + { "id": 227, "name": "Citizen n\u00b0214", "mass": 5 }, + { "id": 228, "name": "Citizen n\u00b0215", "mass": 8 }, + { "id": 231, "name": "Citizen n\u00b0218", "mass": 5 }, + { "id": 233, "name": "Citizen n\u00b0220", "mass": 10 }, + { "id": 243, "name": "Citizen n\u00b0230", "mass": 8 }, + { "id": 245, "name": "Citizen n\u00b0232", "mass": 9 }, + { "id": 248, "name": "Citizen n\u00b0235", "mass": 5 }, + { "id": 249, "name": "Citizen n\u00b0236", "mass": 8 }, + { "id": 251, "name": "Citizen n\u00b0238", "mass": 9 }, + { "id": 255, "name": "Citizen n\u00b0242", "mass": 10 }, + { "id": 257, "name": "Citizen n\u00b0244", "mass": 10 }, + { "id": 261, "name": "Citizen n\u00b0248", "mass": 10 }, + { "id": 263, "name": "Citizen n\u00b0250", "mass": 9 }, + { "id": 273, "name": "Citizen n\u00b0260", "mass": 10 }, + { "id": 275, "name": "Citizen n\u00b0262", "mass": 11 }, + { "id": 278, "name": "Citizen n\u00b0265", "mass": 10 }, + { "id": 279, "name": "Citizen n\u00b0266", "mass": 10 }, + { "id": 281, "name": "Citizen n\u00b0268", "mass": 10 }, + { "id": 285, "name": "Citizen n\u00b0272", "mass": 5 }, + { "id": 287, "name": "Citizen n\u00b0274", "mass": 9 }, + { "id": 291, "name": "Citizen n\u00b0278", "mass": 9 }, + { "id": 293, "name": "Citizen n\u00b0280", "mass": 10 }, + { "id": 303, "name": "Citizen n\u00b0290", "mass": 8 }, + { "id": 305, "name": "Citizen n\u00b0292", "mass": 9 }, + { "id": 309, "name": "Citizen n\u00b0296", "mass": 9 }, + { "id": 311, "name": "Citizen n\u00b0298", "mass": 8 }, + { "id": 315, "name": "Citizen n\u00b0302", "mass": 10 }, + { "id": 317, "name": "Citizen n\u00b0304", "mass": 10 }, + { "id": 321, "name": "Citizen n\u00b0308", "mass": 11 }, + { "id": 323, "name": "Citizen n\u00b0310", "mass": 6 }, + { "id": 333, "name": "Citizen n\u00b0320", "mass": 10 }, + { "id": 335, "name": "Citizen n\u00b0322", "mass": 10 }, + { "id": 339, "name": "Citizen n\u00b0326", "mass": 10 }, + { "id": 341, "name": "Citizen n\u00b0328", "mass": 10 }, + { "id": 345, "name": "Citizen n\u00b0332", "mass": 9 }, + { "id": 347, "name": "Citizen n\u00b0334", "mass": 8 }, + { "id": 348, "name": "Citizen n\u00b0335", "mass": 5 }, + { "id": 351, "name": "Citizen n\u00b0338", "mass": 9 }, + { "id": 353, "name": "Citizen n\u00b0340", "mass": 10 }, + { "id": 363, "name": "Citizen n\u00b0350", "mass": 9 }, + { "id": 365, "name": "Citizen n\u00b0352", "mass": 5 }, + { "id": 369, "name": "Citizen n\u00b0356", "mass": 8 }, + { "id": 371, "name": "Citizen n\u00b0358", "mass": 9 }, + { "id": 375, "name": "Citizen n\u00b0362", "mass": 11 }, + { "id": 377, "name": "Citizen n\u00b0364", "mass": 10 }, + { "id": 378, "name": "Citizen n\u00b0365", "mass": 10 }, + { "id": 381, "name": "Citizen n\u00b0368", "mass": 10 }, + { "id": 383, "name": "Citizen n\u00b0370", "mass": 10 }, + { "id": 393, "name": "Citizen n\u00b0380", "mass": 10 }, + { "id": 395, "name": "Citizen n\u00b0382", "mass": 10 }, + { "id": 398, "name": "Citizen n\u00b0385", "mass": 10 }, + { "id": 399, "name": "Citizen n\u00b0386", "mass": 10 }, + { "id": 401, "name": "Citizen n\u00b0388", "mass": 10 }, + { "id": 405, "name": "Citizen n\u00b0392", "mass": 9 }, + { "id": 407, "name": "Citizen n\u00b0394", "mass": 8 }, + { "id": 411, "name": "Citizen n\u00b0398", "mass": 8 }, + { "id": 413, "name": "Citizen n\u00b0400", "mass": 11 }, + { "id": 423, "name": "Citizen n\u00b0410", "mass": 6 }, + { "id": 425, "name": "Citizen n\u00b0412", "mass": 9 }, + { "id": 428, "name": "Citizen n\u00b0415", "mass": 8 }, + { "id": 429, "name": "Citizen n\u00b0416", "mass": 10 }, + { "id": 431, "name": "Citizen n\u00b0418", "mass": 5 }, + { "id": 435, "name": "Citizen n\u00b0422", "mass": 10 }, + { "id": 437, "name": "Citizen n\u00b0424", "mass": 11 }, + { "id": 441, "name": "Citizen n\u00b0428", "mass": 10 }, + { "id": 443, "name": "Citizen n\u00b0430", "mass": 8 }, + { "id": 453, "name": "Citizen n\u00b0440", "mass": 10 }, + { "id": 455, "name": "Citizen n\u00b0442", "mass": 10 }, + { "id": 459, "name": "Citizen n\u00b0446", "mass": 10 }, + { "id": 461, "name": "Citizen n\u00b0448", "mass": 10 }, + { "id": 465, "name": "Citizen n\u00b0452", "mass": 5 }, + { "id": 467, "name": "Citizen n\u00b0454", "mass": 10 }, + { "id": 471, "name": "Citizen n\u00b0458", "mass": 9 }, + { "id": 473, "name": "Citizen n\u00b0460", "mass": 10 }, + { "id": 483, "name": "Citizen n\u00b0470", "mass": 10 }, + { "id": 485, "name": "Citizen n\u00b0472", "mass": 5 }, + { "id": 489, "name": "Citizen n\u00b0476", "mass": 8 }, + { "id": 491, "name": "Citizen n\u00b0478", "mass": 9 }, + { "id": 495, "name": "Citizen n\u00b0482", "mass": 10 }, + { "id": 497, "name": "Citizen n\u00b0484", "mass": 10 }, + { "id": 498, "name": "Citizen n\u00b0485", "mass": 10 }, + { "id": 501, "name": "Citizen n\u00b0488", "mass": 10 }, + { "id": 503, "name": "Citizen n\u00b0490", "mass": 8 }, + { "id": 513, "name": "Citizen n\u00b0500", "mass": 11 }, + { "id": 515, "name": "Citizen n\u00b0502", "mass": 10 }, + { "id": 519, "name": "Citizen n\u00b0506", "mass": 10 }, + { "id": 521, "name": "Citizen n\u00b0508", "mass": 11 }, + { "id": 525, "name": "Citizen n\u00b0512", "mass": 9 }, + { "id": 527, "name": "Citizen n\u00b0514", "mass": 5 }, + { "id": 528, "name": "Citizen n\u00b0515", "mass": 8 }, + { "id": 531, "name": "Citizen n\u00b0518", "mass": 5 }, + { "id": 533, "name": "Citizen n\u00b0520", "mass": 10 }, + { "id": 543, "name": "Citizen n\u00b0530", "mass": 8 }, + { "id": 545, "name": "Citizen n\u00b0532", "mass": 9 }, + { "id": 548, "name": "Citizen n\u00b0535", "mass": 5 }, + { "id": 549, "name": "Citizen n\u00b0536", "mass": 8 }, + { "id": 551, "name": "Citizen n\u00b0538", "mass": 9 }, + { "id": 555, "name": "Citizen n\u00b0542", "mass": 10 }, + { "id": 557, "name": "Citizen n\u00b0544", "mass": 10 }, + { "id": 561, "name": "Citizen n\u00b0548", "mass": 10 }, + { "id": 563, "name": "Citizen n\u00b0550", "mass": 9 }, + { "id": 573, "name": "Citizen n\u00b0560", "mass": 10 }, + { "id": 575, "name": "Citizen n\u00b0562", "mass": 11 }, + { "id": 578, "name": "Citizen n\u00b0565", "mass": 10 }, + { "id": 579, "name": "Citizen n\u00b0566", "mass": 10 }, + { "id": 581, "name": "Citizen n\u00b0568", "mass": 10 }, + { "id": 585, "name": "Citizen n\u00b0572", "mass": 5 }, + { "id": 587, "name": "Citizen n\u00b0574", "mass": 9 }, + { "id": 591, "name": "Citizen n\u00b0578", "mass": 9 }, + { "id": 593, "name": "Citizen n\u00b0580", "mass": 10 }, + { "id": 603, "name": "Citizen n\u00b0590", "mass": 8 }, + { "id": 605, "name": "Citizen n\u00b0592", "mass": 9 }, + { "id": 609, "name": "Citizen n\u00b0596", "mass": 9 }, + { "id": 611, "name": "Citizen n\u00b0598", "mass": 8 }, + { "id": 615, "name": "Citizen n\u00b0602", "mass": 10 }, + { "id": 617, "name": "Citizen n\u00b0604", "mass": 10 }, + { "id": 621, "name": "Citizen n\u00b0608", "mass": 11 }, + { "id": 623, "name": "Citizen n\u00b0610", "mass": 6 }, + { "id": 633, "name": "Citizen n\u00b0620", "mass": 10 }, + { "id": 635, "name": "Citizen n\u00b0622", "mass": 10 }, + { "id": 639, "name": "Citizen n\u00b0626", "mass": 10 }, + { "id": 641, "name": "Citizen n\u00b0628", "mass": 10 }, + { "id": 645, "name": "Citizen n\u00b0632", "mass": 9 }, + { "id": 647, "name": "Citizen n\u00b0634", "mass": 8 }, + { "id": 648, "name": "Citizen n\u00b0635", "mass": 5 }, + { "id": 651, "name": "Citizen n\u00b0638", "mass": 9 }, + { "id": 653, "name": "Citizen n\u00b0640", "mass": 10 }, + { "id": 663, "name": "Citizen n\u00b0650", "mass": 9 }, + { "id": 665, "name": "Citizen n\u00b0652", "mass": 5 }, + { "id": 669, "name": "Citizen n\u00b0656", "mass": 8 }, + { "id": 671, "name": "Citizen n\u00b0658", "mass": 9 }, + { "id": 675, "name": "Citizen n\u00b0662", "mass": 11 }, + { "id": 677, "name": "Citizen n\u00b0664", "mass": 10 }, + { "id": 678, "name": "Citizen n\u00b0665", "mass": 10 }, + { "id": 681, "name": "Citizen n\u00b0668", "mass": 10 }, + { "id": 683, "name": "Citizen n\u00b0670", "mass": 10 }, + { "id": 693, "name": "Citizen n\u00b0680", "mass": 10 }, + { "id": 695, "name": "Citizen n\u00b0682", "mass": 10 }, + { "id": 698, "name": "Citizen n\u00b0685", "mass": 10 }, + { "id": 699, "name": "Citizen n\u00b0686", "mass": 10 }, + { "id": 701, "name": "Citizen n\u00b0688", "mass": 10 }, + { "id": 705, "name": "Citizen n\u00b0692", "mass": 9 }, + { "id": 707, "name": "Citizen n\u00b0694", "mass": 8 }, + { "id": 711, "name": "Citizen n\u00b0698", "mass": 8 }, + { "id": 713, "name": "Citizen n\u00b0700", "mass": 11 }, + { "id": 723, "name": "Citizen n\u00b0710", "mass": 6 }, + { "id": 725, "name": "Citizen n\u00b0712", "mass": 9 }, + { "id": 728, "name": "Citizen n\u00b0715", "mass": 8 }, + { "id": 729, "name": "Citizen n\u00b0716", "mass": 10 }, + { "id": 731, "name": "Citizen n\u00b0718", "mass": 5 }, + { "id": 735, "name": "Citizen n\u00b0722", "mass": 10 }, + { "id": 737, "name": "Citizen n\u00b0724", "mass": 11 }, + { "id": 741, "name": "Citizen n\u00b0728", "mass": 10 }, + { "id": 743, "name": "Citizen n\u00b0730", "mass": 8 }, + { "id": 753, "name": "Citizen n\u00b0740", "mass": 10 }, + { "id": 755, "name": "Citizen n\u00b0742", "mass": 10 }, + { "id": 759, "name": "Citizen n\u00b0746", "mass": 10 }, + { "id": 761, "name": "Citizen n\u00b0748", "mass": 10 }, + { "id": 765, "name": "Citizen n\u00b0752", "mass": 5 }, + { "id": 767, "name": "Citizen n\u00b0754", "mass": 10 }, + { "id": 771, "name": "Citizen n\u00b0758", "mass": 9 }, + { "id": 773, "name": "Citizen n\u00b0760", "mass": 10 }, + { "id": 783, "name": "Citizen n\u00b0770", "mass": 10 }, + { "id": 785, "name": "Citizen n\u00b0772", "mass": 5 }, + { "id": 789, "name": "Citizen n\u00b0776", "mass": 8 }, + { "id": 791, "name": "Citizen n\u00b0778", "mass": 9 }, + { "id": 795, "name": "Citizen n\u00b0782", "mass": 10 }, + { "id": 797, "name": "Citizen n\u00b0784", "mass": 10 }, + { "id": 798, "name": "Citizen n\u00b0785", "mass": 10 }, + { "id": 801, "name": "Citizen n\u00b0788", "mass": 10 }, + { "id": 803, "name": "Citizen n\u00b0790", "mass": 8 } + ], + "links": [ + { "source": 228, "target": 225, "value": 8 }, + { "source": 231, "target": 221, "value": 9 }, + { "source": 233, "target": 215, "value": 3 }, + { "source": 233, "target": 221, "value": 4 }, + { "source": 245, "target": 233, "value": 4 }, + { "source": 248, "target": 219, "value": 9 }, + { "source": 248, "target": 233, "value": 4 }, + { "source": 248, "target": 245, "value": 8 }, + { "source": 249, "target": 228, "value": 8 }, + { "source": 251, "target": 245, "value": 10 }, + { "source": 251, "target": 249, "value": 9 }, + { "source": 255, "target": 245, "value": 9 }, + { "source": 255, "target": 251, "value": 7 }, + { "source": 257, "target": 219, "value": 8 }, + { "source": 257, "target": 233, "value": 4 }, + { "source": 257, "target": 245, "value": 8 }, + { "source": 257, "target": 248, "value": 7 }, + { "source": 261, "target": 221, "value": 10 }, + { "source": 261, "target": 249, "value": 8 }, + { "source": 273, "target": 219, "value": 10 }, + { "source": 273, "target": 221, "value": 2 }, + { "source": 273, "target": 231, "value": 9 }, + { "source": 273, "target": 248, "value": 9 }, + { "source": 273, "target": 257, "value": 9 }, + { "source": 273, "target": 261, "value": 8 }, + { "source": 275, "target": 225, "value": 3 }, + { "source": 275, "target": 228, "value": 8 }, + { "source": 275, "target": 257, "value": 3 }, + { "source": 278, "target": 225, "value": 7 }, + { "source": 278, "target": 228, "value": 3 }, + { "source": 278, "target": 249, "value": 9 }, + { "source": 278, "target": 275, "value": 8 }, + { "source": 279, "target": 221, "value": 4 }, + { "source": 279, "target": 227, "value": 9 }, + { "source": 279, "target": 233, "value": 2 }, + { "source": 281, "target": 221, "value": 2 }, + { "source": 281, "target": 231, "value": 3 }, + { "source": 281, "target": 243, "value": 8 }, + { "source": 281, "target": 273, "value": 10 }, + { "source": 285, "target": 233, "value": 4 }, + { "source": 285, "target": 245, "value": 10 }, + { "source": 285, "target": 248, "value": 10 }, + { "source": 285, "target": 261, "value": 8 }, + { "source": 285, "target": 273, "value": 8 }, + { "source": 287, "target": 225, "value": 8 }, + { "source": 287, "target": 263, "value": 9 }, + { "source": 293, "target": 221, "value": 11 }, + { "source": 293, "target": 243, "value": 1 }, + { "source": 293, "target": 245, "value": 9 }, + { "source": 293, "target": 251, "value": 8 }, + { "source": 293, "target": 255, "value": 8 }, + { "source": 293, "target": 261, "value": 3 }, + { "source": 293, "target": 281, "value": 8 }, + { "source": 293, "target": 285, "value": 8 }, + { "source": 293, "target": 291, "value": 8 }, + { "source": 303, "target": 227, "value": 9 }, + { "source": 303, "target": 228, "value": 8 }, + { "source": 303, "target": 249, "value": 10 }, + { "source": 303, "target": 278, "value": 9 }, + { "source": 303, "target": 279, "value": 8 }, + { "source": 303, "target": 293, "value": 9 }, + { "source": 305, "target": 245, "value": 9 }, + { "source": 305, "target": 251, "value": 7 }, + { "source": 305, "target": 255, "value": 2 }, + { "source": 305, "target": 293, "value": 8 }, + { "source": 309, "target": 219, "value": 9 }, + { "source": 309, "target": 221, "value": 8 }, + { "source": 309, "target": 248, "value": 8 }, + { "source": 309, "target": 257, "value": 8 }, + { "source": 309, "target": 261, "value": 9 }, + { "source": 309, "target": 263, "value": 11 }, + { "source": 309, "target": 273, "value": 8 }, + { "source": 311, "target": 249, "value": 8 }, + { "source": 311, "target": 261, "value": 3 }, + { "source": 311, "target": 285, "value": 8 }, + { "source": 315, "target": 215, "value": 4 }, + { "source": 315, "target": 311, "value": 3 }, + { "source": 317, "target": 221, "value": 10 }, + { "source": 317, "target": 227, "value": 9 }, + { "source": 317, "target": 233, "value": 10 }, + { "source": 317, "target": 243, "value": 4 }, + { "source": 317, "target": 255, "value": 8 }, + { "source": 317, "target": 279, "value": 8 }, + { "source": 317, "target": 293, "value": 3 }, + { "source": 317, "target": 305, "value": 8 }, + { "source": 321, "target": 219, "value": 10 }, + { "source": 321, "target": 221, "value": 2 }, + { "source": 321, "target": 225, "value": 7 }, + { "source": 321, "target": 228, "value": 8 }, + { "source": 321, "target": 233, "value": 4 }, + { "source": 321, "target": 249, "value": 11 }, + { "source": 321, "target": 251, "value": 8 }, + { "source": 321, "target": 261, "value": 9 }, + { "source": 321, "target": 275, "value": 2 }, + { "source": 321, "target": 278, "value": 7 }, + { "source": 321, "target": 279, "value": 4 }, + { "source": 321, "target": 293, "value": 11 }, + { "source": 321, "target": 309, "value": 8 }, + { "source": 323, "target": 219, "value": 10 }, + { "source": 323, "target": 221, "value": 8 }, + { "source": 323, "target": 248, "value": 9 }, + { "source": 323, "target": 257, "value": 9 }, + { "source": 323, "target": 261, "value": 8 }, + { "source": 323, "target": 273, "value": 1 }, + { "source": 323, "target": 309, "value": 8 }, + { "source": 333, "target": 221, "value": 4 }, + { "source": 333, "target": 233, "value": 0 }, + { "source": 333, "target": 243, "value": 9 }, + { "source": 333, "target": 245, "value": 2 }, + { "source": 333, "target": 248, "value": 8 }, + { "source": 333, "target": 257, "value": 4 }, + { "source": 333, "target": 279, "value": 4 }, + { "source": 333, "target": 281, "value": 8 }, + { "source": 333, "target": 285, "value": 9 }, + { "source": 333, "target": 293, "value": 9 }, + { "source": 333, "target": 309, "value": 8 }, + { "source": 333, "target": 315, "value": 3 }, + { "source": 333, "target": 317, "value": 9 }, + { "source": 333, "target": 321, "value": 4 }, + { "source": 335, "target": 233, "value": 2 }, + { "source": 335, "target": 243, "value": 11 }, + { "source": 335, "target": 273, "value": 8 }, + { "source": 335, "target": 285, "value": 3 }, + { "source": 335, "target": 293, "value": 10 }, + { "source": 335, "target": 303, "value": 3 }, + { "source": 335, "target": 333, "value": 8 }, + { "source": 339, "target": 243, "value": 11 }, + { "source": 339, "target": 279, "value": 3 }, + { "source": 339, "target": 293, "value": 10 }, + { "source": 339, "target": 335, "value": 8 }, + { "source": 341, "target": 251, "value": 9 }, + { "source": 341, "target": 291, "value": 3 }, + { "source": 341, "target": 293, "value": 4 }, + { "source": 341, "target": 303, "value": 8 }, + { "source": 345, "target": 233, "value": 4 }, + { "source": 345, "target": 245, "value": 2 }, + { "source": 345, "target": 248, "value": 8 }, + { "source": 345, "target": 257, "value": 8 }, + { "source": 345, "target": 285, "value": 9 }, + { "source": 345, "target": 333, "value": 8 }, + { "source": 347, "target": 221, "value": 8 }, + { "source": 347, "target": 273, "value": 4 }, + { "source": 347, "target": 285, "value": 8 }, + { "source": 347, "target": 293, "value": 7 }, + { "source": 347, "target": 323, "value": 9 }, + { "source": 348, "target": 219, "value": 8 }, + { "source": 348, "target": 233, "value": 4 }, + { "source": 348, "target": 245, "value": 8 }, + { "source": 348, "target": 248, "value": 4 }, + { "source": 348, "target": 257, "value": 7 }, + { "source": 348, "target": 273, "value": 9 }, + { "source": 348, "target": 285, "value": 10 }, + { "source": 348, "target": 309, "value": 8 }, + { "source": 348, "target": 323, "value": 9 }, + { "source": 348, "target": 333, "value": 8 }, + { "source": 348, "target": 345, "value": 8 }, + { "source": 351, "target": 251, "value": 3 }, + { "source": 351, "target": 263, "value": 8 }, + { "source": 351, "target": 309, "value": 9 }, + { "source": 351, "target": 341, "value": 9 }, + { "source": 353, "target": 215, "value": 8 }, + { "source": 353, "target": 227, "value": 4 }, + { "source": 353, "target": 228, "value": 9 }, + { "source": 353, "target": 249, "value": 10 }, + { "source": 353, "target": 278, "value": 9 }, + { "source": 353, "target": 279, "value": 4 }, + { "source": 353, "target": 293, "value": 9 }, + { "source": 353, "target": 303, "value": 1 }, + { "source": 353, "target": 315, "value": 8 }, + { "source": 353, "target": 341, "value": 8 }, + { "source": 363, "target": 255, "value": 9 }, + { "source": 363, "target": 261, "value": 9 }, + { "source": 363, "target": 263, "value": 2 }, + { "source": 363, "target": 285, "value": 8 }, + { "source": 363, "target": 287, "value": 9 }, + { "source": 363, "target": 305, "value": 8 }, + { "source": 363, "target": 309, "value": 10 }, + { "source": 363, "target": 311, "value": 9 }, + { "source": 363, "target": 317, "value": 7 }, + { "source": 363, "target": 351, "value": 8 }, + { "source": 365, "target": 215, "value": 4 }, + { "source": 365, "target": 225, "value": 9 }, + { "source": 365, "target": 227, "value": 4 }, + { "source": 365, "target": 228, "value": 10 }, + { "source": 365, "target": 275, "value": 9 }, + { "source": 365, "target": 278, "value": 10 }, + { "source": 365, "target": 291, "value": 8 }, + { "source": 365, "target": 293, "value": 9 }, + { "source": 365, "target": 315, "value": 3 }, + { "source": 365, "target": 317, "value": 4 }, + { "source": 365, "target": 321, "value": 9 }, + { "source": 365, "target": 341, "value": 8 }, + { "source": 365, "target": 353, "value": 8 }, + { "source": 369, "target": 219, "value": 4 }, + { "source": 369, "target": 221, "value": 9 }, + { "source": 369, "target": 231, "value": 8 }, + { "source": 369, "target": 248, "value": 8 }, + { "source": 369, "target": 257, "value": 8 }, + { "source": 369, "target": 273, "value": 5 }, + { "source": 369, "target": 281, "value": 8 }, + { "source": 369, "target": 309, "value": 9 }, + { "source": 369, "target": 321, "value": 10 }, + { "source": 369, "target": 323, "value": 10 }, + { "source": 369, "target": 348, "value": 8 }, + { "source": 371, "target": 221, "value": 4 }, + { "source": 371, "target": 261, "value": 10 }, + { "source": 371, "target": 293, "value": 11 }, + { "source": 371, "target": 309, "value": 8 }, + { "source": 371, "target": 321, "value": 3 }, + { "source": 375, "target": 225, "value": 4 }, + { "source": 375, "target": 228, "value": 8 }, + { "source": 375, "target": 275, "value": 4 }, + { "source": 375, "target": 278, "value": 8 }, + { "source": 375, "target": 287, "value": 3 }, + { "source": 375, "target": 321, "value": 7 }, + { "source": 375, "target": 365, "value": 9 }, + { "source": 377, "target": 221, "value": 10 }, + { "source": 377, "target": 225, "value": 9 }, + { "source": 377, "target": 227, "value": 4 }, + { "source": 377, "target": 231, "value": 8 }, + { "source": 377, "target": 243, "value": 10 }, + { "source": 377, "target": 255, "value": 10 }, + { "source": 377, "target": 273, "value": 4 }, + { "source": 377, "target": 275, "value": 2 }, + { "source": 377, "target": 279, "value": 10 }, + { "source": 377, "target": 281, "value": 8 }, + { "source": 377, "target": 285, "value": 9 }, + { "source": 377, "target": 293, "value": 10 }, + { "source": 377, "target": 303, "value": 9 }, + { "source": 377, "target": 305, "value": 10 }, + { "source": 377, "target": 317, "value": 9 }, + { "source": 377, "target": 335, "value": 4 }, + { "source": 377, "target": 339, "value": 8 }, + { "source": 377, "target": 345, "value": 3 }, + { "source": 377, "target": 353, "value": 4 }, + { "source": 377, "target": 365, "value": 4 }, + { "source": 377, "target": 369, "value": 7 }, + { "source": 377, "target": 375, "value": 8 }, + { "source": 378, "target": 225, "value": 8 }, + { "source": 378, "target": 228, "value": 4 }, + { "source": 378, "target": 249, "value": 8 }, + { "source": 378, "target": 275, "value": 8 }, + { "source": 378, "target": 278, "value": 4 }, + { "source": 378, "target": 303, "value": 9 }, + { "source": 378, "target": 321, "value": 8 }, + { "source": 378, "target": 353, "value": 9 }, + { "source": 378, "target": 365, "value": 10 }, + { "source": 378, "target": 375, "value": 8 }, + { "source": 381, "target": 221, "value": 10 }, + { "source": 381, "target": 231, "value": 4 }, + { "source": 381, "target": 233, "value": 4 }, + { "source": 381, "target": 243, "value": 8 }, + { "source": 381, "target": 251, "value": 3 }, + { "source": 381, "target": 257, "value": 8 }, + { "source": 381, "target": 273, "value": 10 }, + { "source": 381, "target": 281, "value": 2 }, + { "source": 381, "target": 291, "value": 9 }, + { "source": 381, "target": 293, "value": 8 }, + { "source": 381, "target": 321, "value": 3 }, + { "source": 381, "target": 333, "value": 2 }, + { "source": 381, "target": 341, "value": 9 }, + { "source": 381, "target": 369, "value": 8 }, + { "source": 381, "target": 377, "value": 8 }, + { "source": 383, "target": 221, "value": 4 }, + { "source": 383, "target": 233, "value": 1 }, + { "source": 383, "target": 257, "value": 8 }, + { "source": 383, "target": 279, "value": 4 }, + { "source": 383, "target": 317, "value": 9 }, + { "source": 383, "target": 321, "value": 4 }, + { "source": 383, "target": 333, "value": 1 }, + { "source": 383, "target": 335, "value": 9 }, + { "source": 383, "target": 381, "value": 7 }, + { "source": 393, "target": 221, "value": 3 }, + { "source": 393, "target": 243, "value": 1 }, + { "source": 393, "target": 245, "value": 9 }, + { "source": 393, "target": 251, "value": 8 }, + { "source": 393, "target": 255, "value": 8 }, + { "source": 393, "target": 281, "value": 8 }, + { "source": 393, "target": 291, "value": 3 }, + { "source": 393, "target": 293, "value": 1 }, + { "source": 393, "target": 305, "value": 8 }, + { "source": 393, "target": 317, "value": 3 }, + { "source": 393, "target": 333, "value": 9 }, + { "source": 393, "target": 335, "value": 10 }, + { "source": 393, "target": 339, "value": 10 }, + { "source": 393, "target": 377, "value": 9 }, + { "source": 393, "target": 381, "value": 8 }, + { "source": 395, "target": 233, "value": 4 }, + { "source": 395, "target": 245, "value": 4 }, + { "source": 395, "target": 248, "value": 8 }, + { "source": 395, "target": 279, "value": 3 }, + { "source": 395, "target": 285, "value": 10 }, + { "source": 395, "target": 333, "value": 8 }, + { "source": 395, "target": 345, "value": 3 }, + { "source": 395, "target": 348, "value": 8 }, + { "source": 398, "target": 219, "value": 8 }, + { "source": 398, "target": 233, "value": 4 }, + { "source": 398, "target": 243, "value": 9 }, + { "source": 398, "target": 245, "value": 8 }, + { "source": 398, "target": 248, "value": 4 }, + { "source": 398, "target": 257, "value": 8 }, + { "source": 398, "target": 273, "value": 10 }, + { "source": 398, "target": 281, "value": 8 }, + { "source": 398, "target": 285, "value": 10 }, + { "source": 398, "target": 293, "value": 9 }, + { "source": 398, "target": 309, "value": 9 }, + { "source": 398, "target": 323, "value": 9 }, + { "source": 398, "target": 333, "value": 4 }, + { "source": 398, "target": 345, "value": 7 }, + { "source": 398, "target": 348, "value": 3 }, + { "source": 398, "target": 369, "value": 8 }, + { "source": 398, "target": 381, "value": 8 }, + { "source": 398, "target": 393, "value": 9 }, + { "source": 398, "target": 395, "value": 8 }, + { "source": 399, "target": 228, "value": 9 }, + { "source": 399, "target": 249, "value": 4 }, + { "source": 399, "target": 251, "value": 10 }, + { "source": 399, "target": 255, "value": 3 }, + { "source": 399, "target": 278, "value": 8 }, + { "source": 399, "target": 303, "value": 11 }, + { "source": 399, "target": 321, "value": 11 }, + { "source": 399, "target": 353, "value": 10 }, + { "source": 399, "target": 378, "value": 8 }, + { "source": 399, "target": 395, "value": 3 }, + { "source": 401, "target": 243, "value": 3 }, + { "source": 401, "target": 251, "value": 4 }, + { "source": 401, "target": 263, "value": 8 }, + { "source": 401, "target": 341, "value": 9 }, + { "source": 401, "target": 351, "value": 3 }, + { "source": 401, "target": 363, "value": 8 }, + { "source": 401, "target": 383, "value": 3 }, + { "source": 405, "target": 215, "value": 9 }, + { "source": 405, "target": 233, "value": 10 }, + { "source": 405, "target": 245, "value": 10 }, + { "source": 405, "target": 251, "value": 8 }, + { "source": 405, "target": 255, "value": 2 }, + { "source": 405, "target": 263, "value": 11 }, + { "source": 405, "target": 293, "value": 8 }, + { "source": 405, "target": 303, "value": 9 }, + { "source": 405, "target": 305, "value": 2 }, + { "source": 405, "target": 309, "value": 8 }, + { "source": 405, "target": 315, "value": 9 }, + { "source": 405, "target": 317, "value": 8 }, + { "source": 405, "target": 333, "value": 10 }, + { "source": 405, "target": 335, "value": 8 }, + { "source": 405, "target": 351, "value": 9 }, + { "source": 405, "target": 353, "value": 4 }, + { "source": 405, "target": 363, "value": 4 }, + { "source": 405, "target": 365, "value": 9 }, + { "source": 405, "target": 377, "value": 11 }, + { "source": 405, "target": 383, "value": 10 }, + { "source": 405, "target": 393, "value": 8 }, + { "source": 407, "target": 233, "value": 4 }, + { "source": 407, "target": 245, "value": 8 }, + { "source": 407, "target": 257, "value": 4 }, + { "source": 407, "target": 333, "value": 4 }, + { "source": 407, "target": 345, "value": 7 }, + { "source": 407, "target": 381, "value": 8 }, + { "source": 407, "target": 383, "value": 9 }, + { "source": 411, "target": 249, "value": 8 }, + { "source": 411, "target": 261, "value": 4 }, + { "source": 411, "target": 285, "value": 8 }, + { "source": 411, "target": 311, "value": 4 }, + { "source": 411, "target": 363, "value": 9 }, + { "source": 413, "target": 215, "value": 26 }, + { "source": 413, "target": 219, "value": 27 }, + { "source": 413, "target": 221, "value": 26 }, + { "source": 413, "target": 225, "value": 6 }, + { "source": 413, "target": 227, "value": 28 }, + { "source": 413, "target": 228, "value": 6 }, + { "source": 413, "target": 231, "value": 27 }, + { "source": 413, "target": 233, "value": 27 }, + { "source": 413, "target": 243, "value": 29 }, + { "source": 413, "target": 245, "value": 28 }, + { "source": 413, "target": 248, "value": 28 }, + { "source": 413, "target": 249, "value": 29 }, + { "source": 413, "target": 251, "value": 28 }, + { "source": 413, "target": 255, "value": 28 }, + { "source": 413, "target": 257, "value": 29 }, + { "source": 413, "target": 261, "value": 6 }, + { "source": 413, "target": 263, "value": 1 }, + { "source": 413, "target": 273, "value": 7 }, + { "source": 413, "target": 275, "value": 6 }, + { "source": 413, "target": 278, "value": 6 }, + { "source": 413, "target": 279, "value": 29 }, + { "source": 413, "target": 287, "value": 4 }, + { "source": 413, "target": 309, "value": 8 }, + { "source": 413, "target": 321, "value": 7 }, + { "source": 413, "target": 323, "value": 8 }, + { "source": 413, "target": 339, "value": 7 }, + { "source": 413, "target": 351, "value": 7 }, + { "source": 413, "target": 353, "value": 3 }, + { "source": 413, "target": 363, "value": 1 }, + { "source": 413, "target": 365, "value": 8 }, + { "source": 413, "target": 375, "value": 8 }, + { "source": 413, "target": 378, "value": 8 }, + { "source": 413, "target": 401, "value": 8 }, + { "source": 413, "target": 405, "value": 9 }, + { "source": 423, "target": 219, "value": 10 }, + { "source": 423, "target": 221, "value": 8 }, + { "source": 423, "target": 248, "value": 8 }, + { "source": 423, "target": 257, "value": 9 }, + { "source": 423, "target": 261, "value": 8 }, + { "source": 423, "target": 273, "value": 1 }, + { "source": 423, "target": 309, "value": 8 }, + { "source": 423, "target": 323, "value": 2 }, + { "source": 423, "target": 347, "value": 8 }, + { "source": 423, "target": 348, "value": 8 }, + { "source": 423, "target": 369, "value": 10 }, + { "source": 423, "target": 398, "value": 9 }, + { "source": 423, "target": 413, "value": 8 }, + { "source": 425, "target": 225, "value": 2 }, + { "source": 425, "target": 228, "value": 8 }, + { "source": 425, "target": 275, "value": 4 }, + { "source": 425, "target": 278, "value": 8 }, + { "source": 425, "target": 287, "value": 8 }, + { "source": 425, "target": 321, "value": 8 }, + { "source": 425, "target": 365, "value": 9 }, + { "source": 425, "target": 375, "value": 3 }, + { "source": 425, "target": 377, "value": 9 }, + { "source": 425, "target": 378, "value": 8 }, + { "source": 425, "target": 413, "value": 8 }, + { "source": 428, "target": 225, "value": 8 }, + { "source": 428, "target": 228, "value": 4 }, + { "source": 428, "target": 249, "value": 8 }, + { "source": 428, "target": 275, "value": 8 }, + { "source": 428, "target": 278, "value": 4 }, + { "source": 428, "target": 303, "value": 9 }, + { "source": 428, "target": 321, "value": 8 }, + { "source": 428, "target": 353, "value": 9 }, + { "source": 428, "target": 365, "value": 9 }, + { "source": 428, "target": 375, "value": 7 }, + { "source": 428, "target": 378, "value": 3 }, + { "source": 428, "target": 399, "value": 8 }, + { "source": 428, "target": 413, "value": 8 }, + { "source": 428, "target": 425, "value": 8 }, + { "source": 429, "target": 221, "value": 11 }, + { "source": 429, "target": 225, "value": 8 }, + { "source": 429, "target": 233, "value": 11 }, + { "source": 429, "target": 243, "value": 9 }, + { "source": 429, "target": 255, "value": 8 }, + { "source": 429, "target": 279, "value": 4 }, + { "source": 429, "target": 287, "value": 9 }, + { "source": 429, "target": 291, "value": 8 }, + { "source": 429, "target": 293, "value": 8 }, + { "source": 429, "target": 305, "value": 8 }, + { "source": 429, "target": 317, "value": 8 }, + { "source": 429, "target": 333, "value": 11 }, + { "source": 429, "target": 335, "value": 9 }, + { "source": 429, "target": 339, "value": 9 }, + { "source": 429, "target": 341, "value": 8 }, + { "source": 429, "target": 377, "value": 4 }, + { "source": 429, "target": 381, "value": 9 }, + { "source": 429, "target": 383, "value": 10 }, + { "source": 429, "target": 393, "value": 8 }, + { "source": 429, "target": 405, "value": 8 }, + { "source": 429, "target": 425, "value": 9 }, + { "source": 431, "target": 221, "value": 10 }, + { "source": 431, "target": 231, "value": 4 }, + { "source": 431, "target": 243, "value": 9 }, + { "source": 431, "target": 273, "value": 10 }, + { "source": 431, "target": 281, "value": 2 }, + { "source": 431, "target": 293, "value": 9 }, + { "source": 431, "target": 333, "value": 8 }, + { "source": 431, "target": 369, "value": 7 }, + { "source": 431, "target": 377, "value": 7 }, + { "source": 431, "target": 381, "value": 2 }, + { "source": 431, "target": 393, "value": 9 }, + { "source": 431, "target": 398, "value": 8 }, + { "source": 435, "target": 263, "value": 3 }, + { "source": 435, "target": 273, "value": 8 }, + { "source": 435, "target": 285, "value": 4 }, + { "source": 435, "target": 333, "value": 3 }, + { "source": 435, "target": 335, "value": 4 }, + { "source": 435, "target": 377, "value": 9 }, + { "source": 437, "target": 225, "value": 8 }, + { "source": 437, "target": 228, "value": 8 }, + { "source": 437, "target": 249, "value": 8 }, + { "source": 437, "target": 251, "value": 3 }, + { "source": 437, "target": 263, "value": 9 }, + { "source": 437, "target": 278, "value": 8 }, + { "source": 437, "target": 285, "value": 8 }, + { "source": 437, "target": 287, "value": 4 }, + { "source": 437, "target": 293, "value": 9 }, + { "source": 437, "target": 303, "value": 10 }, + { "source": 437, "target": 321, "value": 3 }, + { "source": 437, "target": 347, "value": 9 }, + { "source": 437, "target": 353, "value": 10 }, + { "source": 437, "target": 363, "value": 9 }, + { "source": 437, "target": 378, "value": 8 }, + { "source": 437, "target": 399, "value": 8 }, + { "source": 437, "target": 413, "value": 4 }, + { "source": 437, "target": 425, "value": 8 }, + { "source": 437, "target": 428, "value": 7 }, + { "source": 437, "target": 429, "value": 9 }, + { "source": 441, "target": 291, "value": 4 }, + { "source": 441, "target": 293, "value": 5 }, + { "source": 441, "target": 303, "value": 8 }, + { "source": 441, "target": 341, "value": 2 }, + { "source": 441, "target": 353, "value": 8 }, + { "source": 441, "target": 365, "value": 8 }, + { "source": 441, "target": 381, "value": 9 }, + { "source": 441, "target": 429, "value": 8 }, + { "source": 441, "target": 437, "value": 3 }, + { "source": 443, "target": 243, "value": 2 }, + { "source": 443, "target": 281, "value": 8 }, + { "source": 443, "target": 293, "value": 1 }, + { "source": 443, "target": 317, "value": 4 }, + { "source": 443, "target": 333, "value": 9 }, + { "source": 443, "target": 335, "value": 10 }, + { "source": 443, "target": 339, "value": 10 }, + { "source": 443, "target": 377, "value": 9 }, + { "source": 443, "target": 381, "value": 8 }, + { "source": 443, "target": 393, "value": 1 }, + { "source": 443, "target": 398, "value": 9 }, + { "source": 443, "target": 429, "value": 8 }, + { "source": 443, "target": 431, "value": 9 }, + { "source": 453, "target": 215, "value": 4 }, + { "source": 453, "target": 227, "value": 4 }, + { "source": 453, "target": 228, "value": 8 }, + { "source": 453, "target": 249, "value": 10 }, + { "source": 453, "target": 263, "value": 9 }, + { "source": 453, "target": 278, "value": 8 }, + { "source": 453, "target": 279, "value": 4 }, + { "source": 453, "target": 293, "value": 10 }, + { "source": 453, "target": 303, "value": 1 }, + { "source": 453, "target": 315, "value": 4 }, + { "source": 453, "target": 341, "value": 8 }, + { "source": 453, "target": 353, "value": 0 }, + { "source": 453, "target": 363, "value": 9 }, + { "source": 453, "target": 365, "value": 4 }, + { "source": 453, "target": 377, "value": 4 }, + { "source": 453, "target": 378, "value": 8 }, + { "source": 453, "target": 399, "value": 9 }, + { "source": 453, "target": 401, "value": 8 }, + { "source": 453, "target": 405, "value": 3 }, + { "source": 453, "target": 407, "value": 3 }, + { "source": 453, "target": 413, "value": 9 }, + { "source": 453, "target": 428, "value": 8 }, + { "source": 453, "target": 437, "value": 9 }, + { "source": 453, "target": 441, "value": 8 }, + { "source": 455, "target": 245, "value": 10 }, + { "source": 455, "target": 251, "value": 8 }, + { "source": 455, "target": 255, "value": 1 }, + { "source": 455, "target": 263, "value": 9 }, + { "source": 455, "target": 293, "value": 8 }, + { "source": 455, "target": 305, "value": 4 }, + { "source": 455, "target": 363, "value": 9 }, + { "source": 455, "target": 377, "value": 11 }, + { "source": 455, "target": 393, "value": 8 }, + { "source": 455, "target": 395, "value": 3 }, + { "source": 455, "target": 401, "value": 8 }, + { "source": 455, "target": 405, "value": 3 }, + { "source": 455, "target": 413, "value": 9 }, + { "source": 455, "target": 429, "value": 8 }, + { "source": 455, "target": 453, "value": 7 }, + { "source": 459, "target": 263, "value": 11 }, + { "source": 459, "target": 309, "value": 4 }, + { "source": 459, "target": 333, "value": 8 }, + { "source": 459, "target": 351, "value": 10 }, + { "source": 459, "target": 363, "value": 10 }, + { "source": 459, "target": 371, "value": 3 }, + { "source": 459, "target": 405, "value": 7 }, + { "source": 459, "target": 413, "value": 10 }, + { "source": 459, "target": 441, "value": 3 }, + { "source": 461, "target": 215, "value": 8 }, + { "source": 461, "target": 221, "value": 9 }, + { "source": 461, "target": 249, "value": 8 }, + { "source": 461, "target": 261, "value": 2 }, + { "source": 461, "target": 263, "value": 8 }, + { "source": 461, "target": 273, "value": 8 }, + { "source": 461, "target": 285, "value": 8 }, + { "source": 461, "target": 287, "value": 8 }, + { "source": 461, "target": 309, "value": 4 }, + { "source": 461, "target": 311, "value": 4 }, + { "source": 461, "target": 315, "value": 8 }, + { "source": 461, "target": 321, "value": 9 }, + { "source": 461, "target": 323, "value": 8 }, + { "source": 461, "target": 333, "value": 8 }, + { "source": 461, "target": 339, "value": 10 }, + { "source": 461, "target": 353, "value": 8 }, + { "source": 461, "target": 363, "value": 4 }, + { "source": 461, "target": 365, "value": 7 }, + { "source": 461, "target": 371, "value": 9 }, + { "source": 461, "target": 405, "value": 9 }, + { "source": 461, "target": 411, "value": 3 }, + { "source": 461, "target": 413, "value": 2 }, + { "source": 461, "target": 423, "value": 8 }, + { "source": 461, "target": 429, "value": 3 }, + { "source": 461, "target": 437, "value": 8 }, + { "source": 461, "target": 453, "value": 4 }, + { "source": 461, "target": 459, "value": 8 }, + { "source": 465, "target": 215, "value": 4 }, + { "source": 465, "target": 227, "value": 8 }, + { "source": 465, "target": 315, "value": 4 }, + { "source": 465, "target": 317, "value": 9 }, + { "source": 465, "target": 353, "value": 8 }, + { "source": 465, "target": 365, "value": 2 }, + { "source": 465, "target": 377, "value": 8 }, + { "source": 465, "target": 405, "value": 9 }, + { "source": 465, "target": 453, "value": 4 }, + { "source": 465, "target": 461, "value": 7 }, + { "source": 467, "target": 243, "value": 9 }, + { "source": 467, "target": 255, "value": 10 }, + { "source": 467, "target": 293, "value": 4 }, + { "source": 467, "target": 305, "value": 8 }, + { "source": 467, "target": 317, "value": 4 }, + { "source": 467, "target": 363, "value": 8 }, + { "source": 467, "target": 393, "value": 4 }, + { "source": 467, "target": 405, "value": 7 }, + { "source": 467, "target": 443, "value": 9 }, + { "source": 471, "target": 221, "value": 4 }, + { "source": 471, "target": 261, "value": 10 }, + { "source": 471, "target": 293, "value": 11 }, + { "source": 471, "target": 309, "value": 8 }, + { "source": 471, "target": 321, "value": 4 }, + { "source": 471, "target": 371, "value": 4 }, + { "source": 471, "target": 461, "value": 8 }, + { "source": 473, "target": 219, "value": 9 }, + { "source": 473, "target": 221, "value": 4 }, + { "source": 473, "target": 248, "value": 8 }, + { "source": 473, "target": 257, "value": 9 }, + { "source": 473, "target": 261, "value": 8 }, + { "source": 473, "target": 273, "value": 1 }, + { "source": 473, "target": 285, "value": 8 }, + { "source": 473, "target": 309, "value": 8 }, + { "source": 473, "target": 323, "value": 1 }, + { "source": 473, "target": 335, "value": 8 }, + { "source": 473, "target": 347, "value": 4 }, + { "source": 473, "target": 348, "value": 8 }, + { "source": 473, "target": 369, "value": 10 }, + { "source": 473, "target": 377, "value": 9 }, + { "source": 473, "target": 398, "value": 8 }, + { "source": 473, "target": 399, "value": 3 }, + { "source": 473, "target": 413, "value": 9 }, + { "source": 473, "target": 423, "value": 1 }, + { "source": 473, "target": 435, "value": 8 }, + { "source": 473, "target": 461, "value": 8 }, + { "source": 483, "target": 221, "value": 4 }, + { "source": 483, "target": 233, "value": 1 }, + { "source": 483, "target": 257, "value": 8 }, + { "source": 483, "target": 279, "value": 4 }, + { "source": 483, "target": 317, "value": 9 }, + { "source": 483, "target": 321, "value": 4 }, + { "source": 483, "target": 333, "value": 1 }, + { "source": 483, "target": 335, "value": 10 }, + { "source": 483, "target": 381, "value": 8 }, + { "source": 483, "target": 383, "value": 2 }, + { "source": 483, "target": 405, "value": 10 }, + { "source": 483, "target": 407, "value": 8 }, + { "source": 483, "target": 429, "value": 9 }, + { "source": 485, "target": 233, "value": 4 }, + { "source": 485, "target": 245, "value": 9 }, + { "source": 485, "target": 248, "value": 9 }, + { "source": 485, "target": 273, "value": 8 }, + { "source": 485, "target": 285, "value": 2 }, + { "source": 485, "target": 293, "value": 8 }, + { "source": 485, "target": 333, "value": 8 }, + { "source": 485, "target": 335, "value": 4 }, + { "source": 485, "target": 345, "value": 9 }, + { "source": 485, "target": 347, "value": 8 }, + { "source": 485, "target": 348, "value": 9 }, + { "source": 485, "target": 377, "value": 10 }, + { "source": 485, "target": 395, "value": 9 }, + { "source": 485, "target": 398, "value": 9 }, + { "source": 485, "target": 435, "value": 3 }, + { "source": 485, "target": 437, "value": 9 }, + { "source": 485, "target": 473, "value": 8 }, + { "source": 489, "target": 243, "value": 3 }, + { "source": 489, "target": 251, "value": 8 }, + { "source": 489, "target": 263, "value": 8 }, + { "source": 489, "target": 281, "value": 8 }, + { "source": 489, "target": 287, "value": 9 }, + { "source": 489, "target": 293, "value": 2 }, + { "source": 489, "target": 317, "value": 10 }, + { "source": 489, "target": 333, "value": 10 }, + { "source": 489, "target": 335, "value": 8 }, + { "source": 489, "target": 339, "value": 4 }, + { "source": 489, "target": 341, "value": 9 }, + { "source": 489, "target": 351, "value": 8 }, + { "source": 489, "target": 363, "value": 8 }, + { "source": 489, "target": 377, "value": 8 }, + { "source": 489, "target": 381, "value": 8 }, + { "source": 489, "target": 393, "value": 2 }, + { "source": 489, "target": 398, "value": 9 }, + { "source": 489, "target": 401, "value": 8 }, + { "source": 489, "target": 413, "value": 2 }, + { "source": 489, "target": 429, "value": 9 }, + { "source": 489, "target": 431, "value": 8 }, + { "source": 489, "target": 437, "value": 8 }, + { "source": 489, "target": 443, "value": 3 }, + { "source": 489, "target": 461, "value": 4 }, + { "source": 489, "target": 467, "value": 10 }, + { "source": 491, "target": 291, "value": 4 }, + { "source": 491, "target": 293, "value": 10 }, + { "source": 491, "target": 341, "value": 4 }, + { "source": 491, "target": 365, "value": 8 }, + { "source": 491, "target": 381, "value": 9 }, + { "source": 491, "target": 429, "value": 7 }, + { "source": 491, "target": 441, "value": 3 }, + { "source": 495, "target": 233, "value": 4 }, + { "source": 495, "target": 245, "value": 4 }, + { "source": 495, "target": 248, "value": 8 }, + { "source": 495, "target": 285, "value": 10 }, + { "source": 495, "target": 309, "value": 3 }, + { "source": 495, "target": 333, "value": 8 }, + { "source": 495, "target": 345, "value": 4 }, + { "source": 495, "target": 348, "value": 8 }, + { "source": 495, "target": 395, "value": 4 }, + { "source": 495, "target": 398, "value": 8 }, + { "source": 495, "target": 485, "value": 8 }, + { "source": 497, "target": 221, "value": 8 }, + { "source": 497, "target": 263, "value": 5 }, + { "source": 497, "target": 273, "value": 4 }, + { "source": 497, "target": 285, "value": 8 }, + { "source": 497, "target": 293, "value": 8 }, + { "source": 497, "target": 309, "value": 4 }, + { "source": 497, "target": 323, "value": 9 }, + { "source": 497, "target": 347, "value": 4 }, + { "source": 497, "target": 351, "value": 4 }, + { "source": 497, "target": 363, "value": 4 }, + { "source": 497, "target": 405, "value": 4 }, + { "source": 497, "target": 413, "value": 4 }, + { "source": 497, "target": 423, "value": 9 }, + { "source": 497, "target": 437, "value": 2 }, + { "source": 497, "target": 459, "value": 4 }, + { "source": 497, "target": 473, "value": 4 }, + { "source": 497, "target": 485, "value": 8 }, + { "source": 498, "target": 219, "value": 8 }, + { "source": 498, "target": 233, "value": 4 }, + { "source": 498, "target": 245, "value": 8 }, + { "source": 498, "target": 248, "value": 4 }, + { "source": 498, "target": 257, "value": 8 }, + { "source": 498, "target": 273, "value": 10 }, + { "source": 498, "target": 285, "value": 10 }, + { "source": 498, "target": 309, "value": 9 }, + { "source": 498, "target": 323, "value": 10 }, + { "source": 498, "target": 333, "value": 9 }, + { "source": 498, "target": 345, "value": 8 }, + { "source": 498, "target": 348, "value": 4 }, + { "source": 498, "target": 369, "value": 8 }, + { "source": 498, "target": 395, "value": 8 }, + { "source": 498, "target": 398, "value": 4 }, + { "source": 498, "target": 423, "value": 9 }, + { "source": 498, "target": 473, "value": 9 }, + { "source": 498, "target": 485, "value": 9 }, + { "source": 498, "target": 495, "value": 8 }, + { "source": 501, "target": 249, "value": 8 }, + { "source": 501, "target": 251, "value": 4 }, + { "source": 501, "target": 261, "value": 9 }, + { "source": 501, "target": 263, "value": 8 }, + { "source": 501, "target": 311, "value": 9 }, + { "source": 501, "target": 341, "value": 10 }, + { "source": 501, "target": 351, "value": 4 }, + { "source": 501, "target": 363, "value": 8 }, + { "source": 501, "target": 401, "value": 2 }, + { "source": 501, "target": 411, "value": 9 }, + { "source": 501, "target": 413, "value": 2 }, + { "source": 501, "target": 453, "value": 8 }, + { "source": 501, "target": 455, "value": 8 }, + { "source": 501, "target": 461, "value": 9 }, + { "source": 501, "target": 483, "value": 3 }, + { "source": 501, "target": 489, "value": 8 }, + { "source": 503, "target": 227, "value": 8 }, + { "source": 503, "target": 228, "value": 8 }, + { "source": 503, "target": 245, "value": 8 }, + { "source": 503, "target": 249, "value": 9 }, + { "source": 503, "target": 251, "value": 9 }, + { "source": 503, "target": 257, "value": 8 }, + { "source": 503, "target": 278, "value": 8 }, + { "source": 503, "target": 279, "value": 9 }, + { "source": 503, "target": 293, "value": 10 }, + { "source": 503, "target": 303, "value": 2 }, + { "source": 503, "target": 341, "value": 8 }, + { "source": 503, "target": 345, "value": 8 }, + { "source": 503, "target": 351, "value": 9 }, + { "source": 503, "target": 353, "value": 1 }, + { "source": 503, "target": 377, "value": 8 }, + { "source": 503, "target": 378, "value": 8 }, + { "source": 503, "target": 399, "value": 9 }, + { "source": 503, "target": 401, "value": 9 }, + { "source": 503, "target": 405, "value": 9 }, + { "source": 503, "target": 407, "value": 7 }, + { "source": 503, "target": 428, "value": 8 }, + { "source": 503, "target": 437, "value": 9 }, + { "source": 503, "target": 441, "value": 8 }, + { "source": 503, "target": 453, "value": 1 }, + { "source": 503, "target": 501, "value": 8 }, + { "source": 513, "target": 215, "value": 26 }, + { "source": 513, "target": 219, "value": 27 }, + { "source": 513, "target": 221, "value": 26 }, + { "source": 513, "target": 225, "value": 6 }, + { "source": 513, "target": 227, "value": 29 }, + { "source": 513, "target": 228, "value": 6 }, + { "source": 513, "target": 231, "value": 28 }, + { "source": 513, "target": 233, "value": 29 }, + { "source": 513, "target": 243, "value": 29 }, + { "source": 513, "target": 245, "value": 28 }, + { "source": 513, "target": 248, "value": 29 }, + { "source": 513, "target": 249, "value": 29 }, + { "source": 513, "target": 251, "value": 28 }, + { "source": 513, "target": 255, "value": 28 }, + { "source": 513, "target": 257, "value": 29 }, + { "source": 513, "target": 261, "value": 29 }, + { "source": 513, "target": 263, "value": 1 }, + { "source": 513, "target": 273, "value": 28 }, + { "source": 513, "target": 275, "value": 6 }, + { "source": 513, "target": 278, "value": 6 }, + { "source": 513, "target": 287, "value": 3 }, + { "source": 513, "target": 309, "value": 8 }, + { "source": 513, "target": 321, "value": 7 }, + { "source": 513, "target": 351, "value": 7 }, + { "source": 513, "target": 363, "value": 1 }, + { "source": 513, "target": 365, "value": 9 }, + { "source": 513, "target": 375, "value": 8 }, + { "source": 513, "target": 378, "value": 8 }, + { "source": 513, "target": 383, "value": 3 }, + { "source": 513, "target": 401, "value": 8 }, + { "source": 513, "target": 405, "value": 9 }, + { "source": 513, "target": 413, "value": 0 }, + { "source": 513, "target": 425, "value": 8 }, + { "source": 513, "target": 428, "value": 8 }, + { "source": 513, "target": 437, "value": 4 }, + { "source": 513, "target": 453, "value": 2 }, + { "source": 513, "target": 455, "value": 9 }, + { "source": 513, "target": 459, "value": 9 }, + { "source": 513, "target": 461, "value": 4 }, + { "source": 513, "target": 489, "value": 4 }, + { "source": 513, "target": 497, "value": 4 }, + { "source": 513, "target": 501, "value": 8 }, + { "source": 515, "target": 215, "value": 4 }, + { "source": 515, "target": 315, "value": 4 }, + { "source": 515, "target": 353, "value": 8 }, + { "source": 515, "target": 365, "value": 4 }, + { "source": 515, "target": 371, "value": 3 }, + { "source": 515, "target": 405, "value": 9 }, + { "source": 515, "target": 441, "value": 3 }, + { "source": 515, "target": 453, "value": 4 }, + { "source": 515, "target": 461, "value": 7 }, + { "source": 515, "target": 465, "value": 3 }, + { "source": 519, "target": 219, "value": 4 }, + { "source": 519, "target": 221, "value": 9 }, + { "source": 519, "target": 231, "value": 8 }, + { "source": 519, "target": 248, "value": 9 }, + { "source": 519, "target": 257, "value": 8 }, + { "source": 519, "target": 273, "value": 5 }, + { "source": 519, "target": 281, "value": 8 }, + { "source": 519, "target": 309, "value": 10 }, + { "source": 519, "target": 321, "value": 10 }, + { "source": 519, "target": 323, "value": 11 }, + { "source": 519, "target": 347, "value": 3 }, + { "source": 519, "target": 348, "value": 9 }, + { "source": 519, "target": 369, "value": 2 }, + { "source": 519, "target": 377, "value": 8 }, + { "source": 519, "target": 381, "value": 8 }, + { "source": 519, "target": 398, "value": 8 }, + { "source": 519, "target": 423, "value": 10 }, + { "source": 519, "target": 431, "value": 8 }, + { "source": 519, "target": 473, "value": 10 }, + { "source": 519, "target": 498, "value": 8 }, + { "source": 521, "target": 221, "value": 2 }, + { "source": 521, "target": 233, "value": 8 }, + { "source": 521, "target": 261, "value": 10 }, + { "source": 521, "target": 279, "value": 8 }, + { "source": 521, "target": 293, "value": 11 }, + { "source": 521, "target": 309, "value": 8 }, + { "source": 521, "target": 321, "value": 2 }, + { "source": 521, "target": 333, "value": 8 }, + { "source": 521, "target": 335, "value": 3 }, + { "source": 521, "target": 371, "value": 4 }, + { "source": 521, "target": 383, "value": 8 }, + { "source": 521, "target": 405, "value": 3 }, + { "source": 521, "target": 461, "value": 9 }, + { "source": 521, "target": 471, "value": 3 }, + { "source": 521, "target": 483, "value": 8 }, + { "source": 525, "target": 225, "value": 2 }, + { "source": 525, "target": 228, "value": 8 }, + { "source": 525, "target": 251, "value": 8 }, + { "source": 525, "target": 273, "value": 8 }, + { "source": 525, "target": 275, "value": 4 }, + { "source": 525, "target": 278, "value": 8 }, + { "source": 525, "target": 285, "value": 9 }, + { "source": 525, "target": 287, "value": 8 }, + { "source": 525, "target": 321, "value": 8 }, + { "source": 525, "target": 335, "value": 9 }, + { "source": 525, "target": 351, "value": 8 }, + { "source": 525, "target": 365, "value": 10 }, + { "source": 525, "target": 375, "value": 4 }, + { "source": 525, "target": 377, "value": 4 }, + { "source": 525, "target": 378, "value": 8 }, + { "source": 525, "target": 401, "value": 8 }, + { "source": 525, "target": 413, "value": 8 }, + { "source": 525, "target": 425, "value": 2 }, + { "source": 525, "target": 428, "value": 8 }, + { "source": 525, "target": 429, "value": 9 }, + { "source": 525, "target": 435, "value": 9 }, + { "source": 525, "target": 437, "value": 8 }, + { "source": 525, "target": 473, "value": 8 }, + { "source": 525, "target": 485, "value": 9 }, + { "source": 525, "target": 501, "value": 8 }, + { "source": 525, "target": 503, "value": 8 }, + { "source": 525, "target": 513, "value": 8 }, + { "source": 527, "target": 227, "value": 4 }, + { "source": 527, "target": 279, "value": 10 }, + { "source": 527, "target": 303, "value": 9 }, + { "source": 527, "target": 317, "value": 10 }, + { "source": 527, "target": 353, "value": 4 }, + { "source": 527, "target": 365, "value": 4 }, + { "source": 527, "target": 377, "value": 4 }, + { "source": 527, "target": 453, "value": 4 }, + { "source": 527, "target": 465, "value": 7 }, + { "source": 527, "target": 503, "value": 8 }, + { "source": 528, "target": 225, "value": 8 }, + { "source": 528, "target": 228, "value": 4 }, + { "source": 528, "target": 249, "value": 8 }, + { "source": 528, "target": 275, "value": 8 }, + { "source": 528, "target": 278, "value": 4 }, + { "source": 528, "target": 303, "value": 10 }, + { "source": 528, "target": 321, "value": 8 }, + { "source": 528, "target": 353, "value": 10 }, + { "source": 528, "target": 365, "value": 10 }, + { "source": 528, "target": 375, "value": 8 }, + { "source": 528, "target": 378, "value": 4 }, + { "source": 528, "target": 399, "value": 8 }, + { "source": 528, "target": 413, "value": 8 }, + { "source": 528, "target": 425, "value": 8 }, + { "source": 528, "target": 428, "value": 4 }, + { "source": 528, "target": 437, "value": 7 }, + { "source": 528, "target": 453, "value": 9 }, + { "source": 528, "target": 503, "value": 8 }, + { "source": 528, "target": 513, "value": 8 }, + { "source": 528, "target": 525, "value": 8 }, + { "source": 531, "target": 221, "value": 10 }, + { "source": 531, "target": 231, "value": 4 }, + { "source": 531, "target": 273, "value": 4 }, + { "source": 531, "target": 279, "value": 9 }, + { "source": 531, "target": 281, "value": 4 }, + { "source": 531, "target": 285, "value": 8 }, + { "source": 531, "target": 335, "value": 8 }, + { "source": 531, "target": 369, "value": 8 }, + { "source": 531, "target": 377, "value": 4 }, + { "source": 531, "target": 381, "value": 4 }, + { "source": 531, "target": 429, "value": 9 }, + { "source": 531, "target": 431, "value": 4 }, + { "source": 531, "target": 435, "value": 7 }, + { "source": 531, "target": 473, "value": 8 }, + { "source": 531, "target": 485, "value": 7 }, + { "source": 531, "target": 519, "value": 8 }, + { "source": 531, "target": 525, "value": 9 }, + { "source": 533, "target": 221, "value": 4 }, + { "source": 533, "target": 233, "value": 0 }, + { "source": 533, "target": 243, "value": 9 }, + { "source": 533, "target": 245, "value": 8 }, + { "source": 533, "target": 248, "value": 8 }, + { "source": 533, "target": 257, "value": 4 }, + { "source": 533, "target": 279, "value": 4 }, + { "source": 533, "target": 281, "value": 8 }, + { "source": 533, "target": 285, "value": 9 }, + { "source": 533, "target": 291, "value": 9 }, + { "source": 533, "target": 293, "value": 9 }, + { "source": 533, "target": 317, "value": 8 }, + { "source": 533, "target": 321, "value": 4 }, + { "source": 533, "target": 333, "value": 0 }, + { "source": 533, "target": 335, "value": 10 }, + { "source": 533, "target": 341, "value": 9 }, + { "source": 533, "target": 345, "value": 8 }, + { "source": 533, "target": 348, "value": 8 }, + { "source": 533, "target": 375, "value": 3 }, + { "source": 533, "target": 381, "value": 2 }, + { "source": 533, "target": 383, "value": 1 }, + { "source": 533, "target": 393, "value": 9 }, + { "source": 533, "target": 395, "value": 8 }, + { "source": 533, "target": 398, "value": 4 }, + { "source": 533, "target": 405, "value": 11 }, + { "source": 533, "target": 407, "value": 4 }, + { "source": 533, "target": 429, "value": 4 }, + { "source": 533, "target": 431, "value": 8 }, + { "source": 533, "target": 441, "value": 9 }, + { "source": 533, "target": 443, "value": 9 }, + { "source": 533, "target": 483, "value": 1 }, + { "source": 533, "target": 485, "value": 8 }, + { "source": 533, "target": 489, "value": 8 }, + { "source": 533, "target": 491, "value": 9 }, + { "source": 533, "target": 495, "value": 8 }, + { "source": 533, "target": 498, "value": 8 }, + { "source": 533, "target": 515, "value": 3 }, + { "source": 533, "target": 521, "value": 8 }, + { "source": 543, "target": 243, "value": 2 }, + { "source": 543, "target": 281, "value": 8 }, + { "source": 543, "target": 293, "value": 1 }, + { "source": 543, "target": 317, "value": 4 }, + { "source": 543, "target": 333, "value": 10 }, + { "source": 543, "target": 335, "value": 9 }, + { "source": 543, "target": 339, "value": 9 }, + { "source": 543, "target": 377, "value": 8 }, + { "source": 543, "target": 381, "value": 8 }, + { "source": 543, "target": 393, "value": 1 }, + { "source": 543, "target": 398, "value": 9 }, + { "source": 543, "target": 429, "value": 7 }, + { "source": 543, "target": 431, "value": 9 }, + { "source": 543, "target": 443, "value": 2 }, + { "source": 543, "target": 467, "value": 8 }, + { "source": 543, "target": 489, "value": 2 }, + { "source": 543, "target": 533, "value": 8 }, + { "source": 545, "target": 228, "value": 9 }, + { "source": 545, "target": 233, "value": 4 }, + { "source": 545, "target": 243, "value": 9 }, + { "source": 545, "target": 245, "value": 2 }, + { "source": 545, "target": 248, "value": 8 }, + { "source": 545, "target": 249, "value": 8 }, + { "source": 545, "target": 257, "value": 8 }, + { "source": 545, "target": 273, "value": 10 }, + { "source": 545, "target": 278, "value": 9 }, + { "source": 545, "target": 285, "value": 10 }, + { "source": 545, "target": 293, "value": 9 }, + { "source": 545, "target": 303, "value": 11 }, + { "source": 545, "target": 317, "value": 8 }, + { "source": 545, "target": 323, "value": 10 }, + { "source": 545, "target": 333, "value": 8 }, + { "source": 545, "target": 345, "value": 2 }, + { "source": 545, "target": 348, "value": 8 }, + { "source": 545, "target": 353, "value": 11 }, + { "source": 545, "target": 378, "value": 8 }, + { "source": 545, "target": 393, "value": 9 }, + { "source": 545, "target": 395, "value": 4 }, + { "source": 545, "target": 398, "value": 8 }, + { "source": 545, "target": 399, "value": 8 }, + { "source": 545, "target": 407, "value": 8 }, + { "source": 545, "target": 423, "value": 9 }, + { "source": 545, "target": 428, "value": 8 }, + { "source": 545, "target": 437, "value": 8 }, + { "source": 545, "target": 443, "value": 9 }, + { "source": 545, "target": 453, "value": 9 }, + { "source": 545, "target": 473, "value": 9 }, + { "source": 545, "target": 485, "value": 9 }, + { "source": 545, "target": 495, "value": 3 }, + { "source": 545, "target": 498, "value": 8 }, + { "source": 545, "target": 503, "value": 4 }, + { "source": 545, "target": 528, "value": 8 }, + { "source": 545, "target": 533, "value": 8 }, + { "source": 545, "target": 543, "value": 8 }, + { "source": 548, "target": 219, "value": 8 }, + { "source": 548, "target": 233, "value": 4 }, + { "source": 548, "target": 245, "value": 8 }, + { "source": 548, "target": 248, "value": 4 }, + { "source": 548, "target": 257, "value": 8 }, + { "source": 548, "target": 273, "value": 10 }, + { "source": 548, "target": 285, "value": 10 }, + { "source": 548, "target": 309, "value": 9 }, + { "source": 548, "target": 323, "value": 10 }, + { "source": 548, "target": 333, "value": 9 }, + { "source": 548, "target": 345, "value": 8 }, + { "source": 548, "target": 348, "value": 4 }, + { "source": 548, "target": 369, "value": 8 }, + { "source": 548, "target": 395, "value": 8 }, + { "source": 548, "target": 398, "value": 4 }, + { "source": 548, "target": 423, "value": 9 }, + { "source": 548, "target": 473, "value": 9 }, + { "source": 548, "target": 485, "value": 9 }, + { "source": 548, "target": 495, "value": 7 }, + { "source": 548, "target": 498, "value": 3 }, + { "source": 548, "target": 519, "value": 8 }, + { "source": 548, "target": 533, "value": 8 }, + { "source": 548, "target": 545, "value": 8 }, + { "source": 549, "target": 228, "value": 9 }, + { "source": 549, "target": 249, "value": 2 }, + { "source": 549, "target": 251, "value": 10 }, + { "source": 549, "target": 261, "value": 8 }, + { "source": 549, "target": 263, "value": 9 }, + { "source": 549, "target": 278, "value": 9 }, + { "source": 549, "target": 303, "value": 11 }, + { "source": 549, "target": 309, "value": 9 }, + { "source": 549, "target": 311, "value": 8 }, + { "source": 549, "target": 321, "value": 11 }, + { "source": 549, "target": 351, "value": 8 }, + { "source": 549, "target": 353, "value": 10 }, + { "source": 549, "target": 363, "value": 9 }, + { "source": 549, "target": 378, "value": 8 }, + { "source": 549, "target": 399, "value": 4 }, + { "source": 549, "target": 405, "value": 9 }, + { "source": 549, "target": 411, "value": 8 }, + { "source": 549, "target": 413, "value": 8 }, + { "source": 549, "target": 428, "value": 8 }, + { "source": 549, "target": 437, "value": 8 }, + { "source": 549, "target": 453, "value": 10 }, + { "source": 549, "target": 459, "value": 8 }, + { "source": 549, "target": 461, "value": 8 }, + { "source": 549, "target": 497, "value": 4 }, + { "source": 549, "target": 501, "value": 8 }, + { "source": 549, "target": 503, "value": 9 }, + { "source": 549, "target": 513, "value": 8 }, + { "source": 549, "target": 528, "value": 8 }, + { "source": 549, "target": 545, "value": 8 }, + { "source": 551, "target": 251, "value": 4 }, + { "source": 551, "target": 341, "value": 10 }, + { "source": 551, "target": 351, "value": 4 }, + { "source": 551, "target": 401, "value": 4 }, + { "source": 551, "target": 489, "value": 7 }, + { "source": 551, "target": 501, "value": 3 }, + { "source": 551, "target": 503, "value": 9 }, + { "source": 551, "target": 525, "value": 8 }, + { "source": 555, "target": 245, "value": 10 }, + { "source": 555, "target": 251, "value": 8 }, + { "source": 555, "target": 255, "value": 4 }, + { "source": 555, "target": 293, "value": 8 }, + { "source": 555, "target": 305, "value": 4 }, + { "source": 555, "target": 377, "value": 11 }, + { "source": 555, "target": 393, "value": 8 }, + { "source": 555, "target": 405, "value": 4 }, + { "source": 555, "target": 425, "value": 3 }, + { "source": 555, "target": 429, "value": 8 }, + { "source": 555, "target": 455, "value": 4 }, + { "source": 555, "target": 495, "value": 3 }, + { "source": 557, "target": 219, "value": 8 }, + { "source": 557, "target": 233, "value": 3 }, + { "source": 557, "target": 245, "value": 8 }, + { "source": 557, "target": 248, "value": 8 }, + { "source": 557, "target": 255, "value": 8 }, + { "source": 557, "target": 257, "value": 2 }, + { "source": 557, "target": 273, "value": 11 }, + { "source": 557, "target": 305, "value": 8 }, + { "source": 557, "target": 309, "value": 9 }, + { "source": 557, "target": 317, "value": 9 }, + { "source": 557, "target": 323, "value": 10 }, + { "source": 557, "target": 333, "value": 3 }, + { "source": 557, "target": 335, "value": 9 }, + { "source": 557, "target": 345, "value": 8 }, + { "source": 557, "target": 348, "value": 8 }, + { "source": 557, "target": 363, "value": 9 }, + { "source": 557, "target": 369, "value": 8 }, + { "source": 557, "target": 381, "value": 8 }, + { "source": 557, "target": 383, "value": 4 }, + { "source": 557, "target": 398, "value": 8 }, + { "source": 557, "target": 405, "value": 4 }, + { "source": 557, "target": 407, "value": 4 }, + { "source": 557, "target": 413, "value": 3 }, + { "source": 557, "target": 423, "value": 9 }, + { "source": 557, "target": 467, "value": 9 }, + { "source": 557, "target": 473, "value": 9 }, + { "source": 557, "target": 483, "value": 2 }, + { "source": 557, "target": 498, "value": 8 }, + { "source": 557, "target": 503, "value": 7 }, + { "source": 557, "target": 519, "value": 8 }, + { "source": 557, "target": 533, "value": 2 }, + { "source": 557, "target": 545, "value": 8 }, + { "source": 557, "target": 548, "value": 7 }, + { "source": 561, "target": 249, "value": 8 }, + { "source": 561, "target": 261, "value": 2 }, + { "source": 561, "target": 273, "value": 8 }, + { "source": 561, "target": 285, "value": 8 }, + { "source": 561, "target": 311, "value": 4 }, + { "source": 561, "target": 323, "value": 8 }, + { "source": 561, "target": 363, "value": 10 }, + { "source": 561, "target": 411, "value": 4 }, + { "source": 561, "target": 413, "value": 9 }, + { "source": 561, "target": 423, "value": 8 }, + { "source": 561, "target": 459, "value": 3 }, + { "source": 561, "target": 461, "value": 2 }, + { "source": 561, "target": 473, "value": 8 }, + { "source": 561, "target": 501, "value": 9 }, + { "source": 561, "target": 549, "value": 8 }, + { "source": 563, "target": 225, "value": 8 }, + { "source": 563, "target": 228, "value": 9 }, + { "source": 563, "target": 263, "value": 2 }, + { "source": 563, "target": 275, "value": 8 }, + { "source": 563, "target": 278, "value": 9 }, + { "source": 563, "target": 287, "value": 8 }, + { "source": 563, "target": 309, "value": 9 }, + { "source": 563, "target": 321, "value": 8 }, + { "source": 563, "target": 351, "value": 8 }, + { "source": 563, "target": 363, "value": 2 }, + { "source": 563, "target": 365, "value": 9 }, + { "source": 563, "target": 375, "value": 8 }, + { "source": 563, "target": 378, "value": 9 }, + { "source": 563, "target": 401, "value": 8 }, + { "source": 563, "target": 405, "value": 9 }, + { "source": 563, "target": 413, "value": 1 }, + { "source": 563, "target": 425, "value": 8 }, + { "source": 563, "target": 428, "value": 9 }, + { "source": 563, "target": 437, "value": 8 }, + { "source": 563, "target": 453, "value": 9 }, + { "source": 563, "target": 455, "value": 10 }, + { "source": 563, "target": 459, "value": 9 }, + { "source": 563, "target": 461, "value": 8 }, + { "source": 563, "target": 489, "value": 8 }, + { "source": 563, "target": 497, "value": 4 }, + { "source": 563, "target": 501, "value": 8 }, + { "source": 563, "target": 513, "value": 1 }, + { "source": 563, "target": 525, "value": 8 }, + { "source": 563, "target": 528, "value": 8 }, + { "source": 563, "target": 549, "value": 8 }, + { "source": 573, "target": 219, "value": 9 }, + { "source": 573, "target": 221, "value": 2 }, + { "source": 573, "target": 227, "value": 8 }, + { "source": 573, "target": 233, "value": 8 }, + { "source": 573, "target": 248, "value": 8 }, + { "source": 573, "target": 249, "value": 8 }, + { "source": 573, "target": 251, "value": 4 }, + { "source": 573, "target": 257, "value": 8 }, + { "source": 573, "target": 261, "value": 8 }, + { "source": 573, "target": 273, "value": 1 }, + { "source": 573, "target": 279, "value": 8 }, + { "source": 573, "target": 285, "value": 8 }, + { "source": 573, "target": 293, "value": 10 }, + { "source": 573, "target": 309, "value": 8 }, + { "source": 573, "target": 317, "value": 10 }, + { "source": 573, "target": 321, "value": 2 }, + { "source": 573, "target": 323, "value": 1 }, + { "source": 573, "target": 333, "value": 9 }, + { "source": 573, "target": 335, "value": 8 }, + { "source": 573, "target": 347, "value": 4 }, + { "source": 573, "target": 348, "value": 8 }, + { "source": 573, "target": 351, "value": 9 }, + { "source": 573, "target": 365, "value": 4 }, + { "source": 573, "target": 369, "value": 9 }, + { "source": 573, "target": 371, "value": 9 }, + { "source": 573, "target": 377, "value": 4 }, + { "source": 573, "target": 383, "value": 9 }, + { "source": 573, "target": 398, "value": 8 }, + { "source": 573, "target": 399, "value": 8 }, + { "source": 573, "target": 401, "value": 9 }, + { "source": 573, "target": 413, "value": 9 }, + { "source": 573, "target": 423, "value": 1 }, + { "source": 573, "target": 429, "value": 3 }, + { "source": 573, "target": 435, "value": 8 }, + { "source": 573, "target": 461, "value": 8 }, + { "source": 573, "target": 465, "value": 8 }, + { "source": 573, "target": 471, "value": 9 }, + { "source": 573, "target": 473, "value": 1 }, + { "source": 573, "target": 483, "value": 8 }, + { "source": 573, "target": 485, "value": 8 }, + { "source": 573, "target": 497, "value": 4 }, + { "source": 573, "target": 498, "value": 8 }, + { "source": 573, "target": 501, "value": 9 }, + { "source": 573, "target": 503, "value": 7 }, + { "source": 573, "target": 519, "value": 9 }, + { "source": 573, "target": 521, "value": 4 }, + { "source": 573, "target": 525, "value": 4 }, + { "source": 573, "target": 527, "value": 7 }, + { "source": 573, "target": 531, "value": 7 }, + { "source": 573, "target": 533, "value": 9 }, + { "source": 573, "target": 545, "value": 9 }, + { "source": 573, "target": 548, "value": 8 }, + { "source": 573, "target": 549, "value": 8 }, + { "source": 573, "target": 551, "value": 9 }, + { "source": 573, "target": 557, "value": 8 }, + { "source": 573, "target": 561, "value": 8 }, + { "source": 575, "target": 225, "value": 4 }, + { "source": 575, "target": 228, "value": 8 }, + { "source": 575, "target": 275, "value": 4 }, + { "source": 575, "target": 278, "value": 8 }, + { "source": 575, "target": 321, "value": 8 }, + { "source": 575, "target": 365, "value": 10 }, + { "source": 575, "target": 375, "value": 4 }, + { "source": 575, "target": 377, "value": 10 }, + { "source": 575, "target": 378, "value": 8 }, + { "source": 575, "target": 413, "value": 8 }, + { "source": 575, "target": 425, "value": 4 }, + { "source": 575, "target": 428, "value": 8 }, + { "source": 575, "target": 513, "value": 8 }, + { "source": 575, "target": 525, "value": 3 }, + { "source": 575, "target": 528, "value": 8 }, + { "source": 575, "target": 557, "value": 3 }, + { "source": 575, "target": 563, "value": 8 }, + { "source": 578, "target": 225, "value": 8 }, + { "source": 578, "target": 228, "value": 4 }, + { "source": 578, "target": 249, "value": 8 }, + { "source": 578, "target": 275, "value": 8 }, + { "source": 578, "target": 278, "value": 4 }, + { "source": 578, "target": 303, "value": 10 }, + { "source": 578, "target": 321, "value": 8 }, + { "source": 578, "target": 353, "value": 10 }, + { "source": 578, "target": 365, "value": 10 }, + { "source": 578, "target": 375, "value": 8 }, + { "source": 578, "target": 378, "value": 4 }, + { "source": 578, "target": 399, "value": 8 }, + { "source": 578, "target": 413, "value": 8 }, + { "source": 578, "target": 425, "value": 8 }, + { "source": 578, "target": 428, "value": 4 }, + { "source": 578, "target": 437, "value": 8 }, + { "source": 578, "target": 453, "value": 9 }, + { "source": 578, "target": 503, "value": 8 }, + { "source": 578, "target": 513, "value": 8 }, + { "source": 578, "target": 525, "value": 7 }, + { "source": 578, "target": 528, "value": 3 }, + { "source": 578, "target": 545, "value": 8 }, + { "source": 578, "target": 549, "value": 8 }, + { "source": 578, "target": 563, "value": 9 }, + { "source": 578, "target": 575, "value": 8 }, + { "source": 579, "target": 221, "value": 11 }, + { "source": 579, "target": 233, "value": 12 }, + { "source": 579, "target": 279, "value": 4 }, + { "source": 579, "target": 317, "value": 8 }, + { "source": 579, "target": 333, "value": 11 }, + { "source": 579, "target": 383, "value": 10 }, + { "source": 579, "target": 393, "value": 3 }, + { "source": 579, "target": 429, "value": 4 }, + { "source": 579, "target": 483, "value": 10 }, + { "source": 579, "target": 531, "value": 9 }, + { "source": 579, "target": 533, "value": 2 }, + { "source": 581, "target": 221, "value": 11 }, + { "source": 581, "target": 231, "value": 4 }, + { "source": 581, "target": 243, "value": 8 }, + { "source": 581, "target": 273, "value": 11 }, + { "source": 581, "target": 281, "value": 2 }, + { "source": 581, "target": 291, "value": 8 }, + { "source": 581, "target": 293, "value": 8 }, + { "source": 581, "target": 333, "value": 9 }, + { "source": 581, "target": 341, "value": 8 }, + { "source": 581, "target": 369, "value": 8 }, + { "source": 581, "target": 377, "value": 8 }, + { "source": 581, "target": 381, "value": 1 }, + { "source": 581, "target": 393, "value": 8 }, + { "source": 581, "target": 398, "value": 9 }, + { "source": 581, "target": 429, "value": 8 }, + { "source": 581, "target": 431, "value": 2 }, + { "source": 581, "target": 441, "value": 9 }, + { "source": 581, "target": 443, "value": 8 }, + { "source": 581, "target": 489, "value": 7 }, + { "source": 581, "target": 491, "value": 8 }, + { "source": 581, "target": 519, "value": 8 }, + { "source": 581, "target": 521, "value": 3 }, + { "source": 581, "target": 531, "value": 3 }, + { "source": 581, "target": 533, "value": 4 }, + { "source": 581, "target": 543, "value": 8 }, + { "source": 585, "target": 243, "value": 9 }, + { "source": 585, "target": 273, "value": 8 }, + { "source": 585, "target": 281, "value": 8 }, + { "source": 585, "target": 285, "value": 2 }, + { "source": 585, "target": 293, "value": 2 }, + { "source": 585, "target": 333, "value": 8 }, + { "source": 585, "target": 335, "value": 4 }, + { "source": 585, "target": 347, "value": 4 }, + { "source": 585, "target": 377, "value": 10 }, + { "source": 585, "target": 381, "value": 8 }, + { "source": 585, "target": 393, "value": 9 }, + { "source": 585, "target": 398, "value": 8 }, + { "source": 585, "target": 431, "value": 8 }, + { "source": 585, "target": 435, "value": 4 }, + { "source": 585, "target": 437, "value": 4 }, + { "source": 585, "target": 443, "value": 9 }, + { "source": 585, "target": 473, "value": 8 }, + { "source": 585, "target": 485, "value": 2 }, + { "source": 585, "target": 489, "value": 9 }, + { "source": 585, "target": 497, "value": 4 }, + { "source": 585, "target": 525, "value": 9 }, + { "source": 585, "target": 531, "value": 7 }, + { "source": 585, "target": 533, "value": 7 }, + { "source": 585, "target": 543, "value": 9 }, + { "source": 585, "target": 573, "value": 8 }, + { "source": 585, "target": 581, "value": 8 }, + { "source": 587, "target": 225, "value": 9 }, + { "source": 587, "target": 263, "value": 9 }, + { "source": 587, "target": 285, "value": 9 }, + { "source": 587, "target": 287, "value": 4 }, + { "source": 587, "target": 291, "value": 8 }, + { "source": 587, "target": 335, "value": 9 }, + { "source": 587, "target": 341, "value": 8 }, + { "source": 587, "target": 363, "value": 9 }, + { "source": 587, "target": 381, "value": 10 }, + { "source": 587, "target": 413, "value": 4 }, + { "source": 587, "target": 425, "value": 8 }, + { "source": 587, "target": 429, "value": 4 }, + { "source": 587, "target": 435, "value": 9 }, + { "source": 587, "target": 437, "value": 4 }, + { "source": 587, "target": 441, "value": 8 }, + { "source": 587, "target": 461, "value": 8 }, + { "source": 587, "target": 485, "value": 9 }, + { "source": 587, "target": 489, "value": 9 }, + { "source": 587, "target": 491, "value": 8 }, + { "source": 587, "target": 513, "value": 4 }, + { "source": 587, "target": 525, "value": 7 }, + { "source": 587, "target": 533, "value": 9 }, + { "source": 587, "target": 563, "value": 8 }, + { "source": 587, "target": 581, "value": 8 }, + { "source": 587, "target": 585, "value": 8 }, + { "source": 591, "target": 291, "value": 4 }, + { "source": 591, "target": 293, "value": 10 }, + { "source": 591, "target": 341, "value": 4 }, + { "source": 591, "target": 365, "value": 8 }, + { "source": 591, "target": 381, "value": 10 }, + { "source": 591, "target": 429, "value": 8 }, + { "source": 591, "target": 441, "value": 4 }, + { "source": 591, "target": 491, "value": 4 }, + { "source": 591, "target": 533, "value": 9 }, + { "source": 591, "target": 581, "value": 8 }, + { "source": 591, "target": 587, "value": 8 }, + { "source": 593, "target": 243, "value": 1 }, + { "source": 593, "target": 245, "value": 10 }, + { "source": 593, "target": 251, "value": 8 }, + { "source": 593, "target": 255, "value": 8 }, + { "source": 593, "target": 281, "value": 8 }, + { "source": 593, "target": 293, "value": 1 }, + { "source": 593, "target": 305, "value": 8 }, + { "source": 593, "target": 317, "value": 2 }, + { "source": 593, "target": 333, "value": 10 }, + { "source": 593, "target": 335, "value": 9 }, + { "source": 593, "target": 339, "value": 9 }, + { "source": 593, "target": 377, "value": 8 }, + { "source": 593, "target": 381, "value": 8 }, + { "source": 593, "target": 393, "value": 1 }, + { "source": 593, "target": 398, "value": 9 }, + { "source": 593, "target": 405, "value": 8 }, + { "source": 593, "target": 429, "value": 8 }, + { "source": 593, "target": 431, "value": 9 }, + { "source": 593, "target": 443, "value": 1 }, + { "source": 593, "target": 455, "value": 8 }, + { "source": 593, "target": 467, "value": 4 }, + { "source": 593, "target": 489, "value": 2 }, + { "source": 593, "target": 491, "value": 3 }, + { "source": 593, "target": 533, "value": 8 }, + { "source": 593, "target": 543, "value": 1 }, + { "source": 593, "target": 545, "value": 9 }, + { "source": 593, "target": 555, "value": 8 }, + { "source": 593, "target": 561, "value": 3 }, + { "source": 593, "target": 581, "value": 8 }, + { "source": 593, "target": 585, "value": 8 }, + { "source": 603, "target": 227, "value": 8 }, + { "source": 603, "target": 228, "value": 8 }, + { "source": 603, "target": 249, "value": 9 }, + { "source": 603, "target": 278, "value": 8 }, + { "source": 603, "target": 279, "value": 9 }, + { "source": 603, "target": 293, "value": 10 }, + { "source": 603, "target": 303, "value": 2 }, + { "source": 603, "target": 341, "value": 8 }, + { "source": 603, "target": 353, "value": 1 }, + { "source": 603, "target": 377, "value": 8 }, + { "source": 603, "target": 378, "value": 8 }, + { "source": 603, "target": 399, "value": 9 }, + { "source": 603, "target": 405, "value": 9 }, + { "source": 603, "target": 428, "value": 8 }, + { "source": 603, "target": 437, "value": 8 }, + { "source": 603, "target": 441, "value": 8 }, + { "source": 603, "target": 453, "value": 1 }, + { "source": 603, "target": 503, "value": 2 }, + { "source": 603, "target": 527, "value": 8 }, + { "source": 603, "target": 528, "value": 8 }, + { "source": 603, "target": 545, "value": 9 }, + { "source": 603, "target": 549, "value": 9 }, + { "source": 603, "target": 578, "value": 8 }, + { "source": 605, "target": 215, "value": 8 }, + { "source": 605, "target": 231, "value": 8 }, + { "source": 605, "target": 245, "value": 10 }, + { "source": 605, "target": 251, "value": 8 }, + { "source": 605, "target": 255, "value": 2 }, + { "source": 605, "target": 281, "value": 8 }, + { "source": 605, "target": 293, "value": 8 }, + { "source": 605, "target": 305, "value": 2 }, + { "source": 605, "target": 315, "value": 8 }, + { "source": 605, "target": 317, "value": 8 }, + { "source": 605, "target": 353, "value": 8 }, + { "source": 605, "target": 363, "value": 8 }, + { "source": 605, "target": 365, "value": 8 }, + { "source": 605, "target": 377, "value": 11 }, + { "source": 605, "target": 381, "value": 8 }, + { "source": 605, "target": 393, "value": 8 }, + { "source": 605, "target": 405, "value": 2 }, + { "source": 605, "target": 429, "value": 8 }, + { "source": 605, "target": 431, "value": 8 }, + { "source": 605, "target": 453, "value": 4 }, + { "source": 605, "target": 455, "value": 4 }, + { "source": 605, "target": 461, "value": 8 }, + { "source": 605, "target": 465, "value": 9 }, + { "source": 605, "target": 467, "value": 8 }, + { "source": 605, "target": 515, "value": 8 }, + { "source": 605, "target": 531, "value": 8 }, + { "source": 605, "target": 555, "value": 3 }, + { "source": 605, "target": 557, "value": 8 }, + { "source": 605, "target": 581, "value": 8 }, + { "source": 605, "target": 593, "value": 8 }, + { "source": 609, "target": 221, "value": 8 }, + { "source": 609, "target": 261, "value": 10 }, + { "source": 609, "target": 263, "value": 12 }, + { "source": 609, "target": 309, "value": 2 }, + { "source": 609, "target": 321, "value": 8 }, + { "source": 609, "target": 333, "value": 8 }, + { "source": 609, "target": 351, "value": 10 }, + { "source": 609, "target": 363, "value": 11 }, + { "source": 609, "target": 371, "value": 8 }, + { "source": 609, "target": 405, "value": 8 }, + { "source": 609, "target": 413, "value": 10 }, + { "source": 609, "target": 459, "value": 4 }, + { "source": 609, "target": 461, "value": 4 }, + { "source": 609, "target": 471, "value": 8 }, + { "source": 609, "target": 497, "value": 4 }, + { "source": 609, "target": 513, "value": 10 }, + { "source": 609, "target": 521, "value": 8 }, + { "source": 609, "target": 549, "value": 8 }, + { "source": 609, "target": 563, "value": 9 }, + { "source": 611, "target": 219, "value": 8 }, + { "source": 611, "target": 248, "value": 8 }, + { "source": 611, "target": 249, "value": 9 }, + { "source": 611, "target": 257, "value": 8 }, + { "source": 611, "target": 261, "value": 4 }, + { "source": 611, "target": 273, "value": 9 }, + { "source": 611, "target": 285, "value": 8 }, + { "source": 611, "target": 309, "value": 8 }, + { "source": 611, "target": 311, "value": 4 }, + { "source": 611, "target": 323, "value": 9 }, + { "source": 611, "target": 348, "value": 8 }, + { "source": 611, "target": 363, "value": 10 }, + { "source": 611, "target": 369, "value": 9 }, + { "source": 611, "target": 398, "value": 8 }, + { "source": 611, "target": 411, "value": 4 }, + { "source": 611, "target": 423, "value": 9 }, + { "source": 611, "target": 461, "value": 4 }, + { "source": 611, "target": 473, "value": 8 }, + { "source": 611, "target": 498, "value": 8 }, + { "source": 611, "target": 501, "value": 9 }, + { "source": 611, "target": 519, "value": 8 }, + { "source": 611, "target": 548, "value": 8 }, + { "source": 611, "target": 549, "value": 7 }, + { "source": 611, "target": 557, "value": 8 }, + { "source": 611, "target": 561, "value": 3 }, + { "source": 611, "target": 573, "value": 8 }, + { "source": 615, "target": 215, "value": 4 }, + { "source": 615, "target": 219, "value": 8 }, + { "source": 615, "target": 248, "value": 9 }, + { "source": 615, "target": 257, "value": 9 }, + { "source": 615, "target": 263, "value": 8 }, + { "source": 615, "target": 273, "value": 11 }, + { "source": 615, "target": 309, "value": 10 }, + { "source": 615, "target": 315, "value": 4 }, + { "source": 615, "target": 323, "value": 11 }, + { "source": 615, "target": 348, "value": 9 }, + { "source": 615, "target": 353, "value": 8 }, + { "source": 615, "target": 363, "value": 9 }, + { "source": 615, "target": 365, "value": 4 }, + { "source": 615, "target": 369, "value": 8 }, + { "source": 615, "target": 398, "value": 9 }, + { "source": 615, "target": 405, "value": 10 }, + { "source": 615, "target": 413, "value": 9 }, + { "source": 615, "target": 423, "value": 10 }, + { "source": 615, "target": 453, "value": 4 }, + { "source": 615, "target": 461, "value": 8 }, + { "source": 615, "target": 465, "value": 4 }, + { "source": 615, "target": 471, "value": 3 }, + { "source": 615, "target": 473, "value": 10 }, + { "source": 615, "target": 498, "value": 8 }, + { "source": 615, "target": 513, "value": 9 }, + { "source": 615, "target": 515, "value": 4 }, + { "source": 615, "target": 519, "value": 8 }, + { "source": 615, "target": 548, "value": 8 }, + { "source": 615, "target": 557, "value": 8 }, + { "source": 615, "target": 563, "value": 8 }, + { "source": 615, "target": 573, "value": 9 }, + { "source": 615, "target": 605, "value": 8 }, + { "source": 615, "target": 611, "value": 2 }, + { "source": 617, "target": 221, "value": 10 }, + { "source": 617, "target": 233, "value": 11 }, + { "source": 617, "target": 243, "value": 9 }, + { "source": 617, "target": 255, "value": 10 }, + { "source": 617, "target": 279, "value": 8 }, + { "source": 617, "target": 293, "value": 4 }, + { "source": 617, "target": 305, "value": 8 }, + { "source": 617, "target": 317, "value": 2 }, + { "source": 617, "target": 333, "value": 10 }, + { "source": 617, "target": 363, "value": 8 }, + { "source": 617, "target": 383, "value": 10 }, + { "source": 617, "target": 393, "value": 4 }, + { "source": 617, "target": 405, "value": 8 }, + { "source": 617, "target": 429, "value": 8 }, + { "source": 617, "target": 443, "value": 9 }, + { "source": 617, "target": 459, "value": 3 }, + { "source": 617, "target": 467, "value": 4 }, + { "source": 617, "target": 483, "value": 9 }, + { "source": 617, "target": 489, "value": 10 }, + { "source": 617, "target": 533, "value": 9 }, + { "source": 617, "target": 543, "value": 8 }, + { "source": 617, "target": 557, "value": 8 }, + { "source": 617, "target": 579, "value": 8 }, + { "source": 617, "target": 593, "value": 4 }, + { "source": 617, "target": 605, "value": 8 }, + { "source": 621, "target": 221, "value": 1 }, + { "source": 621, "target": 231, "value": 8 }, + { "source": 621, "target": 233, "value": 8 }, + { "source": 621, "target": 261, "value": 10 }, + { "source": 621, "target": 273, "value": 3 }, + { "source": 621, "target": 279, "value": 8 }, + { "source": 621, "target": 281, "value": 8 }, + { "source": 621, "target": 293, "value": 12 }, + { "source": 621, "target": 309, "value": 8 }, + { "source": 621, "target": 321, "value": 2 }, + { "source": 621, "target": 323, "value": 9 }, + { "source": 621, "target": 333, "value": 8 }, + { "source": 621, "target": 347, "value": 8 }, + { "source": 621, "target": 369, "value": 8 }, + { "source": 621, "target": 371, "value": 4 }, + { "source": 621, "target": 377, "value": 8 }, + { "source": 621, "target": 381, "value": 8 }, + { "source": 621, "target": 383, "value": 8 }, + { "source": 621, "target": 423, "value": 8 }, + { "source": 621, "target": 431, "value": 8 }, + { "source": 621, "target": 435, "value": 3 }, + { "source": 621, "target": 461, "value": 9 }, + { "source": 621, "target": 471, "value": 4 }, + { "source": 621, "target": 473, "value": 4 }, + { "source": 621, "target": 483, "value": 8 }, + { "source": 621, "target": 497, "value": 8 }, + { "source": 621, "target": 519, "value": 8 }, + { "source": 621, "target": 521, "value": 2 }, + { "source": 621, "target": 531, "value": 8 }, + { "source": 621, "target": 533, "value": 8 }, + { "source": 621, "target": 573, "value": 2 }, + { "source": 621, "target": 575, "value": 3 }, + { "source": 621, "target": 581, "value": 8 }, + { "source": 621, "target": 609, "value": 8 }, + { "source": 623, "target": 219, "value": 9 }, + { "source": 623, "target": 221, "value": 8 }, + { "source": 623, "target": 248, "value": 8 }, + { "source": 623, "target": 257, "value": 8 }, + { "source": 623, "target": 261, "value": 9 }, + { "source": 623, "target": 273, "value": 1 }, + { "source": 623, "target": 309, "value": 8 }, + { "source": 623, "target": 323, "value": 2 }, + { "source": 623, "target": 347, "value": 8 }, + { "source": 623, "target": 348, "value": 8 }, + { "source": 623, "target": 369, "value": 9 }, + { "source": 623, "target": 398, "value": 8 }, + { "source": 623, "target": 413, "value": 10 }, + { "source": 623, "target": 423, "value": 2 }, + { "source": 623, "target": 461, "value": 8 }, + { "source": 623, "target": 473, "value": 1 }, + { "source": 623, "target": 497, "value": 8 }, + { "source": 623, "target": 498, "value": 8 }, + { "source": 623, "target": 519, "value": 9 }, + { "source": 623, "target": 545, "value": 10 }, + { "source": 623, "target": 548, "value": 8 }, + { "source": 623, "target": 557, "value": 8 }, + { "source": 623, "target": 561, "value": 7 }, + { "source": 623, "target": 573, "value": 1 }, + { "source": 623, "target": 611, "value": 7 }, + { "source": 623, "target": 615, "value": 8 }, + { "source": 623, "target": 621, "value": 7 }, + { "source": 633, "target": 221, "value": 4 }, + { "source": 633, "target": 233, "value": 0 }, + { "source": 633, "target": 245, "value": 8 }, + { "source": 633, "target": 248, "value": 8 }, + { "source": 633, "target": 257, "value": 4 }, + { "source": 633, "target": 279, "value": 4 }, + { "source": 633, "target": 285, "value": 10 }, + { "source": 633, "target": 317, "value": 8 }, + { "source": 633, "target": 321, "value": 4 }, + { "source": 633, "target": 333, "value": 1 }, + { "source": 633, "target": 335, "value": 10 }, + { "source": 633, "target": 345, "value": 8 }, + { "source": 633, "target": 348, "value": 8 }, + { "source": 633, "target": 381, "value": 4 }, + { "source": 633, "target": 383, "value": 1 }, + { "source": 633, "target": 395, "value": 8 }, + { "source": 633, "target": 398, "value": 8 }, + { "source": 633, "target": 405, "value": 11 }, + { "source": 633, "target": 407, "value": 4 }, + { "source": 633, "target": 429, "value": 9 }, + { "source": 633, "target": 483, "value": 1 }, + { "source": 633, "target": 485, "value": 9 }, + { "source": 633, "target": 495, "value": 8 }, + { "source": 633, "target": 498, "value": 8 }, + { "source": 633, "target": 521, "value": 8 }, + { "source": 633, "target": 533, "value": 1 }, + { "source": 633, "target": 545, "value": 2 }, + { "source": 633, "target": 548, "value": 8 }, + { "source": 633, "target": 557, "value": 2 }, + { "source": 633, "target": 573, "value": 8 }, + { "source": 633, "target": 579, "value": 9 }, + { "source": 633, "target": 615, "value": 3 }, + { "source": 633, "target": 617, "value": 8 }, + { "source": 633, "target": 621, "value": 8 }, + { "source": 635, "target": 273, "value": 9 }, + { "source": 635, "target": 285, "value": 4 }, + { "source": 635, "target": 335, "value": 4 }, + { "source": 635, "target": 377, "value": 10 }, + { "source": 635, "target": 435, "value": 4 }, + { "source": 635, "target": 473, "value": 8 }, + { "source": 635, "target": 485, "value": 4 }, + { "source": 635, "target": 525, "value": 9 }, + { "source": 635, "target": 531, "value": 8 }, + { "source": 635, "target": 533, "value": 3 }, + { "source": 635, "target": 573, "value": 8 }, + { "source": 635, "target": 585, "value": 3 }, + { "source": 635, "target": 587, "value": 9 }, + { "source": 635, "target": 603, "value": 3 }, + { "source": 639, "target": 243, "value": 12 }, + { "source": 639, "target": 293, "value": 11 }, + { "source": 639, "target": 335, "value": 8 }, + { "source": 639, "target": 339, "value": 4 }, + { "source": 639, "target": 377, "value": 8 }, + { "source": 639, "target": 393, "value": 11 }, + { "source": 639, "target": 413, "value": 8 }, + { "source": 639, "target": 429, "value": 10 }, + { "source": 639, "target": 443, "value": 10 }, + { "source": 639, "target": 461, "value": 10 }, + { "source": 639, "target": 489, "value": 4 }, + { "source": 639, "target": 543, "value": 10 }, + { "source": 639, "target": 579, "value": 3 }, + { "source": 639, "target": 593, "value": 9 }, + { "source": 641, "target": 291, "value": 4 }, + { "source": 641, "target": 293, "value": 5 }, + { "source": 641, "target": 303, "value": 8 }, + { "source": 641, "target": 341, "value": 2 }, + { "source": 641, "target": 353, "value": 8 }, + { "source": 641, "target": 365, "value": 8 }, + { "source": 641, "target": 381, "value": 10 }, + { "source": 641, "target": 429, "value": 8 }, + { "source": 641, "target": 441, "value": 2 }, + { "source": 641, "target": 453, "value": 8 }, + { "source": 641, "target": 491, "value": 4 }, + { "source": 641, "target": 497, "value": 3 }, + { "source": 641, "target": 503, "value": 8 }, + { "source": 641, "target": 533, "value": 9 }, + { "source": 641, "target": 581, "value": 8 }, + { "source": 641, "target": 587, "value": 7 }, + { "source": 641, "target": 591, "value": 3 }, + { "source": 641, "target": 603, "value": 8 }, + { "source": 645, "target": 233, "value": 4 }, + { "source": 645, "target": 245, "value": 2 }, + { "source": 645, "target": 248, "value": 8 }, + { "source": 645, "target": 251, "value": 8 }, + { "source": 645, "target": 255, "value": 8 }, + { "source": 645, "target": 257, "value": 8 }, + { "source": 645, "target": 285, "value": 10 }, + { "source": 645, "target": 293, "value": 8 }, + { "source": 645, "target": 305, "value": 8 }, + { "source": 645, "target": 333, "value": 8 }, + { "source": 645, "target": 345, "value": 2 }, + { "source": 645, "target": 348, "value": 8 }, + { "source": 645, "target": 393, "value": 8 }, + { "source": 645, "target": 395, "value": 4 }, + { "source": 645, "target": 398, "value": 8 }, + { "source": 645, "target": 405, "value": 8 }, + { "source": 645, "target": 407, "value": 8 }, + { "source": 645, "target": 455, "value": 8 }, + { "source": 645, "target": 485, "value": 9 }, + { "source": 645, "target": 495, "value": 4 }, + { "source": 645, "target": 498, "value": 8 }, + { "source": 645, "target": 503, "value": 8 }, + { "source": 645, "target": 533, "value": 8 }, + { "source": 645, "target": 545, "value": 2 }, + { "source": 645, "target": 548, "value": 8 }, + { "source": 645, "target": 555, "value": 8 }, + { "source": 645, "target": 557, "value": 8 }, + { "source": 645, "target": 593, "value": 7 }, + { "source": 645, "target": 605, "value": 8 }, + { "source": 645, "target": 633, "value": 8 }, + { "source": 647, "target": 221, "value": 9 }, + { "source": 647, "target": 273, "value": 4 }, + { "source": 647, "target": 285, "value": 9 }, + { "source": 647, "target": 293, "value": 8 }, + { "source": 647, "target": 323, "value": 9 }, + { "source": 647, "target": 347, "value": 4 }, + { "source": 647, "target": 423, "value": 9 }, + { "source": 647, "target": 437, "value": 9 }, + { "source": 647, "target": 473, "value": 4 }, + { "source": 647, "target": 485, "value": 8 }, + { "source": 647, "target": 497, "value": 4 }, + { "source": 647, "target": 573, "value": 4 }, + { "source": 647, "target": 585, "value": 4 }, + { "source": 647, "target": 621, "value": 8 }, + { "source": 647, "target": 623, "value": 8 }, + { "source": 648, "target": 219, "value": 8 }, + { "source": 648, "target": 233, "value": 4 }, + { "source": 648, "target": 245, "value": 8 }, + { "source": 648, "target": 248, "value": 4 }, + { "source": 648, "target": 257, "value": 8 }, + { "source": 648, "target": 273, "value": 11 }, + { "source": 648, "target": 285, "value": 10 }, + { "source": 648, "target": 309, "value": 9 }, + { "source": 648, "target": 323, "value": 10 }, + { "source": 648, "target": 333, "value": 9 }, + { "source": 648, "target": 345, "value": 8 }, + { "source": 648, "target": 348, "value": 4 }, + { "source": 648, "target": 369, "value": 8 }, + { "source": 648, "target": 395, "value": 8 }, + { "source": 648, "target": 398, "value": 4 }, + { "source": 648, "target": 423, "value": 10 }, + { "source": 648, "target": 473, "value": 9 }, + { "source": 648, "target": 485, "value": 9 }, + { "source": 648, "target": 495, "value": 8 }, + { "source": 648, "target": 498, "value": 4 }, + { "source": 648, "target": 519, "value": 8 }, + { "source": 648, "target": 533, "value": 8 }, + { "source": 648, "target": 545, "value": 8 }, + { "source": 648, "target": 548, "value": 4 }, + { "source": 648, "target": 557, "value": 7 }, + { "source": 648, "target": 573, "value": 8 }, + { "source": 648, "target": 611, "value": 8 }, + { "source": 648, "target": 615, "value": 8 }, + { "source": 648, "target": 623, "value": 8 }, + { "source": 648, "target": 633, "value": 8 }, + { "source": 648, "target": 645, "value": 8 }, + { "source": 651, "target": 251, "value": 4 }, + { "source": 651, "target": 263, "value": 8 }, + { "source": 651, "target": 341, "value": 10 }, + { "source": 651, "target": 351, "value": 4 }, + { "source": 651, "target": 363, "value": 8 }, + { "source": 651, "target": 401, "value": 2 }, + { "source": 651, "target": 413, "value": 8 }, + { "source": 651, "target": 453, "value": 8 }, + { "source": 651, "target": 455, "value": 9 }, + { "source": 651, "target": 489, "value": 8 }, + { "source": 651, "target": 501, "value": 2 }, + { "source": 651, "target": 503, "value": 9 }, + { "source": 651, "target": 513, "value": 8 }, + { "source": 651, "target": 525, "value": 8 }, + { "source": 651, "target": 551, "value": 4 }, + { "source": 651, "target": 563, "value": 8 }, + { "source": 651, "target": 573, "value": 9 }, + { "source": 653, "target": 215, "value": 8 }, + { "source": 653, "target": 227, "value": 4 }, + { "source": 653, "target": 228, "value": 8 }, + { "source": 653, "target": 249, "value": 8 }, + { "source": 653, "target": 263, "value": 8 }, + { "source": 653, "target": 278, "value": 8 }, + { "source": 653, "target": 279, "value": 3 }, + { "source": 653, "target": 293, "value": 10 }, + { "source": 653, "target": 303, "value": 1 }, + { "source": 653, "target": 315, "value": 8 }, + { "source": 653, "target": 341, "value": 8 }, + { "source": 653, "target": 353, "value": 1 }, + { "source": 653, "target": 363, "value": 8 }, + { "source": 653, "target": 365, "value": 8 }, + { "source": 653, "target": 377, "value": 4 }, + { "source": 653, "target": 378, "value": 8 }, + { "source": 653, "target": 399, "value": 9 }, + { "source": 653, "target": 401, "value": 8 }, + { "source": 653, "target": 405, "value": 4 }, + { "source": 653, "target": 413, "value": 8 }, + { "source": 653, "target": 428, "value": 8 }, + { "source": 653, "target": 429, "value": 8 }, + { "source": 653, "target": 437, "value": 8 }, + { "source": 653, "target": 441, "value": 8 }, + { "source": 653, "target": 453, "value": 0 }, + { "source": 653, "target": 455, "value": 8 }, + { "source": 653, "target": 461, "value": 8 }, + { "source": 653, "target": 465, "value": 8 }, + { "source": 653, "target": 467, "value": 3 }, + { "source": 653, "target": 501, "value": 8 }, + { "source": 653, "target": 503, "value": 1 }, + { "source": 653, "target": 513, "value": 8 }, + { "source": 653, "target": 515, "value": 8 }, + { "source": 653, "target": 527, "value": 4 }, + { "source": 653, "target": 528, "value": 8 }, + { "source": 653, "target": 531, "value": 8 }, + { "source": 653, "target": 545, "value": 9 }, + { "source": 653, "target": 549, "value": 9 }, + { "source": 653, "target": 563, "value": 8 }, + { "source": 653, "target": 578, "value": 8 }, + { "source": 653, "target": 579, "value": 8 }, + { "source": 653, "target": 603, "value": 1 }, + { "source": 653, "target": 605, "value": 8 }, + { "source": 653, "target": 615, "value": 8 }, + { "source": 653, "target": 641, "value": 8 }, + { "source": 653, "target": 651, "value": 7 }, + { "source": 663, "target": 221, "value": 8 }, + { "source": 663, "target": 261, "value": 9 }, + { "source": 663, "target": 263, "value": 2 }, + { "source": 663, "target": 287, "value": 8 }, + { "source": 663, "target": 309, "value": 4 }, + { "source": 663, "target": 321, "value": 8 }, + { "source": 663, "target": 351, "value": 9 }, + { "source": 663, "target": 363, "value": 2 }, + { "source": 663, "target": 371, "value": 8 }, + { "source": 663, "target": 401, "value": 8 }, + { "source": 663, "target": 405, "value": 8 }, + { "source": 663, "target": 413, "value": 1 }, + { "source": 663, "target": 437, "value": 8 }, + { "source": 663, "target": 453, "value": 9 }, + { "source": 663, "target": 455, "value": 10 }, + { "source": 663, "target": 459, "value": 9 }, + { "source": 663, "target": 461, "value": 4 }, + { "source": 663, "target": 471, "value": 8 }, + { "source": 663, "target": 489, "value": 8 }, + { "source": 663, "target": 497, "value": 4 }, + { "source": 663, "target": 501, "value": 8 }, + { "source": 663, "target": 513, "value": 1 }, + { "source": 663, "target": 521, "value": 9 }, + { "source": 663, "target": 549, "value": 8 }, + { "source": 663, "target": 563, "value": 2 }, + { "source": 663, "target": 587, "value": 8 }, + { "source": 663, "target": 609, "value": 4 }, + { "source": 663, "target": 615, "value": 8 }, + { "source": 663, "target": 621, "value": 8 }, + { "source": 663, "target": 651, "value": 8 }, + { "source": 663, "target": 653, "value": 8 }, + { "source": 665, "target": 215, "value": 4 }, + { "source": 665, "target": 227, "value": 8 }, + { "source": 665, "target": 315, "value": 4 }, + { "source": 665, "target": 317, "value": 10 }, + { "source": 665, "target": 353, "value": 8 }, + { "source": 665, "target": 365, "value": 2 }, + { "source": 665, "target": 377, "value": 8 }, + { "source": 665, "target": 405, "value": 10 }, + { "source": 665, "target": 453, "value": 4 }, + { "source": 665, "target": 461, "value": 8 }, + { "source": 665, "target": 465, "value": 2 }, + { "source": 665, "target": 515, "value": 4 }, + { "source": 665, "target": 527, "value": 8 }, + { "source": 665, "target": 573, "value": 7 }, + { "source": 665, "target": 605, "value": 8 }, + { "source": 665, "target": 615, "value": 3 }, + { "source": 665, "target": 653, "value": 8 }, + { "source": 669, "target": 219, "value": 4 }, + { "source": 669, "target": 221, "value": 5 }, + { "source": 669, "target": 231, "value": 8 }, + { "source": 669, "target": 233, "value": 10 }, + { "source": 669, "target": 245, "value": 8 }, + { "source": 669, "target": 248, "value": 9 }, + { "source": 669, "target": 257, "value": 9 }, + { "source": 669, "target": 273, "value": 5 }, + { "source": 669, "target": 279, "value": 8 }, + { "source": 669, "target": 281, "value": 8 }, + { "source": 669, "target": 309, "value": 10 }, + { "source": 669, "target": 317, "value": 8 }, + { "source": 669, "target": 321, "value": 10 }, + { "source": 669, "target": 323, "value": 11 }, + { "source": 669, "target": 333, "value": 10 }, + { "source": 669, "target": 345, "value": 8 }, + { "source": 669, "target": 348, "value": 9 }, + { "source": 669, "target": 369, "value": 2 }, + { "source": 669, "target": 377, "value": 8 }, + { "source": 669, "target": 381, "value": 8 }, + { "source": 669, "target": 383, "value": 9 }, + { "source": 669, "target": 395, "value": 8 }, + { "source": 669, "target": 398, "value": 9 }, + { "source": 669, "target": 423, "value": 10 }, + { "source": 669, "target": 429, "value": 8 }, + { "source": 669, "target": 431, "value": 8 }, + { "source": 669, "target": 473, "value": 10 }, + { "source": 669, "target": 483, "value": 9 }, + { "source": 669, "target": 495, "value": 8 }, + { "source": 669, "target": 498, "value": 8 }, + { "source": 669, "target": 519, "value": 2 }, + { "source": 669, "target": 531, "value": 8 }, + { "source": 669, "target": 533, "value": 8 }, + { "source": 669, "target": 545, "value": 8 }, + { "source": 669, "target": 548, "value": 8 }, + { "source": 669, "target": 557, "value": 8 }, + { "source": 669, "target": 573, "value": 9 }, + { "source": 669, "target": 579, "value": 8 }, + { "source": 669, "target": 581, "value": 8 }, + { "source": 669, "target": 611, "value": 9 }, + { "source": 669, "target": 615, "value": 7 }, + { "source": 669, "target": 617, "value": 7 }, + { "source": 669, "target": 621, "value": 8 }, + { "source": 669, "target": 623, "value": 9 }, + { "source": 669, "target": 633, "value": 8 }, + { "source": 669, "target": 645, "value": 8 }, + { "source": 669, "target": 648, "value": 7 }, + { "source": 671, "target": 219, "value": 8 }, + { "source": 671, "target": 221, "value": 4 }, + { "source": 671, "target": 225, "value": 8 }, + { "source": 671, "target": 228, "value": 8 }, + { "source": 671, "target": 261, "value": 10 }, + { "source": 671, "target": 275, "value": 8 }, + { "source": 671, "target": 278, "value": 8 }, + { "source": 671, "target": 293, "value": 12 }, + { "source": 671, "target": 309, "value": 8 }, + { "source": 671, "target": 321, "value": 2 }, + { "source": 671, "target": 365, "value": 10 }, + { "source": 671, "target": 369, "value": 8 }, + { "source": 671, "target": 371, "value": 4 }, + { "source": 671, "target": 375, "value": 8 }, + { "source": 671, "target": 378, "value": 8 }, + { "source": 671, "target": 413, "value": 8 }, + { "source": 671, "target": 425, "value": 8 }, + { "source": 671, "target": 428, "value": 8 }, + { "source": 671, "target": 461, "value": 9 }, + { "source": 671, "target": 471, "value": 4 }, + { "source": 671, "target": 513, "value": 8 }, + { "source": 671, "target": 519, "value": 8 }, + { "source": 671, "target": 521, "value": 4 }, + { "source": 671, "target": 525, "value": 8 }, + { "source": 671, "target": 528, "value": 8 }, + { "source": 671, "target": 563, "value": 9 }, + { "source": 671, "target": 573, "value": 9 }, + { "source": 671, "target": 575, "value": 7 }, + { "source": 671, "target": 578, "value": 8 }, + { "source": 671, "target": 609, "value": 7 }, + { "source": 671, "target": 621, "value": 3 }, + { "source": 671, "target": 663, "value": 8 }, + { "source": 671, "target": 669, "value": 7 }, + { "source": 675, "target": 225, "value": 4 }, + { "source": 675, "target": 228, "value": 8 }, + { "source": 675, "target": 275, "value": 4 }, + { "source": 675, "target": 278, "value": 8 }, + { "source": 675, "target": 321, "value": 8 }, + { "source": 675, "target": 365, "value": 10 }, + { "source": 675, "target": 375, "value": 4 }, + { "source": 675, "target": 377, "value": 10 }, + { "source": 675, "target": 378, "value": 8 }, + { "source": 675, "target": 413, "value": 8 }, + { "source": 675, "target": 425, "value": 4 }, + { "source": 675, "target": 428, "value": 8 }, + { "source": 675, "target": 513, "value": 8 }, + { "source": 675, "target": 525, "value": 4 }, + { "source": 675, "target": 528, "value": 8 }, + { "source": 675, "target": 563, "value": 8 }, + { "source": 675, "target": 575, "value": 3 }, + { "source": 675, "target": 578, "value": 8 }, + { "source": 675, "target": 587, "value": 3 }, + { "source": 675, "target": 671, "value": 7 }, + { "source": 677, "target": 225, "value": 8 }, + { "source": 677, "target": 227, "value": 4 }, + { "source": 677, "target": 243, "value": 11 }, + { "source": 677, "target": 279, "value": 10 }, + { "source": 677, "target": 287, "value": 8 }, + { "source": 677, "target": 293, "value": 11 }, + { "source": 677, "target": 303, "value": 9 }, + { "source": 677, "target": 317, "value": 10 }, + { "source": 677, "target": 335, "value": 8 }, + { "source": 677, "target": 339, "value": 8 }, + { "source": 677, "target": 353, "value": 4 }, + { "source": 677, "target": 365, "value": 4 }, + { "source": 677, "target": 377, "value": 2 }, + { "source": 677, "target": 393, "value": 10 }, + { "source": 677, "target": 425, "value": 8 }, + { "source": 677, "target": 429, "value": 4 }, + { "source": 677, "target": 437, "value": 8 }, + { "source": 677, "target": 443, "value": 10 }, + { "source": 677, "target": 453, "value": 4 }, + { "source": 677, "target": 465, "value": 8 }, + { "source": 677, "target": 489, "value": 8 }, + { "source": 677, "target": 503, "value": 9 }, + { "source": 677, "target": 525, "value": 8 }, + { "source": 677, "target": 527, "value": 4 }, + { "source": 677, "target": 543, "value": 9 }, + { "source": 677, "target": 573, "value": 8 }, + { "source": 677, "target": 575, "value": 3 }, + { "source": 677, "target": 587, "value": 8 }, + { "source": 677, "target": 593, "value": 9 }, + { "source": 677, "target": 603, "value": 8 }, + { "source": 677, "target": 639, "value": 8 }, + { "source": 677, "target": 645, "value": 3 }, + { "source": 677, "target": 653, "value": 4 }, + { "source": 677, "target": 665, "value": 8 }, + { "source": 678, "target": 225, "value": 8 }, + { "source": 678, "target": 228, "value": 4 }, + { "source": 678, "target": 249, "value": 8 }, + { "source": 678, "target": 261, "value": 8 }, + { "source": 678, "target": 273, "value": 8 }, + { "source": 678, "target": 275, "value": 8 }, + { "source": 678, "target": 278, "value": 4 }, + { "source": 678, "target": 303, "value": 10 }, + { "source": 678, "target": 321, "value": 8 }, + { "source": 678, "target": 323, "value": 8 }, + { "source": 678, "target": 353, "value": 10 }, + { "source": 678, "target": 365, "value": 10 }, + { "source": 678, "target": 375, "value": 8 }, + { "source": 678, "target": 378, "value": 4 }, + { "source": 678, "target": 399, "value": 8 }, + { "source": 678, "target": 413, "value": 4 }, + { "source": 678, "target": 423, "value": 8 }, + { "source": 678, "target": 425, "value": 8 }, + { "source": 678, "target": 428, "value": 4 }, + { "source": 678, "target": 437, "value": 8 }, + { "source": 678, "target": 453, "value": 9 }, + { "source": 678, "target": 461, "value": 8 }, + { "source": 678, "target": 473, "value": 8 }, + { "source": 678, "target": 503, "value": 9 }, + { "source": 678, "target": 513, "value": 8 }, + { "source": 678, "target": 525, "value": 8 }, + { "source": 678, "target": 528, "value": 4 }, + { "source": 678, "target": 545, "value": 8 }, + { "source": 678, "target": 549, "value": 8 }, + { "source": 678, "target": 561, "value": 8 }, + { "source": 678, "target": 563, "value": 9 }, + { "source": 678, "target": 573, "value": 8 }, + { "source": 678, "target": 575, "value": 8 }, + { "source": 678, "target": 578, "value": 4 }, + { "source": 678, "target": 603, "value": 8 }, + { "source": 678, "target": 623, "value": 8 }, + { "source": 678, "target": 653, "value": 8 }, + { "source": 678, "target": 671, "value": 7 }, + { "source": 678, "target": 675, "value": 8 }, + { "source": 681, "target": 221, "value": 11 }, + { "source": 681, "target": 231, "value": 4 }, + { "source": 681, "target": 243, "value": 8 }, + { "source": 681, "target": 273, "value": 11 }, + { "source": 681, "target": 281, "value": 2 }, + { "source": 681, "target": 293, "value": 8 }, + { "source": 681, "target": 333, "value": 10 }, + { "source": 681, "target": 369, "value": 8 }, + { "source": 681, "target": 377, "value": 8 }, + { "source": 681, "target": 381, "value": 2 }, + { "source": 681, "target": 393, "value": 8 }, + { "source": 681, "target": 398, "value": 9 }, + { "source": 681, "target": 431, "value": 2 }, + { "source": 681, "target": 443, "value": 8 }, + { "source": 681, "target": 489, "value": 8 }, + { "source": 681, "target": 519, "value": 9 }, + { "source": 681, "target": 531, "value": 4 }, + { "source": 681, "target": 533, "value": 9 }, + { "source": 681, "target": 543, "value": 8 }, + { "source": 681, "target": 551, "value": 3 }, + { "source": 681, "target": 581, "value": 2 }, + { "source": 681, "target": 585, "value": 9 }, + { "source": 681, "target": 593, "value": 8 }, + { "source": 681, "target": 605, "value": 8 }, + { "source": 681, "target": 621, "value": 2 }, + { "source": 681, "target": 669, "value": 8 }, + { "source": 683, "target": 221, "value": 4 }, + { "source": 683, "target": 233, "value": 1 }, + { "source": 683, "target": 257, "value": 8 }, + { "source": 683, "target": 279, "value": 4 }, + { "source": 683, "target": 317, "value": 8 }, + { "source": 683, "target": 321, "value": 4 }, + { "source": 683, "target": 333, "value": 1 }, + { "source": 683, "target": 335, "value": 10 }, + { "source": 683, "target": 381, "value": 8 }, + { "source": 683, "target": 383, "value": 2 }, + { "source": 683, "target": 405, "value": 11 }, + { "source": 683, "target": 407, "value": 8 }, + { "source": 683, "target": 429, "value": 9 }, + { "source": 683, "target": 483, "value": 2 }, + { "source": 683, "target": 521, "value": 8 }, + { "source": 683, "target": 533, "value": 1 }, + { "source": 683, "target": 557, "value": 4 }, + { "source": 683, "target": 573, "value": 9 }, + { "source": 683, "target": 579, "value": 9 }, + { "source": 683, "target": 617, "value": 8 }, + { "source": 683, "target": 621, "value": 7 }, + { "source": 683, "target": 633, "value": 1 }, + { "source": 683, "target": 669, "value": 8 }, + { "source": 693, "target": 243, "value": 1 }, + { "source": 693, "target": 245, "value": 10 }, + { "source": 693, "target": 251, "value": 8 }, + { "source": 693, "target": 255, "value": 8 }, + { "source": 693, "target": 281, "value": 9 }, + { "source": 693, "target": 293, "value": 0 }, + { "source": 693, "target": 303, "value": 8 }, + { "source": 693, "target": 305, "value": 8 }, + { "source": 693, "target": 317, "value": 2 }, + { "source": 693, "target": 333, "value": 10 }, + { "source": 693, "target": 335, "value": 8 }, + { "source": 693, "target": 339, "value": 8 }, + { "source": 693, "target": 341, "value": 8 }, + { "source": 693, "target": 353, "value": 8 }, + { "source": 693, "target": 377, "value": 8 }, + { "source": 693, "target": 381, "value": 8 }, + { "source": 693, "target": 393, "value": 1 }, + { "source": 693, "target": 398, "value": 9 }, + { "source": 693, "target": 405, "value": 8 }, + { "source": 693, "target": 429, "value": 8 }, + { "source": 693, "target": 431, "value": 9 }, + { "source": 693, "target": 441, "value": 8 }, + { "source": 693, "target": 443, "value": 1 }, + { "source": 693, "target": 453, "value": 8 }, + { "source": 693, "target": 455, "value": 8 }, + { "source": 693, "target": 467, "value": 4 }, + { "source": 693, "target": 489, "value": 2 }, + { "source": 693, "target": 503, "value": 8 }, + { "source": 693, "target": 521, "value": 3 }, + { "source": 693, "target": 533, "value": 9 }, + { "source": 693, "target": 543, "value": 1 }, + { "source": 693, "target": 545, "value": 9 }, + { "source": 693, "target": 555, "value": 8 }, + { "source": 693, "target": 581, "value": 8 }, + { "source": 693, "target": 585, "value": 9 }, + { "source": 693, "target": 591, "value": 3 }, + { "source": 693, "target": 593, "value": 1 }, + { "source": 693, "target": 603, "value": 8 }, + { "source": 693, "target": 605, "value": 8 }, + { "source": 693, "target": 617, "value": 4 }, + { "source": 693, "target": 639, "value": 8 }, + { "source": 693, "target": 641, "value": 7 }, + { "source": 693, "target": 645, "value": 8 }, + { "source": 693, "target": 653, "value": 8 }, + { "source": 693, "target": 677, "value": 8 }, + { "source": 693, "target": 681, "value": 8 }, + { "source": 695, "target": 233, "value": 4 }, + { "source": 695, "target": 245, "value": 2 }, + { "source": 695, "target": 248, "value": 8 }, + { "source": 695, "target": 257, "value": 8 }, + { "source": 695, "target": 285, "value": 10 }, + { "source": 695, "target": 333, "value": 8 }, + { "source": 695, "target": 345, "value": 2 }, + { "source": 695, "target": 348, "value": 8 }, + { "source": 695, "target": 395, "value": 4 }, + { "source": 695, "target": 398, "value": 8 }, + { "source": 695, "target": 407, "value": 8 }, + { "source": 695, "target": 485, "value": 9 }, + { "source": 695, "target": 495, "value": 4 }, + { "source": 695, "target": 498, "value": 8 }, + { "source": 695, "target": 503, "value": 8 }, + { "source": 695, "target": 533, "value": 8 }, + { "source": 695, "target": 545, "value": 2 }, + { "source": 695, "target": 548, "value": 8 }, + { "source": 695, "target": 557, "value": 8 }, + { "source": 695, "target": 579, "value": 3 }, + { "source": 695, "target": 633, "value": 7 }, + { "source": 695, "target": 645, "value": 2 }, + { "source": 695, "target": 648, "value": 8 }, + { "source": 695, "target": 669, "value": 8 }, + { "source": 698, "target": 219, "value": 8 }, + { "source": 698, "target": 233, "value": 4 }, + { "source": 698, "target": 245, "value": 8 }, + { "source": 698, "target": 248, "value": 4 }, + { "source": 698, "target": 257, "value": 8 }, + { "source": 698, "target": 273, "value": 11 }, + { "source": 698, "target": 285, "value": 11 }, + { "source": 698, "target": 309, "value": 10 }, + { "source": 698, "target": 323, "value": 10 }, + { "source": 698, "target": 333, "value": 9 }, + { "source": 698, "target": 345, "value": 8 }, + { "source": 698, "target": 348, "value": 4 }, + { "source": 698, "target": 369, "value": 8 }, + { "source": 698, "target": 395, "value": 8 }, + { "source": 698, "target": 398, "value": 4 }, + { "source": 698, "target": 423, "value": 10 }, + { "source": 698, "target": 473, "value": 9 }, + { "source": 698, "target": 485, "value": 10 }, + { "source": 698, "target": 495, "value": 8 }, + { "source": 698, "target": 498, "value": 4 }, + { "source": 698, "target": 519, "value": 8 }, + { "source": 698, "target": 533, "value": 8 }, + { "source": 698, "target": 545, "value": 8 }, + { "source": 698, "target": 548, "value": 4 }, + { "source": 698, "target": 557, "value": 8 }, + { "source": 698, "target": 573, "value": 9 }, + { "source": 698, "target": 611, "value": 8 }, + { "source": 698, "target": 615, "value": 8 }, + { "source": 698, "target": 623, "value": 8 }, + { "source": 698, "target": 633, "value": 8 }, + { "source": 698, "target": 645, "value": 7 }, + { "source": 698, "target": 648, "value": 3 }, + { "source": 698, "target": 669, "value": 8 }, + { "source": 698, "target": 695, "value": 8 }, + { "source": 699, "target": 221, "value": 8 }, + { "source": 699, "target": 228, "value": 9 }, + { "source": 699, "target": 249, "value": 4 }, + { "source": 699, "target": 251, "value": 10 }, + { "source": 699, "target": 273, "value": 4 }, + { "source": 699, "target": 278, "value": 9 }, + { "source": 699, "target": 293, "value": 10 }, + { "source": 699, "target": 303, "value": 4 }, + { "source": 699, "target": 321, "value": 11 }, + { "source": 699, "target": 323, "value": 8 }, + { "source": 699, "target": 341, "value": 8 }, + { "source": 699, "target": 347, "value": 8 }, + { "source": 699, "target": 353, "value": 4 }, + { "source": 699, "target": 378, "value": 9 }, + { "source": 699, "target": 399, "value": 4 }, + { "source": 699, "target": 423, "value": 8 }, + { "source": 699, "target": 428, "value": 9 }, + { "source": 699, "target": 437, "value": 8 }, + { "source": 699, "target": 441, "value": 8 }, + { "source": 699, "target": 453, "value": 4 }, + { "source": 699, "target": 473, "value": 4 }, + { "source": 699, "target": 497, "value": 8 }, + { "source": 699, "target": 503, "value": 4 }, + { "source": 699, "target": 528, "value": 8 }, + { "source": 699, "target": 545, "value": 8 }, + { "source": 699, "target": 549, "value": 4 }, + { "source": 699, "target": 555, "value": 3 }, + { "source": 699, "target": 573, "value": 2 }, + { "source": 699, "target": 578, "value": 8 }, + { "source": 699, "target": 603, "value": 4 }, + { "source": 699, "target": 621, "value": 8 }, + { "source": 699, "target": 623, "value": 8 }, + { "source": 699, "target": 641, "value": 8 }, + { "source": 699, "target": 647, "value": 8 }, + { "source": 699, "target": 653, "value": 4 }, + { "source": 699, "target": 678, "value": 7 }, + { "source": 699, "target": 693, "value": 8 }, + { "source": 699, "target": 695, "value": 3 }, + { "source": 701, "target": 227, "value": 8 }, + { "source": 701, "target": 249, "value": 8 }, + { "source": 701, "target": 251, "value": 4 }, + { "source": 701, "target": 261, "value": 8 }, + { "source": 701, "target": 263, "value": 8 }, + { "source": 701, "target": 279, "value": 10 }, + { "source": 701, "target": 303, "value": 9 }, + { "source": 701, "target": 311, "value": 8 }, + { "source": 701, "target": 341, "value": 10 }, + { "source": 701, "target": 351, "value": 4 }, + { "source": 701, "target": 353, "value": 4 }, + { "source": 701, "target": 363, "value": 8 }, + { "source": 701, "target": 377, "value": 8 }, + { "source": 701, "target": 401, "value": 2 }, + { "source": 701, "target": 411, "value": 8 }, + { "source": 701, "target": 413, "value": 8 }, + { "source": 701, "target": 453, "value": 3 }, + { "source": 701, "target": 455, "value": 9 }, + { "source": 701, "target": 461, "value": 8 }, + { "source": 701, "target": 489, "value": 8 }, + { "source": 701, "target": 501, "value": 2 }, + { "source": 701, "target": 503, "value": 4 }, + { "source": 701, "target": 513, "value": 8 }, + { "source": 701, "target": 525, "value": 8 }, + { "source": 701, "target": 527, "value": 8 }, + { "source": 701, "target": 543, "value": 3 }, + { "source": 701, "target": 549, "value": 8 }, + { "source": 701, "target": 551, "value": 4 }, + { "source": 701, "target": 561, "value": 8 }, + { "source": 701, "target": 563, "value": 8 }, + { "source": 701, "target": 573, "value": 10 }, + { "source": 701, "target": 603, "value": 8 }, + { "source": 701, "target": 611, "value": 8 }, + { "source": 701, "target": 651, "value": 2 }, + { "source": 701, "target": 653, "value": 2 }, + { "source": 701, "target": 663, "value": 8 }, + { "source": 701, "target": 677, "value": 8 }, + { "source": 701, "target": 683, "value": 3 }, + { "source": 705, "target": 245, "value": 11 }, + { "source": 705, "target": 251, "value": 8 }, + { "source": 705, "target": 255, "value": 2 }, + { "source": 705, "target": 293, "value": 9 }, + { "source": 705, "target": 305, "value": 2 }, + { "source": 705, "target": 317, "value": 8 }, + { "source": 705, "target": 363, "value": 8 }, + { "source": 705, "target": 377, "value": 11 }, + { "source": 705, "target": 393, "value": 8 }, + { "source": 705, "target": 405, "value": 2 }, + { "source": 705, "target": 429, "value": 8 }, + { "source": 705, "target": 455, "value": 4 }, + { "source": 705, "target": 467, "value": 8 }, + { "source": 705, "target": 555, "value": 4 }, + { "source": 705, "target": 557, "value": 9 }, + { "source": 705, "target": 593, "value": 8 }, + { "source": 705, "target": 605, "value": 2 }, + { "source": 705, "target": 617, "value": 8 }, + { "source": 705, "target": 645, "value": 8 }, + { "source": 705, "target": 693, "value": 8 }, + { "source": 707, "target": 233, "value": 4 }, + { "source": 707, "target": 245, "value": 9 }, + { "source": 707, "target": 257, "value": 4 }, + { "source": 707, "target": 333, "value": 4 }, + { "source": 707, "target": 345, "value": 8 }, + { "source": 707, "target": 381, "value": 8 }, + { "source": 707, "target": 383, "value": 9 }, + { "source": 707, "target": 407, "value": 4 }, + { "source": 707, "target": 483, "value": 9 }, + { "source": 707, "target": 503, "value": 8 }, + { "source": 707, "target": 533, "value": 4 }, + { "source": 707, "target": 545, "value": 8 }, + { "source": 707, "target": 557, "value": 4 }, + { "source": 707, "target": 633, "value": 4 }, + { "source": 707, "target": 645, "value": 7 }, + { "source": 707, "target": 683, "value": 8 }, + { "source": 707, "target": 695, "value": 8 }, + { "source": 711, "target": 249, "value": 9 }, + { "source": 711, "target": 261, "value": 4 }, + { "source": 711, "target": 285, "value": 8 }, + { "source": 711, "target": 311, "value": 4 }, + { "source": 711, "target": 363, "value": 10 }, + { "source": 711, "target": 411, "value": 4 }, + { "source": 711, "target": 461, "value": 4 }, + { "source": 711, "target": 501, "value": 9 }, + { "source": 711, "target": 549, "value": 8 }, + { "source": 711, "target": 561, "value": 4 }, + { "source": 711, "target": 611, "value": 4 }, + { "source": 711, "target": 701, "value": 8 }, + { "source": 713, "target": 225, "value": 8 }, + { "source": 713, "target": 228, "value": 8 }, + { "source": 713, "target": 255, "value": 10 }, + { "source": 713, "target": 261, "value": 8 }, + { "source": 713, "target": 263, "value": 1 }, + { "source": 713, "target": 275, "value": 8 }, + { "source": 713, "target": 278, "value": 8 }, + { "source": 713, "target": 285, "value": 8 }, + { "source": 713, "target": 287, "value": 4 }, + { "source": 713, "target": 291, "value": 9 }, + { "source": 713, "target": 293, "value": 8 }, + { "source": 713, "target": 305, "value": 8 }, + { "source": 713, "target": 309, "value": 8 }, + { "source": 713, "target": 311, "value": 8 }, + { "source": 713, "target": 317, "value": 8 }, + { "source": 713, "target": 321, "value": 8 }, + { "source": 713, "target": 341, "value": 9 }, + { "source": 713, "target": 351, "value": 9 }, + { "source": 713, "target": 363, "value": 1 }, + { "source": 713, "target": 365, "value": 4 }, + { "source": 713, "target": 375, "value": 8 }, + { "source": 713, "target": 378, "value": 8 }, + { "source": 713, "target": 401, "value": 8 }, + { "source": 713, "target": 405, "value": 4 }, + { "source": 713, "target": 411, "value": 8 }, + { "source": 713, "target": 413, "value": 1 }, + { "source": 713, "target": 425, "value": 8 }, + { "source": 713, "target": 428, "value": 8 }, + { "source": 713, "target": 437, "value": 4 }, + { "source": 713, "target": 441, "value": 9 }, + { "source": 713, "target": 453, "value": 9 }, + { "source": 713, "target": 455, "value": 10 }, + { "source": 713, "target": 459, "value": 8 }, + { "source": 713, "target": 461, "value": 2 }, + { "source": 713, "target": 467, "value": 8 }, + { "source": 713, "target": 489, "value": 4 }, + { "source": 713, "target": 491, "value": 9 }, + { "source": 713, "target": 497, "value": 4 }, + { "source": 713, "target": 501, "value": 8 }, + { "source": 713, "target": 513, "value": 0 }, + { "source": 713, "target": 525, "value": 8 }, + { "source": 713, "target": 528, "value": 8 }, + { "source": 713, "target": 549, "value": 8 }, + { "source": 713, "target": 557, "value": 9 }, + { "source": 713, "target": 561, "value": 8 }, + { "source": 713, "target": 563, "value": 1 }, + { "source": 713, "target": 575, "value": 8 }, + { "source": 713, "target": 578, "value": 8 }, + { "source": 713, "target": 587, "value": 4 }, + { "source": 713, "target": 591, "value": 9 }, + { "source": 713, "target": 605, "value": 8 }, + { "source": 713, "target": 609, "value": 9 }, + { "source": 713, "target": 611, "value": 8 }, + { "source": 713, "target": 615, "value": 9 }, + { "source": 713, "target": 617, "value": 8 }, + { "source": 713, "target": 641, "value": 9 }, + { "source": 713, "target": 651, "value": 8 }, + { "source": 713, "target": 653, "value": 2 }, + { "source": 713, "target": 663, "value": 1 }, + { "source": 713, "target": 671, "value": 7 }, + { "source": 713, "target": 675, "value": 8 }, + { "source": 713, "target": 678, "value": 8 }, + { "source": 713, "target": 701, "value": 8 }, + { "source": 713, "target": 705, "value": 7 }, + { "source": 713, "target": 711, "value": 7 }, + { "source": 723, "target": 219, "value": 8 }, + { "source": 723, "target": 221, "value": 8 }, + { "source": 723, "target": 248, "value": 8 }, + { "source": 723, "target": 257, "value": 8 }, + { "source": 723, "target": 261, "value": 9 }, + { "source": 723, "target": 273, "value": 1 }, + { "source": 723, "target": 309, "value": 9 }, + { "source": 723, "target": 323, "value": 2 }, + { "source": 723, "target": 347, "value": 8 }, + { "source": 723, "target": 348, "value": 8 }, + { "source": 723, "target": 369, "value": 8 }, + { "source": 723, "target": 398, "value": 8 }, + { "source": 723, "target": 413, "value": 10 }, + { "source": 723, "target": 423, "value": 2 }, + { "source": 723, "target": 461, "value": 8 }, + { "source": 723, "target": 473, "value": 1 }, + { "source": 723, "target": 497, "value": 8 }, + { "source": 723, "target": 498, "value": 8 }, + { "source": 723, "target": 519, "value": 8 }, + { "source": 723, "target": 545, "value": 10 }, + { "source": 723, "target": 548, "value": 8 }, + { "source": 723, "target": 557, "value": 8 }, + { "source": 723, "target": 561, "value": 8 }, + { "source": 723, "target": 573, "value": 1 }, + { "source": 723, "target": 611, "value": 8 }, + { "source": 723, "target": 615, "value": 8 }, + { "source": 723, "target": 621, "value": 8 }, + { "source": 723, "target": 623, "value": 2 }, + { "source": 723, "target": 647, "value": 8 }, + { "source": 723, "target": 648, "value": 8 }, + { "source": 723, "target": 669, "value": 8 }, + { "source": 723, "target": 678, "value": 8 }, + { "source": 723, "target": 698, "value": 8 }, + { "source": 723, "target": 699, "value": 8 }, + { "source": 725, "target": 225, "value": 2 }, + { "source": 725, "target": 228, "value": 8 }, + { "source": 725, "target": 273, "value": 8 }, + { "source": 725, "target": 275, "value": 4 }, + { "source": 725, "target": 278, "value": 8 }, + { "source": 725, "target": 285, "value": 8 }, + { "source": 725, "target": 287, "value": 8 }, + { "source": 725, "target": 321, "value": 8 }, + { "source": 725, "target": 335, "value": 8 }, + { "source": 725, "target": 365, "value": 10 }, + { "source": 725, "target": 375, "value": 4 }, + { "source": 725, "target": 377, "value": 4 }, + { "source": 725, "target": 378, "value": 8 }, + { "source": 725, "target": 413, "value": 8 }, + { "source": 725, "target": 425, "value": 2 }, + { "source": 725, "target": 428, "value": 8 }, + { "source": 725, "target": 429, "value": 10 }, + { "source": 725, "target": 435, "value": 8 }, + { "source": 725, "target": 437, "value": 8 }, + { "source": 725, "target": 473, "value": 8 }, + { "source": 725, "target": 485, "value": 8 }, + { "source": 725, "target": 513, "value": 8 }, + { "source": 725, "target": 525, "value": 2 }, + { "source": 725, "target": 528, "value": 8 }, + { "source": 725, "target": 531, "value": 8 }, + { "source": 725, "target": 563, "value": 9 }, + { "source": 725, "target": 573, "value": 8 }, + { "source": 725, "target": 575, "value": 4 }, + { "source": 725, "target": 578, "value": 8 }, + { "source": 725, "target": 585, "value": 8 }, + { "source": 725, "target": 587, "value": 8 }, + { "source": 725, "target": 635, "value": 8 }, + { "source": 725, "target": 671, "value": 7 }, + { "source": 725, "target": 675, "value": 3 }, + { "source": 725, "target": 677, "value": 8 }, + { "source": 725, "target": 678, "value": 7 }, + { "source": 725, "target": 713, "value": 8 }, + { "source": 728, "target": 225, "value": 8 }, + { "source": 728, "target": 228, "value": 4 }, + { "source": 728, "target": 249, "value": 8 }, + { "source": 728, "target": 275, "value": 8 }, + { "source": 728, "target": 278, "value": 4 }, + { "source": 728, "target": 303, "value": 11 }, + { "source": 728, "target": 321, "value": 8 }, + { "source": 728, "target": 353, "value": 10 }, + { "source": 728, "target": 365, "value": 10 }, + { "source": 728, "target": 375, "value": 8 }, + { "source": 728, "target": 378, "value": 4 }, + { "source": 728, "target": 399, "value": 8 }, + { "source": 728, "target": 413, "value": 8 }, + { "source": 728, "target": 425, "value": 8 }, + { "source": 728, "target": 428, "value": 4 }, + { "source": 728, "target": 437, "value": 8 }, + { "source": 728, "target": 453, "value": 10 }, + { "source": 728, "target": 503, "value": 9 }, + { "source": 728, "target": 513, "value": 8 }, + { "source": 728, "target": 525, "value": 8 }, + { "source": 728, "target": 528, "value": 4 }, + { "source": 728, "target": 545, "value": 8 }, + { "source": 728, "target": 549, "value": 8 }, + { "source": 728, "target": 563, "value": 9 }, + { "source": 728, "target": 575, "value": 8 }, + { "source": 728, "target": 578, "value": 4 }, + { "source": 728, "target": 603, "value": 9 }, + { "source": 728, "target": 653, "value": 8 }, + { "source": 728, "target": 671, "value": 8 }, + { "source": 728, "target": 675, "value": 7 }, + { "source": 728, "target": 678, "value": 3 }, + { "source": 728, "target": 699, "value": 8 }, + { "source": 728, "target": 713, "value": 8 }, + { "source": 728, "target": 725, "value": 8 }, + { "source": 729, "target": 221, "value": 11 }, + { "source": 729, "target": 233, "value": 12 }, + { "source": 729, "target": 279, "value": 4 }, + { "source": 729, "target": 291, "value": 8 }, + { "source": 729, "target": 317, "value": 9 }, + { "source": 729, "target": 333, "value": 11 }, + { "source": 729, "target": 341, "value": 8 }, + { "source": 729, "target": 381, "value": 9 }, + { "source": 729, "target": 383, "value": 11 }, + { "source": 729, "target": 429, "value": 2 }, + { "source": 729, "target": 441, "value": 8 }, + { "source": 729, "target": 483, "value": 10 }, + { "source": 729, "target": 491, "value": 8 }, + { "source": 729, "target": 531, "value": 9 }, + { "source": 729, "target": 533, "value": 4 }, + { "source": 729, "target": 579, "value": 4 }, + { "source": 729, "target": 581, "value": 9 }, + { "source": 729, "target": 587, "value": 8 }, + { "source": 729, "target": 591, "value": 8 }, + { "source": 729, "target": 617, "value": 8 }, + { "source": 729, "target": 633, "value": 9 }, + { "source": 729, "target": 641, "value": 8 }, + { "source": 729, "target": 653, "value": 8 }, + { "source": 729, "target": 669, "value": 8 }, + { "source": 729, "target": 683, "value": 9 }, + { "source": 731, "target": 221, "value": 11 }, + { "source": 731, "target": 231, "value": 4 }, + { "source": 731, "target": 273, "value": 11 }, + { "source": 731, "target": 281, "value": 4 }, + { "source": 731, "target": 369, "value": 8 }, + { "source": 731, "target": 377, "value": 8 }, + { "source": 731, "target": 381, "value": 4 }, + { "source": 731, "target": 431, "value": 4 }, + { "source": 731, "target": 519, "value": 9 }, + { "source": 731, "target": 531, "value": 4 }, + { "source": 731, "target": 581, "value": 4 }, + { "source": 731, "target": 605, "value": 8 }, + { "source": 731, "target": 621, "value": 8 }, + { "source": 731, "target": 669, "value": 7 }, + { "source": 731, "target": 681, "value": 3 }, + { "source": 735, "target": 273, "value": 9 }, + { "source": 735, "target": 285, "value": 4 }, + { "source": 735, "target": 335, "value": 4 }, + { "source": 735, "target": 377, "value": 10 }, + { "source": 735, "target": 435, "value": 4 }, + { "source": 735, "target": 473, "value": 8 }, + { "source": 735, "target": 485, "value": 4 }, + { "source": 735, "target": 525, "value": 9 }, + { "source": 735, "target": 531, "value": 8 }, + { "source": 735, "target": 563, "value": 3 }, + { "source": 735, "target": 573, "value": 8 }, + { "source": 735, "target": 585, "value": 4 }, + { "source": 735, "target": 587, "value": 9 }, + { "source": 735, "target": 633, "value": 3 }, + { "source": 735, "target": 635, "value": 4 }, + { "source": 735, "target": 725, "value": 8 }, + { "source": 737, "target": 225, "value": 9 }, + { "source": 737, "target": 228, "value": 9 }, + { "source": 737, "target": 249, "value": 8 }, + { "source": 737, "target": 263, "value": 9 }, + { "source": 737, "target": 278, "value": 9 }, + { "source": 737, "target": 287, "value": 4 }, + { "source": 737, "target": 303, "value": 11 }, + { "source": 737, "target": 353, "value": 11 }, + { "source": 737, "target": 363, "value": 9 }, + { "source": 737, "target": 378, "value": 8 }, + { "source": 737, "target": 399, "value": 8 }, + { "source": 737, "target": 413, "value": 4 }, + { "source": 737, "target": 425, "value": 8 }, + { "source": 737, "target": 428, "value": 8 }, + { "source": 737, "target": 429, "value": 10 }, + { "source": 737, "target": 437, "value": 2 }, + { "source": 737, "target": 453, "value": 10 }, + { "source": 737, "target": 461, "value": 8 }, + { "source": 737, "target": 489, "value": 9 }, + { "source": 737, "target": 503, "value": 10 }, + { "source": 737, "target": 513, "value": 4 }, + { "source": 737, "target": 525, "value": 8 }, + { "source": 737, "target": 528, "value": 8 }, + { "source": 737, "target": 545, "value": 8 }, + { "source": 737, "target": 549, "value": 8 }, + { "source": 737, "target": 551, "value": 3 }, + { "source": 737, "target": 563, "value": 8 }, + { "source": 737, "target": 578, "value": 8 }, + { "source": 737, "target": 587, "value": 4 }, + { "source": 737, "target": 603, "value": 9 }, + { "source": 737, "target": 621, "value": 3 }, + { "source": 737, "target": 653, "value": 8 }, + { "source": 737, "target": 663, "value": 8 }, + { "source": 737, "target": 677, "value": 8 }, + { "source": 737, "target": 678, "value": 7 }, + { "source": 737, "target": 699, "value": 8 }, + { "source": 737, "target": 713, "value": 4 }, + { "source": 737, "target": 725, "value": 7 }, + { "source": 737, "target": 728, "value": 7 }, + { "source": 741, "target": 219, "value": 8 }, + { "source": 741, "target": 228, "value": 8 }, + { "source": 741, "target": 233, "value": 4 }, + { "source": 741, "target": 245, "value": 8 }, + { "source": 741, "target": 248, "value": 8 }, + { "source": 741, "target": 249, "value": 8 }, + { "source": 741, "target": 251, "value": 8 }, + { "source": 741, "target": 278, "value": 8 }, + { "source": 741, "target": 285, "value": 10 }, + { "source": 741, "target": 291, "value": 4 }, + { "source": 741, "target": 293, "value": 5 }, + { "source": 741, "target": 303, "value": 4 }, + { "source": 741, "target": 321, "value": 9 }, + { "source": 741, "target": 333, "value": 8 }, + { "source": 741, "target": 339, "value": 8 }, + { "source": 741, "target": 341, "value": 2 }, + { "source": 741, "target": 345, "value": 8 }, + { "source": 741, "target": 348, "value": 8 }, + { "source": 741, "target": 351, "value": 8 }, + { "source": 741, "target": 353, "value": 4 }, + { "source": 741, "target": 365, "value": 8 }, + { "source": 741, "target": 369, "value": 8 }, + { "source": 741, "target": 378, "value": 8 }, + { "source": 741, "target": 381, "value": 10 }, + { "source": 741, "target": 395, "value": 8 }, + { "source": 741, "target": 398, "value": 8 }, + { "source": 741, "target": 399, "value": 8 }, + { "source": 741, "target": 401, "value": 8 }, + { "source": 741, "target": 413, "value": 8 }, + { "source": 741, "target": 428, "value": 8 }, + { "source": 741, "target": 429, "value": 8 }, + { "source": 741, "target": 437, "value": 8 }, + { "source": 741, "target": 441, "value": 2 }, + { "source": 741, "target": 453, "value": 4 }, + { "source": 741, "target": 461, "value": 9 }, + { "source": 741, "target": 485, "value": 9 }, + { "source": 741, "target": 489, "value": 4 }, + { "source": 741, "target": 491, "value": 4 }, + { "source": 741, "target": 495, "value": 8 }, + { "source": 741, "target": 498, "value": 8 }, + { "source": 741, "target": 501, "value": 8 }, + { "source": 741, "target": 503, "value": 4 }, + { "source": 741, "target": 519, "value": 9 }, + { "source": 741, "target": 528, "value": 8 }, + { "source": 741, "target": 533, "value": 4 }, + { "source": 741, "target": 545, "value": 4 }, + { "source": 741, "target": 548, "value": 8 }, + { "source": 741, "target": 549, "value": 8 }, + { "source": 741, "target": 551, "value": 8 }, + { "source": 741, "target": 578, "value": 8 }, + { "source": 741, "target": 581, "value": 9 }, + { "source": 741, "target": 587, "value": 8 }, + { "source": 741, "target": 591, "value": 4 }, + { "source": 741, "target": 603, "value": 4 }, + { "source": 741, "target": 633, "value": 8 }, + { "source": 741, "target": 639, "value": 8 }, + { "source": 741, "target": 641, "value": 2 }, + { "source": 741, "target": 645, "value": 7 }, + { "source": 741, "target": 648, "value": 8 }, + { "source": 741, "target": 651, "value": 8 }, + { "source": 741, "target": 653, "value": 4 }, + { "source": 741, "target": 669, "value": 8 }, + { "source": 741, "target": 671, "value": 7 }, + { "source": 741, "target": 678, "value": 7 }, + { "source": 741, "target": 693, "value": 8 }, + { "source": 741, "target": 695, "value": 7 }, + { "source": 741, "target": 698, "value": 7 }, + { "source": 741, "target": 699, "value": 4 }, + { "source": 741, "target": 701, "value": 8 }, + { "source": 741, "target": 713, "value": 8 }, + { "source": 741, "target": 728, "value": 8 }, + { "source": 741, "target": 729, "value": 8 }, + { "source": 741, "target": 737, "value": 2 }, + { "source": 743, "target": 243, "value": 2 }, + { "source": 743, "target": 281, "value": 9 }, + { "source": 743, "target": 293, "value": 1 }, + { "source": 743, "target": 317, "value": 4 }, + { "source": 743, "target": 333, "value": 10 }, + { "source": 743, "target": 335, "value": 8 }, + { "source": 743, "target": 339, "value": 8 }, + { "source": 743, "target": 377, "value": 8 }, + { "source": 743, "target": 381, "value": 8 }, + { "source": 743, "target": 393, "value": 1 }, + { "source": 743, "target": 398, "value": 9 }, + { "source": 743, "target": 429, "value": 8 }, + { "source": 743, "target": 431, "value": 9 }, + { "source": 743, "target": 443, "value": 2 }, + { "source": 743, "target": 467, "value": 8 }, + { "source": 743, "target": 489, "value": 2 }, + { "source": 743, "target": 533, "value": 9 }, + { "source": 743, "target": 543, "value": 2 }, + { "source": 743, "target": 545, "value": 9 }, + { "source": 743, "target": 581, "value": 8 }, + { "source": 743, "target": 585, "value": 9 }, + { "source": 743, "target": 593, "value": 1 }, + { "source": 743, "target": 617, "value": 8 }, + { "source": 743, "target": 639, "value": 8 }, + { "source": 743, "target": 677, "value": 8 }, + { "source": 743, "target": 681, "value": 7 }, + { "source": 743, "target": 693, "value": 1 }, + { "source": 753, "target": 215, "value": 8 }, + { "source": 753, "target": 227, "value": 4 }, + { "source": 753, "target": 228, "value": 8 }, + { "source": 753, "target": 249, "value": 8 }, + { "source": 753, "target": 278, "value": 8 }, + { "source": 753, "target": 279, "value": 4 }, + { "source": 753, "target": 293, "value": 10 }, + { "source": 753, "target": 303, "value": 1 }, + { "source": 753, "target": 315, "value": 8 }, + { "source": 753, "target": 341, "value": 9 }, + { "source": 753, "target": 353, "value": 1 }, + { "source": 753, "target": 365, "value": 8 }, + { "source": 753, "target": 377, "value": 4 }, + { "source": 753, "target": 378, "value": 8 }, + { "source": 753, "target": 399, "value": 8 }, + { "source": 753, "target": 405, "value": 4 }, + { "source": 753, "target": 428, "value": 8 }, + { "source": 753, "target": 437, "value": 8 }, + { "source": 753, "target": 441, "value": 8 }, + { "source": 753, "target": 453, "value": 0 }, + { "source": 753, "target": 461, "value": 8 }, + { "source": 753, "target": 465, "value": 8 }, + { "source": 753, "target": 503, "value": 1 }, + { "source": 753, "target": 515, "value": 8 }, + { "source": 753, "target": 527, "value": 4 }, + { "source": 753, "target": 528, "value": 8 }, + { "source": 753, "target": 545, "value": 8 }, + { "source": 753, "target": 549, "value": 8 }, + { "source": 753, "target": 578, "value": 8 }, + { "source": 753, "target": 603, "value": 1 }, + { "source": 753, "target": 605, "value": 9 }, + { "source": 753, "target": 615, "value": 8 }, + { "source": 753, "target": 641, "value": 8 }, + { "source": 753, "target": 653, "value": 1 }, + { "source": 753, "target": 665, "value": 7 }, + { "source": 753, "target": 677, "value": 4 }, + { "source": 753, "target": 678, "value": 8 }, + { "source": 753, "target": 693, "value": 8 }, + { "source": 753, "target": 699, "value": 4 }, + { "source": 753, "target": 701, "value": 3 }, + { "source": 753, "target": 707, "value": 3 }, + { "source": 753, "target": 728, "value": 8 }, + { "source": 753, "target": 737, "value": 8 }, + { "source": 753, "target": 741, "value": 4 }, + { "source": 755, "target": 245, "value": 11 }, + { "source": 755, "target": 251, "value": 8 }, + { "source": 755, "target": 255, "value": 4 }, + { "source": 755, "target": 263, "value": 12 }, + { "source": 755, "target": 293, "value": 9 }, + { "source": 755, "target": 303, "value": 8 }, + { "source": 755, "target": 305, "value": 4 }, + { "source": 755, "target": 309, "value": 8 }, + { "source": 755, "target": 351, "value": 10 }, + { "source": 755, "target": 353, "value": 8 }, + { "source": 755, "target": 363, "value": 11 }, + { "source": 755, "target": 377, "value": 11 }, + { "source": 755, "target": 393, "value": 8 }, + { "source": 755, "target": 405, "value": 2 }, + { "source": 755, "target": 413, "value": 10 }, + { "source": 755, "target": 429, "value": 8 }, + { "source": 755, "target": 453, "value": 8 }, + { "source": 755, "target": 455, "value": 4 }, + { "source": 755, "target": 459, "value": 8 }, + { "source": 755, "target": 497, "value": 4 }, + { "source": 755, "target": 503, "value": 8 }, + { "source": 755, "target": 513, "value": 10 }, + { "source": 755, "target": 549, "value": 9 }, + { "source": 755, "target": 555, "value": 2 }, + { "source": 755, "target": 563, "value": 9 }, + { "source": 755, "target": 593, "value": 8 }, + { "source": 755, "target": 603, "value": 8 }, + { "source": 755, "target": 605, "value": 4 }, + { "source": 755, "target": 609, "value": 8 }, + { "source": 755, "target": 645, "value": 8 }, + { "source": 755, "target": 653, "value": 8 }, + { "source": 755, "target": 663, "value": 9 }, + { "source": 755, "target": 693, "value": 7 }, + { "source": 755, "target": 695, "value": 3 }, + { "source": 755, "target": 705, "value": 3 }, + { "source": 755, "target": 713, "value": 8 }, + { "source": 755, "target": 753, "value": 7 }, + { "source": 759, "target": 263, "value": 12 }, + { "source": 759, "target": 309, "value": 4 }, + { "source": 759, "target": 333, "value": 8 }, + { "source": 759, "target": 351, "value": 10 }, + { "source": 759, "target": 363, "value": 11 }, + { "source": 759, "target": 405, "value": 8 }, + { "source": 759, "target": 413, "value": 11 }, + { "source": 759, "target": 459, "value": 4 }, + { "source": 759, "target": 461, "value": 9 }, + { "source": 759, "target": 497, "value": 4 }, + { "source": 759, "target": 513, "value": 10 }, + { "source": 759, "target": 549, "value": 9 }, + { "source": 759, "target": 563, "value": 9 }, + { "source": 759, "target": 609, "value": 4 }, + { "source": 759, "target": 663, "value": 9 }, + { "source": 759, "target": 671, "value": 3 }, + { "source": 759, "target": 713, "value": 8 }, + { "source": 759, "target": 741, "value": 3 }, + { "source": 759, "target": 755, "value": 8 }, + { "source": 761, "target": 249, "value": 9 }, + { "source": 761, "target": 261, "value": 2 }, + { "source": 761, "target": 273, "value": 4 }, + { "source": 761, "target": 285, "value": 8 }, + { "source": 761, "target": 311, "value": 4 }, + { "source": 761, "target": 323, "value": 4 }, + { "source": 761, "target": 363, "value": 10 }, + { "source": 761, "target": 411, "value": 4 }, + { "source": 761, "target": 413, "value": 4 }, + { "source": 761, "target": 423, "value": 4 }, + { "source": 761, "target": 461, "value": 2 }, + { "source": 761, "target": 473, "value": 4 }, + { "source": 761, "target": 501, "value": 9 }, + { "source": 761, "target": 549, "value": 8 }, + { "source": 761, "target": 561, "value": 2 }, + { "source": 761, "target": 573, "value": 4 }, + { "source": 761, "target": 611, "value": 4 }, + { "source": 761, "target": 623, "value": 4 }, + { "source": 761, "target": 678, "value": 4 }, + { "source": 761, "target": 701, "value": 8 }, + { "source": 761, "target": 711, "value": 3 }, + { "source": 761, "target": 713, "value": 8 }, + { "source": 761, "target": 723, "value": 4 }, + { "source": 761, "target": 729, "value": 3 }, + { "source": 765, "target": 215, "value": 4 }, + { "source": 765, "target": 225, "value": 8 }, + { "source": 765, "target": 227, "value": 8 }, + { "source": 765, "target": 228, "value": 8 }, + { "source": 765, "target": 275, "value": 8 }, + { "source": 765, "target": 278, "value": 8 }, + { "source": 765, "target": 291, "value": 8 }, + { "source": 765, "target": 293, "value": 10 }, + { "source": 765, "target": 315, "value": 4 }, + { "source": 765, "target": 317, "value": 10 }, + { "source": 765, "target": 321, "value": 8 }, + { "source": 765, "target": 341, "value": 8 }, + { "source": 765, "target": 353, "value": 9 }, + { "source": 765, "target": 365, "value": 1 }, + { "source": 765, "target": 375, "value": 8 }, + { "source": 765, "target": 377, "value": 8 }, + { "source": 765, "target": 378, "value": 8 }, + { "source": 765, "target": 405, "value": 10 }, + { "source": 765, "target": 413, "value": 8 }, + { "source": 765, "target": 425, "value": 8 }, + { "source": 765, "target": 428, "value": 8 }, + { "source": 765, "target": 441, "value": 8 }, + { "source": 765, "target": 453, "value": 4 }, + { "source": 765, "target": 461, "value": 8 }, + { "source": 765, "target": 465, "value": 2 }, + { "source": 765, "target": 491, "value": 8 }, + { "source": 765, "target": 513, "value": 8 }, + { "source": 765, "target": 515, "value": 4 }, + { "source": 765, "target": 525, "value": 8 }, + { "source": 765, "target": 527, "value": 8 }, + { "source": 765, "target": 528, "value": 8 }, + { "source": 765, "target": 563, "value": 8 }, + { "source": 765, "target": 573, "value": 8 }, + { "source": 765, "target": 575, "value": 8 }, + { "source": 765, "target": 578, "value": 8 }, + { "source": 765, "target": 591, "value": 8 }, + { "source": 765, "target": 605, "value": 9 }, + { "source": 765, "target": 615, "value": 4 }, + { "source": 765, "target": 641, "value": 8 }, + { "source": 765, "target": 653, "value": 8 }, + { "source": 765, "target": 665, "value": 2 }, + { "source": 765, "target": 671, "value": 8 }, + { "source": 765, "target": 675, "value": 8 }, + { "source": 765, "target": 677, "value": 7 }, + { "source": 765, "target": 678, "value": 8 }, + { "source": 765, "target": 713, "value": 4 }, + { "source": 765, "target": 725, "value": 8 }, + { "source": 765, "target": 728, "value": 8 }, + { "source": 765, "target": 741, "value": 8 }, + { "source": 765, "target": 753, "value": 7 }, + { "source": 767, "target": 225, "value": 8 }, + { "source": 767, "target": 228, "value": 8 }, + { "source": 767, "target": 243, "value": 9 }, + { "source": 767, "target": 255, "value": 10 }, + { "source": 767, "target": 275, "value": 8 }, + { "source": 767, "target": 278, "value": 8 }, + { "source": 767, "target": 293, "value": 4 }, + { "source": 767, "target": 305, "value": 9 }, + { "source": 767, "target": 317, "value": 4 }, + { "source": 767, "target": 321, "value": 8 }, + { "source": 767, "target": 363, "value": 8 }, + { "source": 767, "target": 365, "value": 9 }, + { "source": 767, "target": 375, "value": 8 }, + { "source": 767, "target": 378, "value": 8 }, + { "source": 767, "target": 393, "value": 4 }, + { "source": 767, "target": 405, "value": 8 }, + { "source": 767, "target": 413, "value": 8 }, + { "source": 767, "target": 425, "value": 8 }, + { "source": 767, "target": 428, "value": 8 }, + { "source": 767, "target": 443, "value": 9 }, + { "source": 767, "target": 467, "value": 4 }, + { "source": 767, "target": 489, "value": 10 }, + { "source": 767, "target": 513, "value": 8 }, + { "source": 767, "target": 525, "value": 8 }, + { "source": 767, "target": 528, "value": 8 }, + { "source": 767, "target": 543, "value": 8 }, + { "source": 767, "target": 557, "value": 9 }, + { "source": 767, "target": 563, "value": 8 }, + { "source": 767, "target": 575, "value": 8 }, + { "source": 767, "target": 578, "value": 8 }, + { "source": 767, "target": 593, "value": 4 }, + { "source": 767, "target": 605, "value": 8 }, + { "source": 767, "target": 617, "value": 4 }, + { "source": 767, "target": 671, "value": 8 }, + { "source": 767, "target": 675, "value": 8 }, + { "source": 767, "target": 678, "value": 8 }, + { "source": 767, "target": 693, "value": 4 }, + { "source": 767, "target": 705, "value": 7 }, + { "source": 767, "target": 713, "value": 4 }, + { "source": 767, "target": 725, "value": 8 }, + { "source": 767, "target": 728, "value": 8 }, + { "source": 767, "target": 743, "value": 8 }, + { "source": 767, "target": 765, "value": 7 }, + { "source": 771, "target": 221, "value": 4 }, + { "source": 771, "target": 261, "value": 11 }, + { "source": 771, "target": 293, "value": 12 }, + { "source": 771, "target": 309, "value": 9 }, + { "source": 771, "target": 321, "value": 4 }, + { "source": 771, "target": 371, "value": 4 }, + { "source": 771, "target": 461, "value": 10 }, + { "source": 771, "target": 471, "value": 4 }, + { "source": 771, "target": 521, "value": 4 }, + { "source": 771, "target": 573, "value": 9 }, + { "source": 771, "target": 609, "value": 8 }, + { "source": 771, "target": 621, "value": 4 }, + { "source": 771, "target": 663, "value": 9 }, + { "source": 771, "target": 671, "value": 4 }, + { "source": 773, "target": 219, "value": 8 }, + { "source": 773, "target": 221, "value": 2 }, + { "source": 773, "target": 233, "value": 8 }, + { "source": 773, "target": 248, "value": 8 }, + { "source": 773, "target": 257, "value": 8 }, + { "source": 773, "target": 261, "value": 9 }, + { "source": 773, "target": 273, "value": 1 }, + { "source": 773, "target": 279, "value": 8 }, + { "source": 773, "target": 285, "value": 8 }, + { "source": 773, "target": 309, "value": 9 }, + { "source": 773, "target": 321, "value": 4 }, + { "source": 773, "target": 323, "value": 1 }, + { "source": 773, "target": 333, "value": 8 }, + { "source": 773, "target": 335, "value": 8 }, + { "source": 773, "target": 347, "value": 4 }, + { "source": 773, "target": 348, "value": 8 }, + { "source": 773, "target": 369, "value": 8 }, + { "source": 773, "target": 377, "value": 10 }, + { "source": 773, "target": 383, "value": 8 }, + { "source": 773, "target": 398, "value": 8 }, + { "source": 773, "target": 413, "value": 10 }, + { "source": 773, "target": 423, "value": 1 }, + { "source": 773, "target": 435, "value": 8 }, + { "source": 773, "target": 461, "value": 8 }, + { "source": 773, "target": 473, "value": 1 }, + { "source": 773, "target": 483, "value": 8 }, + { "source": 773, "target": 485, "value": 8 }, + { "source": 773, "target": 497, "value": 4 }, + { "source": 773, "target": 498, "value": 8 }, + { "source": 773, "target": 519, "value": 8 }, + { "source": 773, "target": 521, "value": 8 }, + { "source": 773, "target": 525, "value": 9 }, + { "source": 773, "target": 531, "value": 8 }, + { "source": 773, "target": 533, "value": 8 }, + { "source": 773, "target": 545, "value": 10 }, + { "source": 773, "target": 548, "value": 8 }, + { "source": 773, "target": 557, "value": 8 }, + { "source": 773, "target": 561, "value": 8 }, + { "source": 773, "target": 573, "value": 0 }, + { "source": 773, "target": 585, "value": 8 }, + { "source": 773, "target": 611, "value": 8 }, + { "source": 773, "target": 615, "value": 8 }, + { "source": 773, "target": 621, "value": 2 }, + { "source": 773, "target": 623, "value": 1 }, + { "source": 773, "target": 633, "value": 8 }, + { "source": 773, "target": 635, "value": 8 }, + { "source": 773, "target": 647, "value": 4 }, + { "source": 773, "target": 648, "value": 8 }, + { "source": 773, "target": 669, "value": 8 }, + { "source": 773, "target": 678, "value": 8 }, + { "source": 773, "target": 683, "value": 8 }, + { "source": 773, "target": 698, "value": 7 }, + { "source": 773, "target": 699, "value": 2 }, + { "source": 773, "target": 723, "value": 1 }, + { "source": 773, "target": 725, "value": 8 }, + { "source": 773, "target": 735, "value": 8 }, + { "source": 773, "target": 761, "value": 4 }, + { "source": 783, "target": 221, "value": 4 }, + { "source": 783, "target": 225, "value": 9 }, + { "source": 783, "target": 231, "value": 8 }, + { "source": 783, "target": 233, "value": 1 }, + { "source": 783, "target": 245, "value": 8 }, + { "source": 783, "target": 248, "value": 8 }, + { "source": 783, "target": 257, "value": 8 }, + { "source": 783, "target": 279, "value": 4 }, + { "source": 783, "target": 281, "value": 8 }, + { "source": 783, "target": 285, "value": 10 }, + { "source": 783, "target": 287, "value": 8 }, + { "source": 783, "target": 317, "value": 8 }, + { "source": 783, "target": 321, "value": 4 }, + { "source": 783, "target": 333, "value": 1 }, + { "source": 783, "target": 335, "value": 10 }, + { "source": 783, "target": 345, "value": 8 }, + { "source": 783, "target": 348, "value": 8 }, + { "source": 783, "target": 381, "value": 4 }, + { "source": 783, "target": 383, "value": 2 }, + { "source": 783, "target": 395, "value": 8 }, + { "source": 783, "target": 398, "value": 8 }, + { "source": 783, "target": 405, "value": 11 }, + { "source": 783, "target": 407, "value": 8 }, + { "source": 783, "target": 425, "value": 8 }, + { "source": 783, "target": 429, "value": 4 }, + { "source": 783, "target": 431, "value": 8 }, + { "source": 783, "target": 437, "value": 8 }, + { "source": 783, "target": 483, "value": 2 }, + { "source": 783, "target": 485, "value": 9 }, + { "source": 783, "target": 495, "value": 8 }, + { "source": 783, "target": 498, "value": 8 }, + { "source": 783, "target": 521, "value": 8 }, + { "source": 783, "target": 525, "value": 8 }, + { "source": 783, "target": 531, "value": 8 }, + { "source": 783, "target": 533, "value": 1 }, + { "source": 783, "target": 545, "value": 8 }, + { "source": 783, "target": 548, "value": 8 }, + { "source": 783, "target": 557, "value": 4 }, + { "source": 783, "target": 573, "value": 9 }, + { "source": 783, "target": 579, "value": 8 }, + { "source": 783, "target": 581, "value": 8 }, + { "source": 783, "target": 587, "value": 8 }, + { "source": 783, "target": 605, "value": 8 }, + { "source": 783, "target": 617, "value": 8 }, + { "source": 783, "target": 621, "value": 8 }, + { "source": 783, "target": 633, "value": 1 }, + { "source": 783, "target": 645, "value": 8 }, + { "source": 783, "target": 648, "value": 8 }, + { "source": 783, "target": 669, "value": 8 }, + { "source": 783, "target": 677, "value": 8 }, + { "source": 783, "target": 681, "value": 8 }, + { "source": 783, "target": 683, "value": 2 }, + { "source": 783, "target": 695, "value": 8 }, + { "source": 783, "target": 698, "value": 8 }, + { "source": 783, "target": 707, "value": 8 }, + { "source": 783, "target": 725, "value": 8 }, + { "source": 783, "target": 729, "value": 8 }, + { "source": 783, "target": 731, "value": 7 }, + { "source": 783, "target": 737, "value": 7 }, + { "source": 783, "target": 741, "value": 8 }, + { "source": 783, "target": 773, "value": 7 }, + { "source": 785, "target": 273, "value": 9 }, + { "source": 785, "target": 285, "value": 2 }, + { "source": 785, "target": 293, "value": 8 }, + { "source": 785, "target": 335, "value": 4 }, + { "source": 785, "target": 347, "value": 8 }, + { "source": 785, "target": 377, "value": 10 }, + { "source": 785, "target": 435, "value": 4 }, + { "source": 785, "target": 437, "value": 9 }, + { "source": 785, "target": 473, "value": 8 }, + { "source": 785, "target": 485, "value": 2 }, + { "source": 785, "target": 497, "value": 8 }, + { "source": 785, "target": 525, "value": 9 }, + { "source": 785, "target": 531, "value": 8 }, + { "source": 785, "target": 573, "value": 8 }, + { "source": 785, "target": 585, "value": 2 }, + { "source": 785, "target": 587, "value": 9 }, + { "source": 785, "target": 635, "value": 4 }, + { "source": 785, "target": 647, "value": 8 }, + { "source": 785, "target": 725, "value": 8 }, + { "source": 785, "target": 735, "value": 3 }, + { "source": 785, "target": 773, "value": 7 }, + { "source": 789, "target": 228, "value": 8 }, + { "source": 789, "target": 243, "value": 12 }, + { "source": 789, "target": 249, "value": 8 }, + { "source": 789, "target": 251, "value": 8 }, + { "source": 789, "target": 278, "value": 8 }, + { "source": 789, "target": 293, "value": 12 }, + { "source": 789, "target": 303, "value": 10 }, + { "source": 789, "target": 335, "value": 8 }, + { "source": 789, "target": 339, "value": 4 }, + { "source": 789, "target": 341, "value": 10 }, + { "source": 789, "target": 351, "value": 8 }, + { "source": 789, "target": 353, "value": 10 }, + { "source": 789, "target": 377, "value": 8 }, + { "source": 789, "target": 378, "value": 8 }, + { "source": 789, "target": 393, "value": 11 }, + { "source": 789, "target": 399, "value": 8 }, + { "source": 789, "target": 401, "value": 8 }, + { "source": 789, "target": 413, "value": 8 }, + { "source": 789, "target": 428, "value": 8 }, + { "source": 789, "target": 429, "value": 10 }, + { "source": 789, "target": 437, "value": 8 }, + { "source": 789, "target": 443, "value": 10 }, + { "source": 789, "target": 453, "value": 9 }, + { "source": 789, "target": 461, "value": 10 }, + { "source": 789, "target": 489, "value": 2 }, + { "source": 789, "target": 501, "value": 8 }, + { "source": 789, "target": 503, "value": 9 }, + { "source": 789, "target": 528, "value": 8 }, + { "source": 789, "target": 543, "value": 10 }, + { "source": 789, "target": 545, "value": 8 }, + { "source": 789, "target": 549, "value": 8 }, + { "source": 789, "target": 551, "value": 8 }, + { "source": 789, "target": 578, "value": 8 }, + { "source": 789, "target": 593, "value": 9 }, + { "source": 789, "target": 603, "value": 8 }, + { "source": 789, "target": 639, "value": 4 }, + { "source": 789, "target": 651, "value": 8 }, + { "source": 789, "target": 653, "value": 8 }, + { "source": 789, "target": 677, "value": 8 }, + { "source": 789, "target": 678, "value": 7 }, + { "source": 789, "target": 693, "value": 9 }, + { "source": 789, "target": 699, "value": 8 }, + { "source": 789, "target": 701, "value": 7 }, + { "source": 789, "target": 728, "value": 7 }, + { "source": 789, "target": 737, "value": 7 }, + { "source": 789, "target": 741, "value": 2 }, + { "source": 789, "target": 743, "value": 8 }, + { "source": 789, "target": 753, "value": 8 }, + { "source": 791, "target": 291, "value": 4 }, + { "source": 791, "target": 293, "value": 10 }, + { "source": 791, "target": 341, "value": 4 }, + { "source": 791, "target": 365, "value": 8 }, + { "source": 791, "target": 381, "value": 10 }, + { "source": 791, "target": 429, "value": 8 }, + { "source": 791, "target": 441, "value": 4 }, + { "source": 791, "target": 491, "value": 4 }, + { "source": 791, "target": 533, "value": 9 }, + { "source": 791, "target": 581, "value": 9 }, + { "source": 791, "target": 587, "value": 8 }, + { "source": 791, "target": 591, "value": 4 }, + { "source": 791, "target": 641, "value": 4 }, + { "source": 791, "target": 713, "value": 9 }, + { "source": 791, "target": 729, "value": 7 }, + { "source": 791, "target": 741, "value": 3 }, + { "source": 791, "target": 765, "value": 8 }, + { "source": 795, "target": 233, "value": 4 }, + { "source": 795, "target": 245, "value": 4 }, + { "source": 795, "target": 248, "value": 8 }, + { "source": 795, "target": 285, "value": 10 }, + { "source": 795, "target": 333, "value": 9 }, + { "source": 795, "target": 345, "value": 4 }, + { "source": 795, "target": 348, "value": 8 }, + { "source": 795, "target": 395, "value": 4 }, + { "source": 795, "target": 398, "value": 8 }, + { "source": 795, "target": 485, "value": 9 }, + { "source": 795, "target": 495, "value": 4 }, + { "source": 795, "target": 498, "value": 8 }, + { "source": 795, "target": 533, "value": 8 }, + { "source": 795, "target": 545, "value": 4 }, + { "source": 795, "target": 548, "value": 8 }, + { "source": 795, "target": 609, "value": 3 }, + { "source": 795, "target": 633, "value": 8 }, + { "source": 795, "target": 645, "value": 4 }, + { "source": 795, "target": 648, "value": 7 }, + { "source": 795, "target": 669, "value": 8 }, + { "source": 795, "target": 695, "value": 4 }, + { "source": 795, "target": 698, "value": 7 }, + { "source": 795, "target": 741, "value": 7 }, + { "source": 795, "target": 783, "value": 8 }, + { "source": 797, "target": 221, "value": 9 }, + { "source": 797, "target": 225, "value": 8 }, + { "source": 797, "target": 245, "value": 4 }, + { "source": 797, "target": 251, "value": 8 }, + { "source": 797, "target": 257, "value": 8 }, + { "source": 797, "target": 263, "value": 12 }, + { "source": 797, "target": 273, "value": 3 }, + { "source": 797, "target": 275, "value": 8 }, + { "source": 797, "target": 285, "value": 9 }, + { "source": 797, "target": 293, "value": 8 }, + { "source": 797, "target": 309, "value": 8 }, + { "source": 797, "target": 323, "value": 4 }, + { "source": 797, "target": 341, "value": 10 }, + { "source": 797, "target": 345, "value": 4 }, + { "source": 797, "target": 347, "value": 4 }, + { "source": 797, "target": 351, "value": 4 }, + { "source": 797, "target": 363, "value": 11 }, + { "source": 797, "target": 375, "value": 8 }, + { "source": 797, "target": 377, "value": 9 }, + { "source": 797, "target": 395, "value": 8 }, + { "source": 797, "target": 401, "value": 8 }, + { "source": 797, "target": 405, "value": 8 }, + { "source": 797, "target": 407, "value": 8 }, + { "source": 797, "target": 413, "value": 10 }, + { "source": 797, "target": 423, "value": 4 }, + { "source": 797, "target": 425, "value": 8 }, + { "source": 797, "target": 437, "value": 10 }, + { "source": 797, "target": 459, "value": 8 }, + { "source": 797, "target": 473, "value": 2 }, + { "source": 797, "target": 485, "value": 8 }, + { "source": 797, "target": 489, "value": 8 }, + { "source": 797, "target": 495, "value": 8 }, + { "source": 797, "target": 497, "value": 2 }, + { "source": 797, "target": 501, "value": 8 }, + { "source": 797, "target": 503, "value": 8 }, + { "source": 797, "target": 513, "value": 10 }, + { "source": 797, "target": 525, "value": 8 }, + { "source": 797, "target": 545, "value": 2 }, + { "source": 797, "target": 549, "value": 9 }, + { "source": 797, "target": 551, "value": 8 }, + { "source": 797, "target": 557, "value": 8 }, + { "source": 797, "target": 563, "value": 9 }, + { "source": 797, "target": 573, "value": 2 }, + { "source": 797, "target": 575, "value": 8 }, + { "source": 797, "target": 585, "value": 4 }, + { "source": 797, "target": 609, "value": 8 }, + { "source": 797, "target": 621, "value": 8 }, + { "source": 797, "target": 623, "value": 4 }, + { "source": 797, "target": 645, "value": 4 }, + { "source": 797, "target": 647, "value": 4 }, + { "source": 797, "target": 651, "value": 8 }, + { "source": 797, "target": 663, "value": 9 }, + { "source": 797, "target": 669, "value": 7 }, + { "source": 797, "target": 675, "value": 8 }, + { "source": 797, "target": 695, "value": 4 }, + { "source": 797, "target": 699, "value": 8 }, + { "source": 797, "target": 701, "value": 8 }, + { "source": 797, "target": 707, "value": 8 }, + { "source": 797, "target": 713, "value": 8 }, + { "source": 797, "target": 723, "value": 4 }, + { "source": 797, "target": 725, "value": 8 }, + { "source": 797, "target": 737, "value": 3 }, + { "source": 797, "target": 741, "value": 8 }, + { "source": 797, "target": 755, "value": 7 }, + { "source": 797, "target": 759, "value": 8 }, + { "source": 797, "target": 773, "value": 2 }, + { "source": 797, "target": 785, "value": 7 }, + { "source": 797, "target": 789, "value": 7 }, + { "source": 797, "target": 795, "value": 7 }, + { "source": 798, "target": 219, "value": 8 }, + { "source": 798, "target": 233, "value": 5 }, + { "source": 798, "target": 245, "value": 8 }, + { "source": 798, "target": 248, "value": 4 }, + { "source": 798, "target": 257, "value": 8 }, + { "source": 798, "target": 273, "value": 11 }, + { "source": 798, "target": 285, "value": 11 }, + { "source": 798, "target": 309, "value": 10 }, + { "source": 798, "target": 323, "value": 11 }, + { "source": 798, "target": 333, "value": 9 }, + { "source": 798, "target": 345, "value": 8 }, + { "source": 798, "target": 348, "value": 4 }, + { "source": 798, "target": 369, "value": 8 }, + { "source": 798, "target": 395, "value": 8 }, + { "source": 798, "target": 398, "value": 4 }, + { "source": 798, "target": 423, "value": 10 }, + { "source": 798, "target": 473, "value": 10 }, + { "source": 798, "target": 485, "value": 10 }, + { "source": 798, "target": 495, "value": 8 }, + { "source": 798, "target": 498, "value": 4 }, + { "source": 798, "target": 519, "value": 8 }, + { "source": 798, "target": 533, "value": 8 }, + { "source": 798, "target": 545, "value": 8 }, + { "source": 798, "target": 548, "value": 4 }, + { "source": 798, "target": 557, "value": 8 }, + { "source": 798, "target": 573, "value": 9 }, + { "source": 798, "target": 611, "value": 9 }, + { "source": 798, "target": 615, "value": 8 }, + { "source": 798, "target": 623, "value": 9 }, + { "source": 798, "target": 633, "value": 8 }, + { "source": 798, "target": 645, "value": 8 }, + { "source": 798, "target": 648, "value": 4 }, + { "source": 798, "target": 669, "value": 8 }, + { "source": 798, "target": 695, "value": 8 }, + { "source": 798, "target": 698, "value": 4 }, + { "source": 798, "target": 723, "value": 8 }, + { "source": 798, "target": 741, "value": 7 }, + { "source": 798, "target": 773, "value": 8 }, + { "source": 798, "target": 783, "value": 8 }, + { "source": 798, "target": 795, "value": 8 }, + { "source": 801, "target": 251, "value": 4 }, + { "source": 801, "target": 263, "value": 8 }, + { "source": 801, "target": 341, "value": 10 }, + { "source": 801, "target": 351, "value": 4 }, + { "source": 801, "target": 363, "value": 8 }, + { "source": 801, "target": 401, "value": 2 }, + { "source": 801, "target": 413, "value": 8 }, + { "source": 801, "target": 453, "value": 9 }, + { "source": 801, "target": 455, "value": 10 }, + { "source": 801, "target": 489, "value": 8 }, + { "source": 801, "target": 501, "value": 2 }, + { "source": 801, "target": 503, "value": 9 }, + { "source": 801, "target": 513, "value": 8 }, + { "source": 801, "target": 525, "value": 8 }, + { "source": 801, "target": 551, "value": 4 }, + { "source": 801, "target": 563, "value": 8 }, + { "source": 801, "target": 573, "value": 10 }, + { "source": 801, "target": 651, "value": 2 }, + { "source": 801, "target": 653, "value": 8 }, + { "source": 801, "target": 663, "value": 8 }, + { "source": 801, "target": 701, "value": 2 }, + { "source": 801, "target": 713, "value": 2 }, + { "source": 801, "target": 741, "value": 8 }, + { "source": 801, "target": 783, "value": 3 }, + { "source": 801, "target": 789, "value": 7 }, + { "source": 801, "target": 797, "value": 8 }, + { "source": 803, "target": 227, "value": 8 }, + { "source": 803, "target": 228, "value": 8 }, + { "source": 803, "target": 249, "value": 8 }, + { "source": 803, "target": 278, "value": 8 }, + { "source": 803, "target": 279, "value": 10 }, + { "source": 803, "target": 293, "value": 10 }, + { "source": 803, "target": 303, "value": 2 }, + { "source": 803, "target": 341, "value": 9 }, + { "source": 803, "target": 353, "value": 1 }, + { "source": 803, "target": 377, "value": 8 }, + { "source": 803, "target": 378, "value": 8 }, + { "source": 803, "target": 399, "value": 8 }, + { "source": 803, "target": 405, "value": 10 }, + { "source": 803, "target": 428, "value": 8 }, + { "source": 803, "target": 437, "value": 8 }, + { "source": 803, "target": 441, "value": 8 }, + { "source": 803, "target": 453, "value": 1 }, + { "source": 803, "target": 503, "value": 2 }, + { "source": 803, "target": 527, "value": 8 }, + { "source": 803, "target": 528, "value": 8 }, + { "source": 803, "target": 545, "value": 8 }, + { "source": 803, "target": 549, "value": 8 }, + { "source": 803, "target": 578, "value": 8 }, + { "source": 803, "target": 603, "value": 2 }, + { "source": 803, "target": 641, "value": 8 }, + { "source": 803, "target": 653, "value": 1 }, + { "source": 803, "target": 677, "value": 8 }, + { "source": 803, "target": 678, "value": 8 }, + { "source": 803, "target": 693, "value": 8 }, + { "source": 803, "target": 699, "value": 4 }, + { "source": 803, "target": 701, "value": 8 }, + { "source": 803, "target": 728, "value": 7 }, + { "source": 803, "target": 737, "value": 8 }, + { "source": 803, "target": 741, "value": 3 }, + { "source": 803, "target": 753, "value": 1 }, + { "source": 803, "target": 755, "value": 8 }, + { "source": 803, "target": 789, "value": 7 } + ] +} diff --git a/launderette/__init__.py b/launderette/__init__.py index a098e7ba..f4445e69 100644 --- a/launderette/__init__.py +++ b/launderette/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/launderette/admin.py b/launderette/admin.py index 2c3cd5e5..01d7e55b 100644 --- a/launderette/admin.py +++ b/launderette/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/launderette/models.py b/launderette/models.py index dd5ab576..58458f14 100644 --- a/launderette/models.py +++ b/launderette/models.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/launderette/tests.py b/launderette/tests.py index 48d8f1f6..1288d000 100644 --- a/launderette/tests.py +++ b/launderette/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/launderette/urls.py b/launderette/urls.py index 7b8c4f8b..c00663d1 100644 --- a/launderette/urls.py +++ b/launderette/urls.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/launderette/views.py b/launderette/views.py index b35a0de0..f79c1d15 100644 --- a/launderette/views.py +++ b/launderette/views.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index bc6ebdd7..02b4bcbe 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-26 17:51+0200\n" +"POT-Creation-Date: 2024-10-10 19:37+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -17,11 +17,10 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: accounting/models.py:62 accounting/models.py:103 accounting/models.py:136 -#: accounting/models.py:203 club/models.py:54 com/models.py:274 -#: com/models.py:293 counter/models.py:213 counter/models.py:246 -#: counter/models.py:381 forum/models.py:59 launderette/models.py:29 -#: launderette/models.py:84 launderette/models.py:122 stock/models.py:36 -#: stock/models.py:57 stock/models.py:97 stock/models.py:125 +#: accounting/models.py:203 club/models.py:55 com/models.py:274 +#: com/models.py:293 counter/models.py:220 counter/models.py:253 +#: counter/models.py:411 forum/models.py:59 launderette/models.py:29 +#: launderette/models.py:84 launderette/models.py:122 msgid "name" msgstr "nom" @@ -65,9 +64,9 @@ msgstr "IBAN" msgid "account number" msgstr "numéro de compte" -#: accounting/models.py:109 accounting/models.py:140 club/models.py:344 -#: com/models.py:74 com/models.py:259 com/models.py:299 counter/models.py:269 -#: counter/models.py:383 trombi/models.py:210 +#: accounting/models.py:109 accounting/models.py:140 club/models.py:345 +#: com/models.py:74 com/models.py:259 com/models.py:299 counter/models.py:276 +#: counter/models.py:413 trombi/models.py:210 msgid "club" msgstr "club" @@ -88,12 +87,12 @@ msgstr "Compte club" msgid "%(club_account)s on %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s" -#: accounting/models.py:201 club/models.py:350 counter/models.py:864 +#: accounting/models.py:201 club/models.py:351 counter/models.py:899 #: election/models.py:16 launderette/models.py:179 msgid "start date" msgstr "date de début" -#: accounting/models.py:202 club/models.py:351 counter/models.py:865 +#: accounting/models.py:202 club/models.py:352 counter/models.py:900 #: election/models.py:17 msgid "end date" msgstr "date de fin" @@ -107,7 +106,7 @@ msgid "club account" msgstr "compte club" #: accounting/models.py:212 accounting/models.py:272 counter/models.py:57 -#: counter/models.py:587 +#: counter/models.py:609 msgid "amount" msgstr "montant" @@ -129,18 +128,18 @@ msgstr "classeur" #: accounting/models.py:273 core/models.py:940 core/models.py:1460 #: core/models.py:1505 core/models.py:1534 core/models.py:1558 -#: counter/models.py:597 counter/models.py:690 counter/models.py:900 -#: eboutic/models.py:57 eboutic/models.py:173 forum/models.py:311 -#: forum/models.py:412 stock/models.py:96 +#: counter/models.py:619 counter/models.py:723 counter/models.py:935 +#: eboutic/models.py:57 eboutic/models.py:189 forum/models.py:311 +#: forum/models.py:412 msgid "date" msgstr "date" -#: accounting/models.py:274 counter/models.py:215 counter/models.py:901 -#: pedagogy/models.py:207 stock/models.py:99 +#: accounting/models.py:274 counter/models.py:222 counter/models.py:936 +#: pedagogy/models.py:207 msgid "comment" msgstr "commentaire" -#: accounting/models.py:276 counter/models.py:599 counter/models.py:692 +#: accounting/models.py:276 counter/models.py:621 counter/models.py:725 #: subscription/models.py:56 msgid "payment method" msgstr "méthode de paiement" @@ -149,7 +148,7 @@ msgstr "méthode de paiement" msgid "cheque number" msgstr "numéro de chèque" -#: accounting/models.py:286 eboutic/models.py:269 +#: accounting/models.py:286 eboutic/models.py:287 msgid "invoice" msgstr "facture" @@ -167,7 +166,7 @@ msgstr "type comptable" #: accounting/models.py:311 accounting/models.py:450 accounting/models.py:483 #: accounting/models.py:515 core/models.py:1533 core/models.py:1559 -#: counter/models.py:656 +#: counter/models.py:689 msgid "label" msgstr "étiquette" @@ -175,7 +174,7 @@ msgstr "étiquette" msgid "target type" msgstr "type de cible" -#: accounting/models.py:320 club/models.py:506 +#: accounting/models.py:320 club/models.py:507 #: club/templates/club/club_members.jinja:17 #: club/templates/club/club_old_members.jinja:8 #: club/templates/club/mailing.jinja:41 @@ -187,7 +186,7 @@ msgstr "type de cible" msgid "User" msgstr "Utilisateur" -#: accounting/models.py:321 club/models.py:409 +#: accounting/models.py:321 club/models.py:410 #: club/templates/club/club_detail.jinja:12 #: com/templates/com/mailing_admin.jinja:11 #: com/templates/com/news_admin_list.jinja:23 @@ -211,7 +210,7 @@ msgstr "Utilisateur" msgid "Club" msgstr "Club" -#: accounting/models.py:322 core/views/user.py:278 +#: accounting/models.py:322 core/views/user.py:281 msgid "Account" msgstr "Compte" @@ -219,8 +218,7 @@ msgstr "Compte" msgid "Company" msgstr "Entreprise" -#: accounting/models.py:324 core/models.py:312 sith/settings.py:413 -#: stock/templates/stock/shopping_list_items.jinja:37 +#: accounting/models.py:324 core/models.py:312 sith/settings.py:411 msgid "Other" msgstr "Autre" @@ -266,7 +264,7 @@ msgstr "" "Vous devez fournir soit un type comptable simplifié ou un type comptable " "standard" -#: accounting/models.py:442 counter/models.py:256 pedagogy/models.py:41 +#: accounting/models.py:442 counter/models.py:263 pedagogy/models.py:41 msgid "code" msgstr "code" @@ -317,7 +315,7 @@ msgstr "Liste des types comptable" #: accounting/templates/accounting/label_list.jinja:10 #: accounting/templates/accounting/operation_edit.jinja:10 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:10 -#: core/templates/core/user_tools.jinja:96 +#: core/templates/core/user_tools.jinja:88 msgid "Accounting" msgstr "Comptabilité" @@ -336,7 +334,7 @@ msgstr "Il n'y a pas de types comptable dans ce site web." #: accounting/templates/accounting/bank_account_details.jinja:4 #: accounting/templates/accounting/bank_account_details.jinja:14 -#: core/templates/core/user_tools.jinja:109 +#: core/templates/core/user_tools.jinja:101 msgid "Bank account: " msgstr "Compte en banque : " @@ -345,7 +343,7 @@ msgstr "Compte en banque : " #: accounting/templates/accounting/club_account_details.jinja:17 #: accounting/templates/accounting/club_account_details.jinja:60 #: accounting/templates/accounting/label_list.jinja:26 -#: club/templates/club/club_sellings.jinja:50 +#: club/templates/club/club_sellings.jinja:78 #: club/templates/club/mailing.jinja:16 club/templates/club/mailing.jinja:25 #: club/templates/club/mailing.jinja:43 #: com/templates/com/mailing_admin.jinja:19 @@ -366,8 +364,8 @@ msgstr "Compte en banque : " #: core/templates/core/group_detail.jinja:26 #: core/templates/core/group_list.jinja:25 core/templates/core/macros.jinja:96 #: core/templates/core/macros.jinja:115 core/templates/core/page_prop.jinja:14 -#: core/templates/core/user_account_detail.jinja:38 -#: core/templates/core/user_account_detail.jinja:66 +#: core/templates/core/user_account_detail.jinja:41 +#: core/templates/core/user_account_detail.jinja:77 #: core/templates/core/user_clubs.jinja:34 #: core/templates/core/user_clubs.jinja:63 #: core/templates/core/user_edit.jinja:62 @@ -375,22 +373,19 @@ msgstr "Compte en banque : " #: counter/templates/counter/last_ops.jinja:35 #: counter/templates/counter/last_ops.jinja:65 #: election/templates/election/election_detail.jinja:187 -#: forum/templates/forum/macros.jinja:21 forum/templates/forum/macros.jinja:134 +#: forum/templates/forum/macros.jinja:21 #: launderette/templates/launderette/launderette_admin.jinja:16 -#: launderette/views.py:217 pedagogy/templates/pedagogy/guide.jinja:96 -#: pedagogy/templates/pedagogy/guide.jinja:111 -#: pedagogy/templates/pedagogy/uv_detail.jinja:185 -#: sas/templates/sas/album.jinja:33 sas/templates/sas/moderation.jinja:18 -#: sas/templates/sas/picture.jinja:50 -#: stock/templates/stock/stock_shopping_list.jinja:43 -#: stock/templates/stock/stock_shopping_list.jinja:69 -#: trombi/templates/trombi/detail.jinja:35 +#: launderette/views.py:217 pedagogy/templates/pedagogy/guide.jinja:95 +#: pedagogy/templates/pedagogy/guide.jinja:110 +#: pedagogy/templates/pedagogy/uv_detail.jinja:189 +#: sas/templates/sas/album.jinja:32 sas/templates/sas/moderation.jinja:18 +#: sas/templates/sas/picture.jinja:50 trombi/templates/trombi/detail.jinja:35 #: trombi/templates/trombi/edit_profile.jinja:35 msgid "Delete" msgstr "Supprimer" #: accounting/templates/accounting/bank_account_details.jinja:18 -#: club/views.py:79 core/views/user.py:197 sas/templates/sas/picture.jinja:72 +#: club/views.py:79 core/views/user.py:200 sas/templates/sas/picture.jinja:72 msgid "Infos" msgstr "Infos" @@ -424,19 +419,18 @@ msgstr "Nouveau compte club" #: com/templates/com/weekmail.jinja:61 core/templates/core/file.jinja:38 #: core/templates/core/group_list.jinja:24 core/templates/core/page.jinja:35 #: core/templates/core/poster_list.jinja:40 -#: core/templates/core/user_tools.jinja:71 core/views/user.py:227 +#: core/templates/core/user_tools.jinja:71 core/views/user.py:230 #: counter/templates/counter/cash_summary_list.jinja:53 #: counter/templates/counter/counter_list.jinja:17 #: counter/templates/counter/counter_list.jinja:33 -#: counter/templates/counter/counter_list.jinja:55 +#: counter/templates/counter/counter_list.jinja:49 #: election/templates/election/election_detail.jinja:184 #: forum/templates/forum/macros.jinja:20 forum/templates/forum/macros.jinja:62 -#: forum/templates/forum/macros.jinja:128 #: launderette/templates/launderette/launderette_list.jinja:16 -#: pedagogy/templates/pedagogy/guide.jinja:95 -#: pedagogy/templates/pedagogy/guide.jinja:110 -#: pedagogy/templates/pedagogy/uv_detail.jinja:184 -#: sas/templates/sas/album.jinja:32 trombi/templates/trombi/detail.jinja:9 +#: pedagogy/templates/pedagogy/guide.jinja:94 +#: pedagogy/templates/pedagogy/guide.jinja:109 +#: pedagogy/templates/pedagogy/uv_detail.jinja:188 +#: sas/templates/sas/album.jinja:31 trombi/templates/trombi/detail.jinja:9 #: trombi/templates/trombi/edit_profile.jinja:34 msgid "Edit" msgstr "Éditer" @@ -490,9 +484,6 @@ msgstr "Vous ne pouvez pas créer de journal tant qu'il y en a un d'ouvert" #: accounting/templates/accounting/club_account_details.jinja:31 #: launderette/templates/launderette/launderette_admin.jinja:43 -#: stock/templates/stock/shopping_list_items.jinja:20 -#: stock/templates/stock/stock_shopping_list.jinja:26 -#: stock/templates/stock/stock_shopping_list.jinja:55 msgid "Name" msgstr "Nom" @@ -514,8 +505,8 @@ msgstr "Fin" #: accounting/templates/accounting/club_account_details.jinja:34 #: accounting/templates/accounting/journal_details.jinja:35 -#: core/templates/core/user_account_detail.jinja:53 -#: core/templates/core/user_account_detail.jinja:80 +#: core/templates/core/user_account_detail.jinja:58 +#: core/templates/core/user_account_detail.jinja:93 #: counter/templates/counter/last_ops.jinja:23 #: counter/templates/counter/refilling_list.jinja:13 msgid "Amount" @@ -526,7 +517,7 @@ msgid "Effective amount" msgstr "Montant effectif" #: accounting/templates/accounting/club_account_details.jinja:36 -#: sith/settings.py:459 +#: sith/settings.py:457 msgid "Closed" msgstr "Fermé" @@ -571,7 +562,7 @@ msgstr "Voir" #: accounting/templates/accounting/co_list.jinja:4 #: accounting/templates/accounting/journal_details.jinja:19 -#: core/templates/core/user_tools.jinja:103 +#: core/templates/core/user_tools.jinja:95 msgid "Company list" msgstr "Liste des entreprises" @@ -593,8 +584,8 @@ msgstr "Classeur : " #: accounting/templates/accounting/journal_details.jinja:20 #: accounting/templates/accounting/journal_statement_accounting.jinja:30 -#: core/templates/core/user_account.jinja:38 -#: core/templates/core/user_account_detail.jinja:10 +#: core/templates/core/user_account.jinja:39 +#: core/templates/core/user_account_detail.jinja:9 #: counter/templates/counter/counter_click.jinja:31 msgid "Amount: " msgstr "Montant : " @@ -617,24 +608,22 @@ msgid "Nb" msgstr "No" #: accounting/templates/accounting/journal_details.jinja:33 -#: club/templates/club/club_sellings.jinja:20 -#: core/templates/core/user_account_detail.jinja:17 -#: core/templates/core/user_account_detail.jinja:50 -#: core/templates/core/user_account_detail.jinja:78 +#: club/templates/club/club_sellings.jinja:48 +#: core/templates/core/user_account_detail.jinja:16 +#: core/templates/core/user_account_detail.jinja:55 +#: core/templates/core/user_account_detail.jinja:91 #: counter/templates/counter/cash_summary_list.jinja:34 #: counter/templates/counter/last_ops.jinja:20 #: counter/templates/counter/last_ops.jinja:45 #: counter/templates/counter/refilling_list.jinja:16 #: rootplace/templates/rootplace/logs.jinja:12 sas/views.py:310 -#: stock/templates/stock/stock_shopping_list.jinja:25 -#: stock/templates/stock/stock_shopping_list.jinja:54 #: trombi/templates/trombi/user_profile.jinja:40 msgid "Date" msgstr "Date" #: accounting/templates/accounting/journal_details.jinja:34 -#: club/templates/club/club_sellings.jinja:24 -#: core/templates/core/user_account_detail.jinja:20 +#: club/templates/club/club_sellings.jinja:52 +#: core/templates/core/user_account_detail.jinja:19 #: counter/templates/counter/last_ops.jinja:48 #: rootplace/templates/rootplace/logs.jinja:14 msgid "Label" @@ -649,7 +638,6 @@ msgid "Target" msgstr "Cible" #: accounting/templates/accounting/journal_details.jinja:38 -#: core/views/forms.py:87 msgid "Code" msgstr "Code" @@ -658,14 +646,13 @@ msgid "Nature" msgstr "Nature" #: accounting/templates/accounting/journal_details.jinja:40 -#: stock/templates/stock/stock_shopping_list.jinja:50 msgid "Done" msgstr "Effectuées" #: accounting/templates/accounting/journal_details.jinja:41 -#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:989 +#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:941 #: pedagogy/templates/pedagogy/moderation.jinja:13 -#: pedagogy/templates/pedagogy/uv_detail.jinja:138 +#: pedagogy/templates/pedagogy/uv_detail.jinja:142 #: trombi/templates/trombi/comment.jinja:4 #: trombi/templates/trombi/comment.jinja:8 #: trombi/templates/trombi/user_tools.jinja:51 @@ -726,7 +713,7 @@ msgstr "Nature de l'opération" #: accounting/templates/accounting/journal_statement_nature.jinja:26 #: accounting/templates/accounting/journal_statement_nature.jinja:45 -#: club/templates/club/club_sellings.jinja:14 +#: club/templates/club/club_sellings.jinja:42 #: counter/templates/counter/counter_main.jinja:33 msgid "Total: " msgstr "Total : " @@ -781,12 +768,12 @@ msgstr "Opération liée : " #: core/templates/core/macros_pages.jinja:25 #: core/templates/core/page_prop.jinja:11 #: core/templates/core/user_godfathers.jinja:61 -#: core/templates/core/user_godfathers_tree.jinja:91 +#: core/templates/core/user_godfathers_tree.jinja:85 #: core/templates/core/user_preferences.jinja:18 #: core/templates/core/user_preferences.jinja:27 #: core/templates/core/user_preferences.jinja:65 #: counter/templates/counter/cash_register_summary.jinja:28 -#: forum/templates/forum/reply.jinja:34 +#: forum/templates/forum/reply.jinja:39 #: subscription/templates/subscription/subscription.jinja:25 #: trombi/templates/trombi/comment.jinja:26 #: trombi/templates/trombi/edit_profile.jinja:13 @@ -968,27 +955,27 @@ msgstr "Une action est requise" msgid "You must specify at least an user or an email address" msgstr "vous devez spécifier au moins un utilisateur ou une adresse email" -#: club/forms.py:153 counter/forms.py:187 +#: club/forms.py:153 counter/forms.py:191 msgid "Begin date" msgstr "Date de début" -#: club/forms.py:156 com/views.py:82 com/views.py:201 counter/forms.py:190 +#: club/forms.py:156 com/views.py:83 com/views.py:202 counter/forms.py:194 #: election/views.py:167 subscription/views.py:38 msgid "End date" msgstr "Date de fin" -#: club/forms.py:160 club/templates/club/club_sellings.jinja:21 -#: core/templates/core/user_account_detail.jinja:18 -#: core/templates/core/user_account_detail.jinja:51 -#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:149 +#: club/forms.py:160 club/templates/club/club_sellings.jinja:49 +#: core/templates/core/user_account_detail.jinja:17 +#: core/templates/core/user_account_detail.jinja:56 +#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:138 msgid "Counter" msgstr "Comptoir" -#: club/forms.py:167 counter/views.py:733 +#: club/forms.py:167 counter/views.py:685 msgid "Products" msgstr "Produits" -#: club/forms.py:172 counter/views.py:738 +#: club/forms.py:172 counter/views.py:690 msgid "Archived products" msgstr "Produits archivés" @@ -1014,11 +1001,11 @@ msgstr "Vous devez choisir un rôle" msgid "You do not have the permission to do that" msgstr "Vous n'avez pas la permission de faire cela" -#: club/models.py:59 +#: club/models.py:60 msgid "unix name" msgstr "nom unix" -#: club/models.py:66 +#: club/models.py:67 msgid "" "Enter a valid unix name. This value may contain only letters, numbers ./-/_ " "characters." @@ -1026,90 +1013,90 @@ msgstr "" "Entrez un nom UNIX valide. Cette valeur peut contenir uniquement des " "lettres, des nombres, et les caractères ./-/_" -#: club/models.py:71 +#: club/models.py:72 msgid "A club with that unix name already exists." msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:74 +#: club/models.py:75 msgid "logo" msgstr "logo" -#: club/models.py:76 +#: club/models.py:77 msgid "is active" msgstr "actif" -#: club/models.py:78 +#: club/models.py:79 msgid "short description" msgstr "description courte" -#: club/models.py:80 core/models.py:367 +#: club/models.py:81 core/models.py:367 msgid "address" msgstr "Adresse" -#: club/models.py:97 core/models.py:278 +#: club/models.py:98 core/models.py:278 msgid "home" msgstr "home" -#: club/models.py:149 +#: club/models.py:150 msgid "You can not make loops in clubs" msgstr "Vous ne pouvez pas faire de boucles dans les clubs" -#: club/models.py:173 +#: club/models.py:174 msgid "A club with that unix_name already exists" msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:336 counter/models.py:855 counter/models.py:891 -#: eboutic/models.py:53 eboutic/models.py:169 election/models.py:183 -#: launderette/models.py:136 launderette/models.py:198 sas/models.py:270 +#: club/models.py:337 counter/models.py:890 counter/models.py:926 +#: eboutic/models.py:53 eboutic/models.py:185 election/models.py:183 +#: launderette/models.py:136 launderette/models.py:198 sas/models.py:274 #: trombi/models.py:206 msgid "user" msgstr "nom d'utilisateur" -#: club/models.py:353 core/models.py:331 election/models.py:178 +#: club/models.py:354 core/models.py:331 election/models.py:178 #: election/models.py:212 trombi/models.py:211 msgid "role" msgstr "rôle" -#: club/models.py:358 core/models.py:89 counter/models.py:214 -#: counter/models.py:247 election/models.py:13 election/models.py:115 +#: club/models.py:359 core/models.py:89 counter/models.py:221 +#: counter/models.py:254 election/models.py:13 election/models.py:115 #: election/models.py:188 forum/models.py:60 forum/models.py:244 msgid "description" msgstr "description" -#: club/models.py:416 club/models.py:512 +#: club/models.py:417 club/models.py:513 msgid "Email address" msgstr "Adresse email" -#: club/models.py:424 +#: club/models.py:425 msgid "Enter a valid address. Only the root of the address is needed." msgstr "" "Entrez une adresse valide. Seule la racine de l'adresse est nécessaire." -#: club/models.py:428 com/models.py:82 com/models.py:309 core/models.py:941 +#: club/models.py:429 com/models.py:82 com/models.py:309 core/models.py:941 msgid "is moderated" msgstr "est modéré" -#: club/models.py:432 com/models.py:86 com/models.py:313 +#: club/models.py:433 com/models.py:86 com/models.py:313 msgid "moderator" msgstr "modérateur" -#: club/models.py:459 +#: club/models.py:460 msgid "This mailing list already exists." msgstr "Cette liste de diffusion existe déjà." -#: club/models.py:498 club/templates/club/mailing.jinja:23 +#: club/models.py:499 club/templates/club/mailing.jinja:23 msgid "Mailing" msgstr "Liste de diffusion" -#: club/models.py:522 +#: club/models.py:523 msgid "At least user or email is required" msgstr "Au moins un utilisateur ou un email est nécessaire" -#: club/models.py:530 club/tests.py:769 +#: club/models.py:531 club/tests.py:769 msgid "This email is already suscribed in this mailing" msgstr "Cet email est déjà abonné à cette mailing" -#: club/models.py:558 +#: club/models.py:559 msgid "Unregistered user" msgstr "Utilisateur non enregistré" @@ -1163,7 +1150,7 @@ msgid "There are no members in this club." msgstr "Il n'y a pas de membres dans ce club." #: club/templates/club/club_members.jinja:80 -#: core/templates/core/file_detail.jinja:19 core/views/forms.py:335 +#: core/templates/core/file_detail.jinja:19 core/views/forms.py:314 #: launderette/views.py:217 trombi/templates/trombi/detail.jinja:19 msgid "Add" msgstr "Ajouter" @@ -1182,42 +1169,57 @@ msgstr "Du" msgid "To" msgstr "Au" -#: club/templates/club/club_sellings.jinja:5 +#: club/templates/club/club_sellings.jinja:13 +#: club/templates/club/club_sellings.jinja:15 +msgid "Previous" +msgstr "Précédent" + +#: club/templates/club/club_sellings.jinja:19 +msgid "current" +msgstr "actuel" + +#: club/templates/club/club_sellings.jinja:25 +#: club/templates/club/club_sellings.jinja:27 +msgid "Next" +msgstr "Suivant" + +#: club/templates/club/club_sellings.jinja:33 #: counter/templates/counter/counter_main.jinja:24 #: counter/templates/counter/last_ops.jinja:41 msgid "Sales" msgstr "Ventes" -#: club/templates/club/club_sellings.jinja:9 club/templates/club/stats.jinja:19 +#: club/templates/club/club_sellings.jinja:37 +#: club/templates/club/stats.jinja:19 #: counter/templates/counter/cash_summary_list.jinja:15 msgid "Show" msgstr "Montrer" -#: club/templates/club/club_sellings.jinja:10 +#: club/templates/club/club_sellings.jinja:38 msgid "Download as cvs" msgstr "Télécharger en CSV" -#: club/templates/club/club_sellings.jinja:13 +#: club/templates/club/club_sellings.jinja:41 msgid "Quantity: " msgstr "Quantité : " -#: club/templates/club/club_sellings.jinja:13 +#: club/templates/club/club_sellings.jinja:41 msgid "units" msgstr "unités" -#: club/templates/club/club_sellings.jinja:15 +#: club/templates/club/club_sellings.jinja:43 msgid "Benefit: " msgstr "Bénéfice : " -#: club/templates/club/club_sellings.jinja:22 -#: core/templates/core/user_account_detail.jinja:19 -#: core/templates/core/user_account_detail.jinja:52 +#: club/templates/club/club_sellings.jinja:50 +#: core/templates/core/user_account_detail.jinja:18 +#: core/templates/core/user_account_detail.jinja:57 #: counter/templates/counter/last_ops.jinja:21 #: counter/templates/counter/last_ops.jinja:46 msgid "Barman" msgstr "Barman" -#: club/templates/club/club_sellings.jinja:23 +#: club/templates/club/club_sellings.jinja:51 #: counter/templates/counter/counter_click.jinja:28 #: counter/templates/counter/last_ops.jinja:22 #: counter/templates/counter/last_ops.jinja:47 @@ -1225,16 +1227,16 @@ msgstr "Barman" msgid "Customer" msgstr "Client" -#: club/templates/club/club_sellings.jinja:25 -#: core/templates/core/user_account_detail.jinja:21 +#: club/templates/club/club_sellings.jinja:53 +#: core/templates/core/user_account_detail.jinja:20 #: core/templates/core/user_stats.jinja:44 #: counter/templates/counter/last_ops.jinja:49 msgid "Quantity" msgstr "Quantité" -#: club/templates/club/club_sellings.jinja:26 +#: club/templates/club/club_sellings.jinja:54 #: core/templates/core/user_account.jinja:10 -#: core/templates/core/user_account_detail.jinja:22 +#: core/templates/core/user_account_detail.jinja:21 #: counter/templates/counter/cash_summary_list.jinja:35 #: counter/templates/counter/last_ops.jinja:50 #: counter/templates/counter/stats.jinja:23 @@ -1243,9 +1245,9 @@ msgstr "Quantité" msgid "Total" msgstr "Total" -#: club/templates/club/club_sellings.jinja:27 -#: core/templates/core/user_account_detail.jinja:23 -#: core/templates/core/user_account_detail.jinja:54 +#: club/templates/club/club_sellings.jinja:55 +#: core/templates/core/user_account_detail.jinja:22 +#: core/templates/core/user_account_detail.jinja:59 #: core/templates/core/user_detail.jinja:186 #: counter/templates/counter/last_ops.jinja:24 #: counter/templates/counter/last_ops.jinja:51 @@ -1254,7 +1256,7 @@ msgid "Payment method" msgstr "Méthode de paiement" #: club/templates/club/club_tools.jinja:4 -#: core/templates/core/user_tools.jinja:157 +#: core/templates/core/user_tools.jinja:149 msgid "Club tools" msgstr "Outils club" @@ -1281,7 +1283,7 @@ msgstr "Nouveau Trombi" #: club/templates/club/club_tools.jinja:14 #: com/templates/com/poster_list.jinja:17 #: core/templates/core/poster_list.jinja:17 -#: core/templates/core/user_tools.jinja:145 +#: core/templates/core/user_tools.jinja:137 msgid "Posters" msgstr "Affiches" @@ -1371,7 +1373,7 @@ msgstr "Anciens membres" msgid "History" msgstr "Historique" -#: club/views.py:116 core/templates/core/base.jinja:102 core/views/user.py:220 +#: club/views.py:116 core/templates/core/base.jinja:107 core/views/user.py:223 #: sas/templates/sas/picture.jinja:91 trombi/views.py:61 msgid "Tools" msgstr "Outils" @@ -1388,13 +1390,13 @@ msgstr "Vente" msgid "Mailing list" msgstr "Listes de diffusion" -#: club/views.py:161 com/views.py:133 +#: club/views.py:161 com/views.py:134 msgid "Posters list" msgstr "Liste d'affiches" #: club/views.py:171 counter/templates/counter/counter_list.jinja:21 -#: counter/templates/counter/counter_list.jinja:43 -#: counter/templates/counter/counter_list.jinja:59 +#: counter/templates/counter/counter_list.jinja:37 +#: counter/templates/counter/counter_list.jinja:53 msgid "Props" msgstr "Propriétés" @@ -1441,8 +1443,7 @@ msgid "content" msgstr "contenu" #: com/models.py:71 core/models.py:1503 launderette/models.py:92 -#: launderette/models.py:130 launderette/models.py:181 stock/models.py:74 -#: stock/models.py:129 +#: launderette/models.py:130 launderette/models.py:181 msgid "type" msgstr "type" @@ -1503,8 +1504,8 @@ msgstr "temps d'affichage" msgid "Begin date should be before end date" msgstr "La date de début doit être avant celle de fin" -#: com/templates/com/mailing_admin.jinja:4 com/views.py:126 -#: core/templates/core/user_tools.jinja:144 +#: com/templates/com/mailing_admin.jinja:4 com/views.py:127 +#: core/templates/core/user_tools.jinja:136 msgid "Mailing lists administration" msgstr "Administration des mailing listes" @@ -1552,7 +1553,7 @@ msgstr "Nouvelles" #: com/templates/com/news_admin_list.jinja:11 #: com/templates/com/news_edit.jinja:8 com/templates/com/news_edit.jinja:31 -#: core/templates/core/user_tools.jinja:139 +#: core/templates/core/user_tools.jinja:131 msgid "Create news" msgstr "Créer nouvelle" @@ -1586,9 +1587,9 @@ msgstr "Type" #: com/templates/com/news_admin_list.jinja:249 #: com/templates/com/news_admin_list.jinja:286 #: com/templates/com/weekmail.jinja:19 com/templates/com/weekmail.jinja:48 -#: forum/templates/forum/forum.jinja:28 forum/templates/forum/forum.jinja:47 -#: forum/templates/forum/main.jinja:30 forum/views.py:246 -#: pedagogy/templates/pedagogy/guide.jinja:89 +#: forum/templates/forum/forum.jinja:32 forum/templates/forum/forum.jinja:51 +#: forum/templates/forum/main.jinja:34 forum/views.py:246 +#: pedagogy/templates/pedagogy/guide.jinja:88 msgid "Title" msgstr "Titre" @@ -1612,7 +1613,7 @@ msgstr "Résumé" #: com/templates/com/news_admin_list.jinja:252 #: com/templates/com/news_admin_list.jinja:289 #: com/templates/com/weekmail.jinja:17 com/templates/com/weekmail.jinja:46 -#: forum/templates/forum/forum.jinja:51 +#: forum/templates/forum/forum.jinja:55 msgid "Author" msgstr "Auteur" @@ -1658,7 +1659,7 @@ msgid "Calls to moderate" msgstr "Appels à modérer" #: com/templates/com/news_admin_list.jinja:242 -#: core/templates/core/base.jinja:217 +#: core/templates/core/base.jinja:222 msgid "Events" msgstr "Événements" @@ -1804,7 +1805,7 @@ msgid "Screen - edit" msgstr "Écran - modifier" #: com/templates/com/screen_list.jinja:4 com/templates/com/screen_list.jinja:11 -#: core/templates/core/user_tools.jinja:146 +#: core/templates/core/user_tools.jinja:138 msgid "Screens" msgstr "Écrans" @@ -1814,12 +1815,11 @@ msgstr "Pas d'écran" #: com/templates/com/screen_list.jinja:27 #: com/templates/com/screen_slideshow.jinja:4 -#: core/templates/core/screen_slideshow.jinja:4 msgid "Slideshow" msgstr "Diaporama" #: com/templates/com/weekmail.jinja:5 com/templates/com/weekmail.jinja:9 -#: com/views.py:103 core/templates/core/user_tools.jinja:137 +#: com/views.py:104 core/templates/core/user_tools.jinja:129 msgid "Weekmail" msgstr "Weekmail" @@ -1861,11 +1861,10 @@ msgid "Delete from weekmail" msgstr "Supprimer du Weekmail" #: com/templates/com/weekmail_preview.jinja:9 -#: core/templates/core/user_account_detail.jinja:11 -#: core/templates/core/user_account_detail.jinja:104 launderette/views.py:217 -#: pedagogy/templates/pedagogy/uv_detail.jinja:12 -#: pedagogy/templates/pedagogy/uv_detail.jinja:21 -#: stock/templates/stock/shopping_list_items.jinja:9 +#: core/templates/core/user_account_detail.jinja:10 +#: core/templates/core/user_account_detail.jinja:116 launderette/views.py:217 +#: pedagogy/templates/pedagogy/uv_detail.jinja:16 +#: pedagogy/templates/pedagogy/uv_detail.jinja:25 #: trombi/templates/trombi/comment_moderation.jinja:10 #: trombi/templates/trombi/export.jinja:9 msgid "Back" @@ -1916,60 +1915,60 @@ msgstr "Astuce" msgid "Final word" msgstr "Le mot de la fin" -#: com/views.py:73 +#: com/views.py:74 msgid "Format: 16:9 | Resolution: 1920x1080" msgstr "Format : 16:9 | Résolution : 1920x1080" -#: com/views.py:76 com/views.py:198 election/views.py:164 +#: com/views.py:77 com/views.py:199 election/views.py:164 #: subscription/views.py:35 msgid "Start date" msgstr "Date de début" -#: com/views.py:98 +#: com/views.py:99 msgid "Communication administration" msgstr "Administration de la communication" -#: com/views.py:109 core/templates/core/user_tools.jinja:138 +#: com/views.py:110 core/templates/core/user_tools.jinja:130 msgid "Weekmail destinations" msgstr "Destinataires du Weekmail" -#: com/views.py:113 +#: com/views.py:114 msgid "Info message" msgstr "Message d'info" -#: com/views.py:119 +#: com/views.py:120 msgid "Alert message" msgstr "Message d'alerte" -#: com/views.py:140 +#: com/views.py:141 msgid "Screens list" msgstr "Liste d'écrans" -#: com/views.py:203 +#: com/views.py:204 msgid "Until" msgstr "Jusqu'à" -#: com/views.py:205 +#: com/views.py:206 msgid "Automoderation" msgstr "Automodération" -#: com/views.py:212 com/views.py:216 com/views.py:230 +#: com/views.py:213 com/views.py:217 com/views.py:231 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: com/views.py:226 +#: com/views.py:227 msgid "You crazy? You can not finish an event before starting it." msgstr "T'es fou? Un événement ne peut pas finir avant même de commencer." -#: com/views.py:450 +#: com/views.py:451 msgid "Delete and save to regenerate" msgstr "Supprimer et sauver pour régénérer" -#: com/views.py:465 +#: com/views.py:466 msgid "Weekmail of the " msgstr "Weekmail du " -#: com/views.py:569 +#: com/views.py:570 msgid "" "You must be a board member of the selected club to post in the Weekmail." msgstr "" @@ -2220,8 +2219,9 @@ msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" #: core/templates/core/user_edit.jinja:21 #: election/templates/election/election_detail.jinja:132 #: election/templates/election/election_detail.jinja:134 -#: forum/templates/forum/macros.jinja:104 -#: forum/templates/forum/macros.jinja:106 +#: forum/templates/forum/macros.jinja:105 +#: forum/templates/forum/macros.jinja:107 +#: forum/templates/forum/macros.jinja:109 #: trombi/templates/trombi/user_tools.jinja:42 msgid "Profile" msgstr "Profil" @@ -2396,163 +2396,163 @@ msgstr "500, Erreur Serveur" msgid "Welcome!" msgstr "Bienvenue !" -#: core/templates/core/base.jinja:60 core/templates/core/login.jinja:8 +#: core/templates/core/base.jinja:59 core/templates/core/login.jinja:8 #: core/templates/core/login.jinja:18 core/templates/core/login.jinja:51 #: core/templates/core/password_reset_complete.jinja:5 msgid "Login" msgstr "Connexion" -#: core/templates/core/base.jinja:61 core/templates/core/register.jinja:7 +#: core/templates/core/base.jinja:60 core/templates/core/register.jinja:7 #: core/templates/core/register.jinja:16 core/templates/core/register.jinja:22 msgid "Register" msgstr "Inscription" -#: core/templates/core/base.jinja:67 core/templates/core/base.jinja:68 -#: forum/templates/forum/macros.jinja:171 -#: forum/templates/forum/macros.jinja:175 -#: matmat/templates/matmat/search_form.jinja:37 -#: matmat/templates/matmat/search_form.jinja:46 -#: matmat/templates/matmat/search_form.jinja:56 +#: core/templates/core/base.jinja:66 core/templates/core/base.jinja:67 +#: forum/templates/forum/macros.jinja:179 +#: forum/templates/forum/macros.jinja:183 +#: matmat/templates/matmat/search_form.jinja:39 +#: matmat/templates/matmat/search_form.jinja:48 +#: matmat/templates/matmat/search_form.jinja:58 msgid "Search" msgstr "Recherche" -#: core/templates/core/base.jinja:103 +#: core/templates/core/base.jinja:108 msgid "Logout" msgstr "Déconnexion" -#: core/templates/core/base.jinja:151 +#: core/templates/core/base.jinja:156 msgid "You do not have any unread notification" msgstr "Vous n'avez aucune notification non lue" -#: core/templates/core/base.jinja:156 +#: core/templates/core/base.jinja:161 msgid "View more" msgstr "Voir plus" -#: core/templates/core/base.jinja:159 -#: forum/templates/forum/last_unread.jinja:17 +#: core/templates/core/base.jinja:164 +#: forum/templates/forum/last_unread.jinja:21 msgid "Mark all as read" msgstr "Marquer tout comme lu" -#: core/templates/core/base.jinja:207 +#: core/templates/core/base.jinja:212 msgid "Main" msgstr "Accueil" -#: core/templates/core/base.jinja:209 +#: core/templates/core/base.jinja:214 msgid "Associations & Clubs" msgstr "Associations & Clubs" -#: core/templates/core/base.jinja:211 +#: core/templates/core/base.jinja:216 msgid "AE" msgstr "L'AE" -#: core/templates/core/base.jinja:212 +#: core/templates/core/base.jinja:217 msgid "AE's clubs" msgstr "Les clubs de L'AE" -#: core/templates/core/base.jinja:213 +#: core/templates/core/base.jinja:218 msgid "Others UTBM's Associations" msgstr "Les autres associations de l'UTBM" -#: core/templates/core/base.jinja:219 core/templates/core/user_tools.jinja:180 +#: core/templates/core/base.jinja:224 core/templates/core/user_tools.jinja:172 msgid "Elections" msgstr "Élections" -#: core/templates/core/base.jinja:220 +#: core/templates/core/base.jinja:225 msgid "Big event" msgstr "Grandes Activités" -#: core/templates/core/base.jinja:223 -#: forum/templates/forum/favorite_topics.jinja:14 -#: forum/templates/forum/last_unread.jinja:14 +#: core/templates/core/base.jinja:228 +#: forum/templates/forum/favorite_topics.jinja:18 +#: forum/templates/forum/last_unread.jinja:18 #: forum/templates/forum/macros.jinja:90 forum/templates/forum/main.jinja:6 -#: forum/templates/forum/main.jinja:11 forum/templates/forum/main.jinja:14 -#: forum/templates/forum/reply.jinja:16 +#: forum/templates/forum/main.jinja:15 forum/templates/forum/main.jinja:18 +#: forum/templates/forum/reply.jinja:21 msgid "Forum" msgstr "Forum" -#: core/templates/core/base.jinja:224 +#: core/templates/core/base.jinja:229 msgid "Gallery" msgstr "Photos" -#: core/templates/core/base.jinja:225 counter/models.py:391 +#: core/templates/core/base.jinja:230 counter/models.py:421 #: counter/templates/counter/counter_list.jinja:11 #: eboutic/templates/eboutic/eboutic_main.jinja:4 #: eboutic/templates/eboutic/eboutic_main.jinja:22 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:16 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:412 sith/settings.py:420 +#: sith/settings.py:410 sith/settings.py:418 msgid "Eboutic" msgstr "Eboutic" -#: core/templates/core/base.jinja:227 +#: core/templates/core/base.jinja:232 msgid "Services" msgstr "Services" -#: core/templates/core/base.jinja:229 +#: core/templates/core/base.jinja:234 msgid "Matmatronch" msgstr "Matmatronch" -#: core/templates/core/base.jinja:230 launderette/models.py:38 +#: core/templates/core/base.jinja:235 launderette/models.py:38 #: launderette/templates/launderette/launderette_book.jinja:5 #: launderette/templates/launderette/launderette_book_choose.jinja:4 #: launderette/templates/launderette/launderette_main.jinja:4 msgid "Launderette" msgstr "Laverie" -#: core/templates/core/base.jinja:231 core/templates/core/file.jinja:20 +#: core/templates/core/base.jinja:236 core/templates/core/file.jinja:20 #: core/views/files.py:116 msgid "Files" msgstr "Fichiers" -#: core/templates/core/base.jinja:232 core/templates/core/user_tools.jinja:171 +#: core/templates/core/base.jinja:237 core/templates/core/user_tools.jinja:163 msgid "Pedagogy" msgstr "Pédagogie" -#: core/templates/core/base.jinja:236 +#: core/templates/core/base.jinja:241 msgid "My Benefits" msgstr "Mes Avantages" -#: core/templates/core/base.jinja:238 +#: core/templates/core/base.jinja:243 msgid "Sponsors" msgstr "Partenaires" -#: core/templates/core/base.jinja:239 +#: core/templates/core/base.jinja:244 msgid "Subscriber benefits" msgstr "Les avantages cotisants" -#: core/templates/core/base.jinja:243 +#: core/templates/core/base.jinja:248 msgid "Help" msgstr "Aide" -#: core/templates/core/base.jinja:245 +#: core/templates/core/base.jinja:250 msgid "FAQ" msgstr "FAQ" -#: core/templates/core/base.jinja:246 core/templates/core/base.jinja:286 +#: core/templates/core/base.jinja:251 core/templates/core/base.jinja:291 msgid "Contacts" msgstr "Contacts" -#: core/templates/core/base.jinja:247 +#: core/templates/core/base.jinja:252 msgid "Wiki" msgstr "Wiki" -#: core/templates/core/base.jinja:287 +#: core/templates/core/base.jinja:292 msgid "Legal notices" msgstr "Mentions légales" -#: core/templates/core/base.jinja:288 +#: core/templates/core/base.jinja:293 msgid "Intellectual property" msgstr "Propriété intellectuelle" -#: core/templates/core/base.jinja:289 +#: core/templates/core/base.jinja:294 msgid "Help & Documentation" msgstr "Aide & Documentation" -#: core/templates/core/base.jinja:290 +#: core/templates/core/base.jinja:295 msgid "R&D" msgstr "R&D" -#: core/templates/core/base.jinja:293 +#: core/templates/core/base.jinja:298 msgid "Site created by the IT Department of the AE" msgstr "Site réalisé par le Pôle Informatique de l'AE" @@ -2618,20 +2618,20 @@ msgstr "Propriétés" msgid "Owner: " msgstr "Propriétaire : " -#: core/templates/core/file_detail.jinja:26 sas/templates/sas/album.jinja:47 +#: core/templates/core/file_detail.jinja:26 sas/templates/sas/album.jinja:46 #: sas/templates/sas/main.jinja:49 msgid "Clear clipboard" msgstr "Vider le presse-papier" -#: core/templates/core/file_detail.jinja:27 sas/templates/sas/album.jinja:34 +#: core/templates/core/file_detail.jinja:27 sas/templates/sas/album.jinja:33 msgid "Cut" msgstr "Couper" -#: core/templates/core/file_detail.jinja:28 sas/templates/sas/album.jinja:35 +#: core/templates/core/file_detail.jinja:28 sas/templates/sas/album.jinja:34 msgid "Paste" msgstr "Coller" -#: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:41 +#: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:40 #: sas/templates/sas/main.jinja:43 msgid "Clipboard: " msgstr "Presse-papier : " @@ -2768,23 +2768,11 @@ msgstr "Créneau" msgid "Tokens" msgstr "Jetons" -#: core/templates/core/macros.jinja:163 core/templates/core/macros.jinja:165 -msgid "Previous" -msgstr "Précédent" - -#: core/templates/core/macros.jinja:169 -msgid "current" -msgstr "actuel" - -#: core/templates/core/macros.jinja:175 core/templates/core/macros.jinja:177 -msgid "Next" -msgstr "Suivant" - -#: core/templates/core/macros.jinja:193 +#: core/templates/core/macros.jinja:213 msgid "Select All" msgstr "Tout sélectionner" -#: core/templates/core/macros.jinja:194 +#: core/templates/core/macros.jinja:214 msgid "Unselect All" msgstr "Tout désélectionner" @@ -2907,7 +2895,7 @@ msgstr "Vous avez correctement changé votre mot de passe !" #: core/templates/core/password_reset.jinja:8 #: core/templates/core/password_reset_confirm.jinja:8 -#: core/templates/core/user_godfathers_tree.jinja:87 +#: core/templates/core/user_godfathers_tree.jinja:81 msgid "Reset" msgstr "Réinitialiser" @@ -3010,7 +2998,7 @@ msgstr "Résultat de la recherche" msgid "Users" msgstr "Utilisateurs" -#: core/templates/core/search.jinja:20 core/views/user.py:242 +#: core/templates/core/search.jinja:20 core/views/user.py:245 msgid "Clubs" msgstr "Clubs" @@ -3022,45 +3010,44 @@ msgstr "Année" msgid "Month" msgstr "Mois" -#: core/templates/core/user_account.jinja:32 +#: core/templates/core/user_account.jinja:33 #: core/templates/core/user_account_detail.jinja:4 #, python-format msgid "%(user_name)s's account" msgstr "Compte de %(user_name)s" -#: core/templates/core/user_account.jinja:37 -#: core/templates/core/user_account_detail.jinja:9 +#: core/templates/core/user_account.jinja:38 +#: core/templates/core/user_account_detail.jinja:8 msgid "User account" msgstr "Compte utilisateur" -#: core/templates/core/user_account.jinja:44 -#: core/templates/core/user_account_detail.jinja:13 +#: core/templates/core/user_account.jinja:42 +#: core/templates/core/user_account_detail.jinja:12 msgid "Account purchases" msgstr "Achats du compte" -#: core/templates/core/user_account.jinja:48 -#: core/templates/core/user_account_detail.jinja:46 +#: core/templates/core/user_account.jinja:46 +#: core/templates/core/user_account_detail.jinja:51 #: counter/templates/counter/cash_summary_list.jinja:17 #: counter/templates/counter/last_ops.jinja:16 msgid "Reloads" msgstr "Rechargements" -#: core/templates/core/user_account.jinja:53 -#: core/templates/core/user_account_detail.jinja:74 +#: core/templates/core/user_account.jinja:50 +#: core/templates/core/user_account_detail.jinja:87 msgid "Eboutic invoices" msgstr "Facture eboutic" -#: core/templates/core/user_account.jinja:57 -#: core/templates/core/user_tools.jinja:58 counter/views.py:758 +#: core/templates/core/user_account.jinja:54 +#: core/templates/core/user_tools.jinja:58 counter/views.py:710 msgid "Etickets" msgstr "Etickets" -#: core/templates/core/user_account.jinja:68 -#: core/templates/core/user_account_detail.jinja:102 +#: core/templates/core/user_account.jinja:69 core/views/user.py:638 msgid "User has no account" msgstr "L'utilisateur n'a pas de compte" -#: core/templates/core/user_account_detail.jinja:79 +#: core/templates/core/user_account_detail.jinja:92 msgid "Items" msgstr "Articles" @@ -3241,22 +3228,22 @@ msgstr "Fillots / Fillotes" msgid "No godchildren" msgstr "Pas de fillots / fillotes" -#: core/templates/core/user_godfathers_tree.jinja:20 +#: core/templates/core/user_godfathers_tree.jinja:14 #, python-format msgid "%(user_name)s's family tree" msgstr "Arbre généalogique de %(user_name)s" -#: core/templates/core/user_godfathers_tree.jinja:29 +#: core/templates/core/user_godfathers_tree.jinja:23 #, python-format msgid "Max godfather depth between %(min)s and %(max)s" msgstr "Maximum de profondeur pour les parrains entre %(min)s et %(max)s" -#: core/templates/core/user_godfathers_tree.jinja:55 +#: core/templates/core/user_godfathers_tree.jinja:49 #, python-format msgid "Max godchildren depth between %(min)s and %(max)s" msgstr "Maximum de profondeur pour les fillots entre %(min)s et %(max)s" -#: core/templates/core/user_godfathers_tree.jinja:83 +#: core/templates/core/user_godfathers_tree.jinja:77 msgid "Reverse" msgstr "Inverser" @@ -3269,26 +3256,22 @@ msgstr "Éditer les groupes pour %(user_name)s" msgid "User list" msgstr "Liste d'utilisateurs" -#: core/templates/core/user_pictures.jinja:16 +#: core/templates/core/user_pictures.jinja:12 #, python-format msgid "%(user_name)s's pictures" msgstr "Photos de %(user_name)s" -#: core/templates/core/user_pictures.jinja:29 +#: core/templates/core/user_pictures.jinja:25 msgid "Download all my pictures" msgstr "Télécharger toutes mes photos" -#: core/templates/core/user_pictures.jinja:49 sas/templates/sas/album.jinja:75 +#: core/templates/core/user_pictures.jinja:45 sas/templates/sas/album.jinja:74 #: sas/templates/sas/macros.jinja:16 msgid "To be moderated" msgstr "A modérer" -#: core/templates/core/user_pictures.jinja:120 -msgid "pictures" -msgstr "photos" - #: core/templates/core/user_preferences.jinja:8 -#: core/templates/core/user_preferences.jinja:13 core/views/user.py:234 +#: core/templates/core/user_preferences.jinja:13 core/views/user.py:237 msgid "Preferences" msgstr "Préférences" @@ -3346,7 +3329,7 @@ msgstr "Achats" msgid "Product top 10" msgstr "Top 10 produits" -#: core/templates/core/user_stats.jinja:43 counter/forms.py:201 +#: core/templates/core/user_stats.jinja:43 counter/forms.py:205 msgid "Product" msgstr "Produit" @@ -3363,7 +3346,7 @@ msgstr "Outils utilisateurs" msgid "Sith management" msgstr "Gestion de Sith" -#: core/templates/core/user_tools.jinja:21 core/views/user.py:250 +#: core/templates/core/user_tools.jinja:21 core/views/user.py:253 msgid "Groups" msgstr "Groupes" @@ -3391,8 +3374,8 @@ msgstr "Cotisations" msgid "Subscription stats" msgstr "Statistiques de cotisation" -#: core/templates/core/user_tools.jinja:48 counter/forms.py:160 -#: counter/views.py:728 +#: core/templates/core/user_tools.jinja:48 counter/forms.py:164 +#: counter/views.py:680 msgid "Counters" msgstr "Comptoirs" @@ -3409,106 +3392,94 @@ msgid "Product types management" msgstr "Gestion des types de produit" #: core/templates/core/user_tools.jinja:56 -#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:748 +#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:700 msgid "Cash register summaries" msgstr "Relevés de caisse" #: core/templates/core/user_tools.jinja:57 -#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:753 +#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:705 msgid "Invoices call" msgstr "Appels à facture" -#: core/templates/core/user_tools.jinja:72 core/views/user.py:269 +#: core/templates/core/user_tools.jinja:72 core/views/user.py:272 #: counter/templates/counter/counter_list.jinja:18 #: counter/templates/counter/counter_list.jinja:34 -#: counter/templates/counter/counter_list.jinja:56 +#: counter/templates/counter/counter_list.jinja:50 msgid "Stats" msgstr "Stats" -#: core/templates/core/user_tools.jinja:78 -#: counter/templates/counter/counter_list.jinja:38 -#: stock/templates/stock/stock_item_list.jinja:11 -#: stock/templates/stock/stock_list.jinja:16 -msgid "Shopping lists" -msgstr "Liste de courses" - -#: core/templates/core/user_tools.jinja:80 -#: counter/templates/counter/counter_list.jinja:40 -msgid "Create new stock" -msgstr "Créer nouveau stock" - -#: core/templates/core/user_tools.jinja:101 +#: core/templates/core/user_tools.jinja:93 msgid "Refound Account" msgstr "Rembourser un compte" -#: core/templates/core/user_tools.jinja:102 +#: core/templates/core/user_tools.jinja:94 msgid "General accounting" msgstr "Comptabilité générale" -#: core/templates/core/user_tools.jinja:117 +#: core/templates/core/user_tools.jinja:109 msgid "Club account: " msgstr "Compte club : " -#: core/templates/core/user_tools.jinja:133 +#: core/templates/core/user_tools.jinja:125 msgid "Communication" msgstr "Communication" -#: core/templates/core/user_tools.jinja:136 +#: core/templates/core/user_tools.jinja:128 msgid "Create weekmail article" msgstr "Rédiger un nouvel article dans le Weekmail" -#: core/templates/core/user_tools.jinja:140 +#: core/templates/core/user_tools.jinja:132 msgid "Moderate news" msgstr "Modérer les nouvelles" -#: core/templates/core/user_tools.jinja:141 +#: core/templates/core/user_tools.jinja:133 msgid "Edit alert message" msgstr "Éditer le message d'alerte" -#: core/templates/core/user_tools.jinja:142 +#: core/templates/core/user_tools.jinja:134 msgid "Edit information message" msgstr "Éditer le message d'informations" -#: core/templates/core/user_tools.jinja:143 +#: core/templates/core/user_tools.jinja:135 msgid "Moderate files" msgstr "Modérer les fichiers" -#: core/templates/core/user_tools.jinja:149 +#: core/templates/core/user_tools.jinja:141 msgid "Moderate pictures" msgstr "Modérer les photos" -#: core/templates/core/user_tools.jinja:173 -#: pedagogy/templates/pedagogy/guide.jinja:22 +#: core/templates/core/user_tools.jinja:165 +#: pedagogy/templates/pedagogy/guide.jinja:21 msgid "Create UV" msgstr "Créer UV" -#: core/templates/core/user_tools.jinja:174 -#: pedagogy/templates/pedagogy/guide.jinja:25 +#: core/templates/core/user_tools.jinja:166 +#: pedagogy/templates/pedagogy/guide.jinja:24 #: trombi/templates/trombi/detail.jinja:10 msgid "Moderate comments" msgstr "Modérer les commentaires" -#: core/templates/core/user_tools.jinja:182 +#: core/templates/core/user_tools.jinja:174 msgid "See available elections" msgstr "Voir les élections disponibles" -#: core/templates/core/user_tools.jinja:183 +#: core/templates/core/user_tools.jinja:175 msgid "See archived elections" msgstr "Voir les élections archivées" -#: core/templates/core/user_tools.jinja:185 +#: core/templates/core/user_tools.jinja:177 msgid "Create a new election" msgstr "Créer une nouvelle élection" -#: core/templates/core/user_tools.jinja:191 +#: core/templates/core/user_tools.jinja:183 msgid "Other tools" msgstr "Autres outils" -#: core/templates/core/user_tools.jinja:193 +#: core/templates/core/user_tools.jinja:185 msgid "Trombi tools" msgstr "Outils Trombi" -#: core/templatetags/renderer.py:89 +#: core/templatetags/renderer.py:81 #, python-format msgid "%(nb_days)d day, %(remainder)s" msgid_plural "%(nb_days)d days, %(remainder)s" @@ -3524,7 +3495,7 @@ msgstr "Ajouter un nouveau dossier" msgid "Error creating folder %(folder_name)s: %(msg)s" msgstr "Erreur de création du dossier %(folder_name)s : %(msg)s" -#: core/views/files.py:153 core/views/forms.py:300 core/views/forms.py:307 +#: core/views/files.py:153 core/views/forms.py:279 core/views/forms.py:286 #: sas/views.py:81 #, python-format msgid "Error uploading file %(file_name)s: %(msg)s" @@ -3534,95 +3505,23 @@ msgstr "Erreur d'envoi du fichier %(file_name)s : %(msg)s" msgid "Apply rights recursively" msgstr "Appliquer les droits récursivement" -#: core/views/forms.py:80 -msgid "Heading" -msgstr "Titre" - -#: core/views/forms.py:81 -msgid "Italic" -msgstr "Italique" - -#: core/views/forms.py:82 -msgid "Bold" -msgstr "Gras" - -#: core/views/forms.py:83 -msgid "Strikethrough" -msgstr "Barré" - -#: core/views/forms.py:84 -msgid "Underline" -msgstr "Souligné" - -#: core/views/forms.py:85 -msgid "Superscript" -msgstr "Exposant" - -#: core/views/forms.py:86 -msgid "Subscript" -msgstr "Indice" - #: core/views/forms.py:88 -msgid "Quote" -msgstr "Citation" - -#: core/views/forms.py:89 -msgid "Unordered list" -msgstr "Liste non ordonnée" - -#: core/views/forms.py:90 -msgid "Ordered list" -msgstr "Liste ordonnée" - -#: core/views/forms.py:91 -msgid "Insert image" -msgstr "Insérer image" - -#: core/views/forms.py:92 -msgid "Insert link" -msgstr "Insérer lien" - -#: core/views/forms.py:93 -msgid "Insert table" -msgstr "Insérer tableau" - -#: core/views/forms.py:94 -msgid "Clean block" -msgstr "Nettoyer bloc" - -#: core/views/forms.py:95 -msgid "Toggle preview" -msgstr "Activer la prévisualisation" - -#: core/views/forms.py:96 -msgid "Toggle side by side" -msgstr "Activer la vue côte à côte" - -#: core/views/forms.py:97 -msgid "Toggle fullscreen" -msgstr "Activer le plein écran" - -#: core/views/forms.py:98 -msgid "Markdown guide" -msgstr "Guide markdown" - -#: core/views/forms.py:109 msgid "Unsupported NFC card" msgstr "Carte NFC non supportée" -#: core/views/forms.py:123 core/views/forms.py:131 +#: core/views/forms.py:102 core/views/forms.py:110 msgid "Choose file" msgstr "Choisir un fichier" -#: core/views/forms.py:147 core/views/forms.py:155 +#: core/views/forms.py:126 core/views/forms.py:134 msgid "Choose user" msgstr "Choisir un utilisateur" -#: core/views/forms.py:187 +#: core/views/forms.py:166 msgid "Username, email, or account number" msgstr "Nom d'utilisateur, email, ou numéro de compte AE" -#: core/views/forms.py:250 +#: core/views/forms.py:229 msgid "" "Profile: you need to be visible on the picture, in order to be recognized (e." "g. by the barmen)" @@ -3630,55 +3529,55 @@ msgstr "" "Photo de profil: vous devez être visible sur la photo afin d'être reconnu " "(par exemple par les barmen)" -#: core/views/forms.py:255 +#: core/views/forms.py:234 msgid "Avatar: used on the forum" msgstr "Avatar : utilisé sur le forum" -#: core/views/forms.py:259 +#: core/views/forms.py:238 msgid "Scrub: let other know how your scrub looks like!" msgstr "Blouse : montrez aux autres à quoi ressemble votre blouse !" -#: core/views/forms.py:311 +#: core/views/forms.py:290 msgid "Bad image format, only jpeg, png, webp and gif are accepted" msgstr "Mauvais format d'image, seuls les jpeg, png, webp et gif sont acceptés" -#: core/views/forms.py:332 +#: core/views/forms.py:311 msgid "Godfather / Godmother" msgstr "Parrain / Marraine" -#: core/views/forms.py:333 +#: core/views/forms.py:312 msgid "Godchild" msgstr "Fillot / Fillote" -#: core/views/forms.py:338 counter/forms.py:68 trombi/views.py:149 +#: core/views/forms.py:317 counter/forms.py:72 trombi/views.py:149 msgid "Select user" msgstr "Choisir un utilisateur" -#: core/views/forms.py:348 +#: core/views/forms.py:327 msgid "This user does not exist" msgstr "Cet utilisateur n'existe pas" -#: core/views/forms.py:350 +#: core/views/forms.py:329 msgid "You cannot be related to yourself" msgstr "Vous ne pouvez pas être relié à vous-même" -#: core/views/forms.py:362 +#: core/views/forms.py:341 #, python-format msgid "%s is already your godfather" msgstr "%s est déjà votre parrain/marraine" -#: core/views/forms.py:368 +#: core/views/forms.py:347 #, fuzzy, python-format #| msgid "This user has already commented on this UV" msgid "%s is already your godchild" msgstr "%s est déjà votre fillot/fillote" -#: core/views/forms.py:382 core/views/forms.py:400 election/models.py:22 +#: core/views/forms.py:361 core/views/forms.py:379 election/models.py:22 #: election/views.py:147 msgid "edit groups" msgstr "groupe d'édition" -#: core/views/forms.py:385 core/views/forms.py:403 election/models.py:29 +#: core/views/forms.py:364 core/views/forms.py:382 election/models.py:29 #: election/views.py:150 msgid "view groups" msgstr "groupe de vue" @@ -3691,42 +3590,42 @@ msgstr "Utilisateurs à retirer du groupe" msgid "Users to add to group" msgstr "Utilisateurs à ajouter au groupe" -#: core/views/user.py:179 +#: core/views/user.py:182 msgid "We couldn't verify that this email actually exists" msgstr "Nous n'avons pas réussi à vérifier que cette adresse mail existe." -#: core/views/user.py:202 +#: core/views/user.py:205 msgid "Family" msgstr "Famille" -#: core/views/user.py:207 sas/templates/sas/album.jinja:64 +#: core/views/user.py:210 sas/templates/sas/album.jinja:63 #: trombi/templates/trombi/export.jinja:25 #: trombi/templates/trombi/user_profile.jinja:11 msgid "Pictures" msgstr "Photos" -#: core/views/user.py:215 +#: core/views/user.py:218 msgid "Galaxy" msgstr "Galaxie" -#: counter/apps.py:30 counter/models.py:407 counter/models.py:861 -#: counter/models.py:897 launderette/models.py:32 stock/models.py:39 +#: counter/apps.py:30 counter/models.py:437 counter/models.py:896 +#: counter/models.py:932 launderette/models.py:32 msgid "counter" msgstr "comptoir" -#: counter/forms.py:49 +#: counter/forms.py:53 msgid "This UID is invalid" msgstr "Cet UID est invalide" -#: counter/forms.py:90 +#: counter/forms.py:94 msgid "User not found" msgstr "Utilisateur non trouvé" -#: counter/forms.py:146 +#: counter/forms.py:150 msgid "Parent product" msgstr "Produit parent" -#: counter/forms.py:152 +#: counter/forms.py:156 msgid "Buying groups" msgstr "Groupes d'achat" @@ -3750,7 +3649,7 @@ msgstr "client" msgid "customers" msgstr "clients" -#: counter/models.py:74 counter/views.py:309 +#: counter/models.py:74 counter/views.py:262 msgid "Not enough money" msgstr "Solde insuffisant" @@ -3782,121 +3681,121 @@ msgstr "Ville" msgid "Country" msgstr "Pays" -#: counter/models.py:179 +#: counter/models.py:186 msgid "Phone number" msgstr "Numéro de téléphone" -#: counter/models.py:225 counter/models.py:251 +#: counter/models.py:232 counter/models.py:258 msgid "product type" msgstr "type du produit" -#: counter/models.py:257 +#: counter/models.py:264 msgid "purchase price" msgstr "prix d'achat" -#: counter/models.py:258 +#: counter/models.py:265 msgid "selling price" msgstr "prix de vente" -#: counter/models.py:259 +#: counter/models.py:266 msgid "special selling price" msgstr "prix de vente spécial" -#: counter/models.py:266 +#: counter/models.py:273 msgid "icon" msgstr "icône" -#: counter/models.py:271 +#: counter/models.py:278 msgid "limit age" msgstr "âge limite" -#: counter/models.py:272 +#: counter/models.py:279 msgid "tray price" msgstr "prix plateau" -#: counter/models.py:276 +#: counter/models.py:283 msgid "parent product" msgstr "produit parent" -#: counter/models.py:282 +#: counter/models.py:289 msgid "buying groups" msgstr "groupe d'achat" -#: counter/models.py:284 election/models.py:50 +#: counter/models.py:291 election/models.py:50 msgid "archived" msgstr "archivé" -#: counter/models.py:287 counter/models.py:997 +#: counter/models.py:294 counter/models.py:1032 msgid "product" msgstr "produit" -#: counter/models.py:386 +#: counter/models.py:416 msgid "products" msgstr "produits" -#: counter/models.py:389 +#: counter/models.py:419 msgid "counter type" msgstr "type de comptoir" -#: counter/models.py:391 +#: counter/models.py:421 msgid "Bar" msgstr "Bar" -#: counter/models.py:391 +#: counter/models.py:421 msgid "Office" msgstr "Bureau" -#: counter/models.py:394 +#: counter/models.py:424 msgid "sellers" msgstr "vendeurs" -#: counter/models.py:402 launderette/models.py:192 +#: counter/models.py:432 launderette/models.py:192 msgid "token" msgstr "jeton" -#: counter/models.py:605 +#: counter/models.py:627 msgid "bank" msgstr "banque" -#: counter/models.py:607 counter/models.py:697 +#: counter/models.py:629 counter/models.py:730 msgid "is validated" msgstr "est validé" -#: counter/models.py:610 +#: counter/models.py:634 msgid "refilling" msgstr "rechargement" -#: counter/models.py:674 eboutic/models.py:227 +#: counter/models.py:707 eboutic/models.py:245 msgid "unit price" msgstr "prix unitaire" -#: counter/models.py:675 counter/models.py:977 eboutic/models.py:228 +#: counter/models.py:708 counter/models.py:1012 eboutic/models.py:246 msgid "quantity" msgstr "quantité" -#: counter/models.py:694 +#: counter/models.py:727 msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:694 sith/settings.py:405 sith/settings.py:410 -#: sith/settings.py:430 +#: counter/models.py:727 sith/settings.py:403 sith/settings.py:408 +#: sith/settings.py:428 msgid "Credit card" msgstr "Carte bancaire" -#: counter/models.py:700 +#: counter/models.py:735 msgid "selling" msgstr "vente" -#: counter/models.py:804 +#: counter/models.py:839 msgid "Unknown event" msgstr "Événement inconnu" -#: counter/models.py:805 +#: counter/models.py:840 #, python-format msgid "Eticket bought for the event %(event)s" msgstr "Eticket acheté pour l'événement %(event)s" -#: counter/models.py:807 counter/models.py:830 +#: counter/models.py:842 counter/models.py:865 #, python-format msgid "" "You bought an eticket for the event %(event)s.\n" @@ -3908,63 +3807,63 @@ msgstr "" "Vous pouvez également retrouver tous vos e-tickets sur votre page de compte " "%(url)s." -#: counter/models.py:866 +#: counter/models.py:901 msgid "last activity date" msgstr "dernière activité" -#: counter/models.py:869 +#: counter/models.py:904 msgid "permanency" msgstr "permanence" -#: counter/models.py:902 +#: counter/models.py:937 msgid "emptied" msgstr "coffre vidée" -#: counter/models.py:905 +#: counter/models.py:940 msgid "cash register summary" msgstr "relevé de caisse" -#: counter/models.py:973 +#: counter/models.py:1008 msgid "cash summary" msgstr "relevé" -#: counter/models.py:976 +#: counter/models.py:1011 msgid "value" msgstr "valeur" -#: counter/models.py:979 +#: counter/models.py:1014 msgid "check" msgstr "chèque" -#: counter/models.py:981 +#: counter/models.py:1016 msgid "True if this is a bank check, else False" msgstr "Vrai si c'est un chèque, sinon Faux." -#: counter/models.py:985 +#: counter/models.py:1020 msgid "cash register summary item" msgstr "élément de relevé de caisse" -#: counter/models.py:1001 +#: counter/models.py:1036 msgid "banner" msgstr "bannière" -#: counter/models.py:1003 +#: counter/models.py:1038 msgid "event date" msgstr "date de l'événement" -#: counter/models.py:1005 +#: counter/models.py:1040 msgid "event title" msgstr "titre de l'événement" -#: counter/models.py:1007 +#: counter/models.py:1042 msgid "secret" msgstr "secret" -#: counter/models.py:1046 +#: counter/models.py:1081 msgid "uid" msgstr "uid" -#: counter/models.py:1051 +#: counter/models.py:1086 msgid "student cards" msgstr "cartes étudiante" @@ -3991,15 +3890,6 @@ msgid "counter is open, there's at least one barman connected" msgstr "Le comptoir est ouvert, et il y a au moins un barman connecté" #: counter/templates/counter/activity.jinja:35 -#, python-format -msgid "" -"counter is open but not active, the last sale was done at least %(minutes)s " -"minutes ago " -msgstr "" -"Le comptoir est ouvert, mais inactif. La dernière vente a eu lieu il y a " -"%(minutes)s minutes." - -#: counter/templates/counter/activity.jinja:39 msgid "counter is not open : no one is connected" msgstr "Le comptoir est fermé" @@ -4020,7 +3910,7 @@ msgstr "Liste des relevés de caisse" msgid "Theoric sums" msgstr "Sommes théoriques" -#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:990 +#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:942 msgid "Emptied" msgstr "Coffre vidé" @@ -4088,7 +3978,7 @@ msgid "New counter" msgstr "Nouveau comptoir" #: counter/templates/counter/counter_list.jinja:22 -#: counter/templates/counter/counter_list.jinja:44 +#: counter/templates/counter/counter_list.jinja:38 #: counter/templates/counter/refilling_list.jinja:5 msgid "Reloads list" msgstr "Liste de rechargements" @@ -4097,11 +3987,11 @@ msgstr "Liste de rechargements" msgid "Bars" msgstr "Bars" -#: counter/templates/counter/counter_list.jinja:49 +#: counter/templates/counter/counter_list.jinja:43 msgid "Offices" msgstr "Bureaux" -#: counter/templates/counter/counter_list.jinja:65 +#: counter/templates/counter/counter_list.jinja:59 msgid "There is no counters in this website." msgstr "Il n'y a pas de comptoirs dans ce site web." @@ -4246,109 +4136,101 @@ msgstr "Temps" msgid "Top 100 barman %(counter_name)s (all semesters)" msgstr "Top 100 barman %(counter_name)s (tous les semestres)" -#: counter/views.py:170 +#: counter/views.py:148 msgid "Cash summary" msgstr "Relevé de caisse" -#: counter/views.py:186 +#: counter/views.py:157 msgid "Last operations" msgstr "Dernières opérations" -#: counter/views.py:203 -msgid "Take items from stock" -msgstr "Prendre des éléments du stock" - -#: counter/views.py:252 +#: counter/views.py:204 msgid "Bad credentials" msgstr "Mauvais identifiants" -#: counter/views.py:254 +#: counter/views.py:206 msgid "User is not barman" msgstr "L'utilisateur n'est pas barman." -#: counter/views.py:259 +#: counter/views.py:211 msgid "Bad location, someone is already logged in somewhere else" msgstr "Mauvais comptoir, quelqu'un est déjà connecté ailleurs" -#: counter/views.py:300 +#: counter/views.py:253 msgid "Too young for that product" msgstr "Trop jeune pour ce produit" -#: counter/views.py:303 +#: counter/views.py:256 msgid "Not allowed for that product" msgstr "Non autorisé pour ce produit" -#: counter/views.py:306 +#: counter/views.py:259 msgid "No date of birth provided" msgstr "Pas de date de naissance renseignée" -#: counter/views.py:595 +#: counter/views.py:548 msgid "You have not enough money to buy all the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" -#: counter/views.py:722 +#: counter/views.py:675 msgid "Counter administration" msgstr "Administration des comptoirs" -#: counter/views.py:724 -msgid "Stocks" -msgstr "Stocks" - -#: counter/views.py:743 +#: counter/views.py:695 msgid "Product types" msgstr "Types de produit" -#: counter/views.py:947 +#: counter/views.py:899 msgid "10 cents" msgstr "10 centimes" -#: counter/views.py:948 +#: counter/views.py:900 msgid "20 cents" msgstr "20 centimes" -#: counter/views.py:949 +#: counter/views.py:901 msgid "50 cents" msgstr "50 centimes" -#: counter/views.py:950 +#: counter/views.py:902 msgid "1 euro" msgstr "1 €" -#: counter/views.py:951 +#: counter/views.py:903 msgid "2 euros" msgstr "2 €" -#: counter/views.py:952 +#: counter/views.py:904 msgid "5 euros" msgstr "5 €" -#: counter/views.py:953 +#: counter/views.py:905 msgid "10 euros" msgstr "10 €" -#: counter/views.py:954 +#: counter/views.py:906 msgid "20 euros" msgstr "20 €" -#: counter/views.py:955 +#: counter/views.py:907 msgid "50 euros" msgstr "50 €" -#: counter/views.py:957 +#: counter/views.py:909 msgid "100 euros" msgstr "100 €" -#: counter/views.py:960 counter/views.py:966 counter/views.py:972 -#: counter/views.py:978 counter/views.py:984 +#: counter/views.py:912 counter/views.py:918 counter/views.py:924 +#: counter/views.py:930 counter/views.py:936 msgid "Check amount" msgstr "Montant du chèque" -#: counter/views.py:963 counter/views.py:969 counter/views.py:975 -#: counter/views.py:981 counter/views.py:987 +#: counter/views.py:915 counter/views.py:921 counter/views.py:927 +#: counter/views.py:933 counter/views.py:939 msgid "Check quantity" msgstr "Nombre de chèque" -#: counter/views.py:1503 +#: counter/views.py:1459 msgid "people(s)" msgstr "personne(s)" @@ -4365,27 +4247,27 @@ msgstr "Votre panier est vide" msgid "%(name)s : this product does not exist or may no longer be available." msgstr "%(name)s : ce produit n'existe pas ou n'est peut-être plus disponible." -#: eboutic/models.py:174 +#: eboutic/models.py:190 msgid "validated" msgstr "validé" -#: eboutic/models.py:188 +#: eboutic/models.py:206 msgid "Invoice already validated" msgstr "Facture déjà validée" -#: eboutic/models.py:224 +#: eboutic/models.py:242 msgid "product id" msgstr "ID du produit" -#: eboutic/models.py:225 +#: eboutic/models.py:243 msgid "product name" msgstr "nom du produit" -#: eboutic/models.py:226 +#: eboutic/models.py:244 msgid "product type id" msgstr "id du type du produit" -#: eboutic/models.py:243 +#: eboutic/models.py:261 msgid "basket" msgstr "panier" @@ -4566,7 +4448,7 @@ msgstr "Les votes ouvriront " #: election/templates/election/election_list.jinja:35 #: election/templates/election/election_list.jinja:40 #: election/templates/election/election_list.jinja:43 -#: forum/templates/forum/macros.jinja:148 +#: forum/templates/forum/macros.jinja:158 msgid " at " msgstr " à " @@ -4603,14 +4485,6 @@ msgstr "Choisir de voter blanc" msgid "votes" msgstr "votes" -#: election/templates/election/election_detail.jinja:146 -msgid "✏️" -msgstr "✏️" - -#: election/templates/election/election_detail.jinja:147 -msgid "❌" -msgstr "❌" - #: election/templates/election/election_detail.jinja:178 msgid "Add a new list" msgstr "Ajouter une nouvelle liste" @@ -4623,13 +4497,13 @@ msgstr "Ajouter un nouveau rôle" msgid "Submit the vote !" msgstr "Envoyer le vote !" -#: election/templates/election/election_detail.jinja:202 -#: election/templates/election/election_detail.jinja:207 +#: election/templates/election/election_detail.jinja:201 +#: election/templates/election/election_detail.jinja:206 msgid "Show more" msgstr "Montrer plus" -#: election/templates/election/election_detail.jinja:203 -#: election/templates/election/election_detail.jinja:208 +#: election/templates/election/election_detail.jinja:202 +#: election/templates/election/election_detail.jinja:207 msgid "Show less" msgstr "Montrer moins" @@ -4739,82 +4613,78 @@ msgid "last read date" msgstr "dernière date de lecture" #: forum/templates/forum/favorite_topics.jinja:5 -#: forum/templates/forum/favorite_topics.jinja:11 #: forum/templates/forum/favorite_topics.jinja:15 -#: forum/templates/forum/main.jinja:17 +#: forum/templates/forum/favorite_topics.jinja:19 +#: forum/templates/forum/main.jinja:21 msgid "Favorite topics" msgstr "Topics favoris" -#: forum/templates/forum/forum.jinja:18 forum/templates/forum/main.jinja:25 +#: forum/templates/forum/forum.jinja:22 forum/templates/forum/main.jinja:29 msgid "New forum" msgstr "Nouveau forum" -#: forum/templates/forum/forum.jinja:21 forum/templates/forum/reply.jinja:8 -#: forum/templates/forum/reply.jinja:28 +#: forum/templates/forum/forum.jinja:25 forum/templates/forum/reply.jinja:8 +#: forum/templates/forum/reply.jinja:33 msgid "New topic" msgstr "Nouveau sujet" -#: forum/templates/forum/forum.jinja:32 forum/templates/forum/main.jinja:34 +#: forum/templates/forum/forum.jinja:36 forum/templates/forum/main.jinja:38 msgid "Topics" msgstr "Sujets" -#: forum/templates/forum/forum.jinja:35 forum/templates/forum/forum.jinja:57 -#: forum/templates/forum/main.jinja:37 +#: forum/templates/forum/forum.jinja:39 forum/templates/forum/forum.jinja:61 +#: forum/templates/forum/main.jinja:41 msgid "Last message" msgstr "Dernier message" -#: forum/templates/forum/forum.jinja:54 +#: forum/templates/forum/forum.jinja:58 msgid "Messages" msgstr "Messages" #: forum/templates/forum/last_unread.jinja:5 -#: forum/templates/forum/last_unread.jinja:11 #: forum/templates/forum/last_unread.jinja:15 +#: forum/templates/forum/last_unread.jinja:19 msgid "Last unread messages" msgstr "Derniers messages non lus" -#: forum/templates/forum/last_unread.jinja:18 +#: forum/templates/forum/last_unread.jinja:22 msgid "Refresh" msgstr "Rafraîchir" -#: forum/templates/forum/macros.jinja:126 -msgid "Reply as quote" -msgstr "Répondre en citant" - -#: forum/templates/forum/macros.jinja:132 +#: forum/templates/forum/macros.jinja:133 msgid "Undelete" msgstr "Restaurer" -#: forum/templates/forum/macros.jinja:149 +#: forum/templates/forum/macros.jinja:159 msgid " the " msgstr " le " -#: forum/templates/forum/macros.jinja:161 +#: forum/templates/forum/macros.jinja:170 msgid "Deleted or unreadable message." msgstr "Message supprimé ou non-visible." -#: forum/templates/forum/macros.jinja:174 +#: forum/templates/forum/macros.jinja:182 msgid "Order by date" msgstr "Trier par date" -#: forum/templates/forum/main.jinja:16 +#: forum/templates/forum/main.jinja:20 msgid "View last unread messages" msgstr "Voir les derniers messages non lus" -#: forum/templates/forum/reply.jinja:6 forum/templates/forum/reply.jinja:25 -#: forum/templates/forum/topic.jinja:34 forum/templates/forum/topic.jinja:60 +#: forum/templates/forum/reply.jinja:6 forum/templates/forum/reply.jinja:30 +#: forum/templates/forum/topic.jinja:21 forum/templates/forum/topic.jinja:45 msgid "Reply" msgstr "Répondre" -#: forum/templates/forum/search.jinja:17 +#: forum/templates/forum/search.jinja:22 msgid "No result found" msgstr "Pas de résultats" -#: forum/templates/forum/topic.jinja:36 +#: forum/templates/forum/topic.jinja:23 msgid "Unmark as favorite" msgstr "Enlever des favoris" -#: forum/templates/forum/topic.jinja:38 +#: forum/templates/forum/topic.jinja:25 msgid "Mark as favorite" msgstr "Ajouter aux favoris" @@ -4822,7 +4692,7 @@ msgstr "Ajouter aux favoris" msgid "Apply rights and club owner recursively" msgstr "Appliquer les droits et le club propriétaire récursivement" -#: forum/views.py:421 +#: forum/views.py:422 #, python-format msgid "%(author)s said" msgstr "Citation de %(author)s" @@ -4933,12 +4803,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:27 -#: sith/settings.py:644 +#: sith/settings.py:639 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:31 -#: sith/settings.py:644 +#: sith/settings.py:639 msgid "Drying" msgstr "Séchage" @@ -4986,7 +4856,7 @@ msgid "Token not found" msgstr "Jeton non trouvé" #: matmat/templates/matmat/search_form.jinja:5 -#: matmat/templates/matmat/search_form.jinja:24 +#: matmat/templates/matmat/search_form.jinja:26 msgid "Search user" msgstr "Rechercher un utilisateur" @@ -4994,15 +4864,15 @@ msgstr "Rechercher un utilisateur" msgid "Results" msgstr "Résultats" -#: matmat/templates/matmat/search_form.jinja:25 +#: matmat/templates/matmat/search_form.jinja:27 msgid "Search by profile" msgstr "Recherche par profil" -#: matmat/templates/matmat/search_form.jinja:39 +#: matmat/templates/matmat/search_form.jinja:41 msgid "Inverted search" msgstr "Recherche inversée" -#: matmat/templates/matmat/search_form.jinja:49 +#: matmat/templates/matmat/search_form.jinja:51 msgid "Quick search" msgstr "Recherche rapide" @@ -5138,26 +5008,26 @@ msgstr "raison" msgid "UV Guide" msgstr "Guide des UVs" -#: pedagogy/templates/pedagogy/guide.jinja:56 +#: pedagogy/templates/pedagogy/guide.jinja:55 #, python-format msgid "%(display_name)s" msgstr "%(display_name)s" -#: pedagogy/templates/pedagogy/guide.jinja:70 +#: pedagogy/templates/pedagogy/guide.jinja:69 #, python-format msgid "%(credit_type)s" msgstr "%(credit_type)s" -#: pedagogy/templates/pedagogy/guide.jinja:88 +#: pedagogy/templates/pedagogy/guide.jinja:87 #: pedagogy/templates/pedagogy/moderation.jinja:12 msgid "UV" msgstr "UE" -#: pedagogy/templates/pedagogy/guide.jinja:90 +#: pedagogy/templates/pedagogy/guide.jinja:89 msgid "Department" msgstr "Département" -#: pedagogy/templates/pedagogy/guide.jinja:91 +#: pedagogy/templates/pedagogy/guide.jinja:90 msgid "Credit type" msgstr "Type de crédit" @@ -5181,76 +5051,76 @@ msgstr "Supprimer commentaire" msgid "Delete report" msgstr "Supprimer signalement" -#: pedagogy/templates/pedagogy/uv_detail.jinja:6 +#: pedagogy/templates/pedagogy/uv_detail.jinja:10 msgid "UV Details" msgstr "Détails d'UV" -#: pedagogy/templates/pedagogy/uv_detail.jinja:27 +#: pedagogy/templates/pedagogy/uv_detail.jinja:31 msgid "CM: " msgstr "CM : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:30 +#: pedagogy/templates/pedagogy/uv_detail.jinja:34 msgid "TD: " msgstr "TD : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:33 +#: pedagogy/templates/pedagogy/uv_detail.jinja:37 msgid "TP: " msgstr "TP : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:36 +#: pedagogy/templates/pedagogy/uv_detail.jinja:40 msgid "TE: " msgstr "TE : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:39 +#: pedagogy/templates/pedagogy/uv_detail.jinja:43 msgid "THE: " msgstr "THE : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:57 -#: pedagogy/templates/pedagogy/uv_detail.jinja:152 +#: pedagogy/templates/pedagogy/uv_detail.jinja:61 +#: pedagogy/templates/pedagogy/uv_detail.jinja:156 msgid "Global grade" msgstr "Note globale" -#: pedagogy/templates/pedagogy/uv_detail.jinja:58 -#: pedagogy/templates/pedagogy/uv_detail.jinja:153 +#: pedagogy/templates/pedagogy/uv_detail.jinja:62 +#: pedagogy/templates/pedagogy/uv_detail.jinja:157 msgid "Utility" msgstr "Utilité" -#: pedagogy/templates/pedagogy/uv_detail.jinja:59 -#: pedagogy/templates/pedagogy/uv_detail.jinja:154 +#: pedagogy/templates/pedagogy/uv_detail.jinja:63 +#: pedagogy/templates/pedagogy/uv_detail.jinja:158 msgid "Interest" msgstr "Intérêt" -#: pedagogy/templates/pedagogy/uv_detail.jinja:60 -#: pedagogy/templates/pedagogy/uv_detail.jinja:155 +#: pedagogy/templates/pedagogy/uv_detail.jinja:64 +#: pedagogy/templates/pedagogy/uv_detail.jinja:159 msgid "Teaching" msgstr "Enseignement" -#: pedagogy/templates/pedagogy/uv_detail.jinja:61 -#: pedagogy/templates/pedagogy/uv_detail.jinja:156 +#: pedagogy/templates/pedagogy/uv_detail.jinja:65 +#: pedagogy/templates/pedagogy/uv_detail.jinja:160 msgid "Work load" msgstr "Charge de travail" -#: pedagogy/templates/pedagogy/uv_detail.jinja:71 +#: pedagogy/templates/pedagogy/uv_detail.jinja:75 msgid "Objectives" msgstr "Objectifs" -#: pedagogy/templates/pedagogy/uv_detail.jinja:73 +#: pedagogy/templates/pedagogy/uv_detail.jinja:77 msgid "Program" msgstr "Programme" -#: pedagogy/templates/pedagogy/uv_detail.jinja:75 +#: pedagogy/templates/pedagogy/uv_detail.jinja:79 msgid "Earned skills" msgstr "Compétences acquises" -#: pedagogy/templates/pedagogy/uv_detail.jinja:77 +#: pedagogy/templates/pedagogy/uv_detail.jinja:81 msgid "Key concepts" msgstr "Concepts clefs" -#: pedagogy/templates/pedagogy/uv_detail.jinja:79 +#: pedagogy/templates/pedagogy/uv_detail.jinja:83 msgid "UE manager: " msgstr "Gestionnaire d'UE : " -#: pedagogy/templates/pedagogy/uv_detail.jinja:86 pedagogy/tests/tests.py:384 +#: pedagogy/templates/pedagogy/uv_detail.jinja:90 pedagogy/tests/tests.py:384 msgid "" "You already posted a comment on this UV. If you want to comment again, " "please modify or delete your previous comment." @@ -5258,21 +5128,20 @@ msgstr "" "Vous avez déjà commenté cette UV. Si vous voulez de nouveau commenter, " "veuillez modifier ou supprimer votre commentaire précédent." -#: pedagogy/templates/pedagogy/uv_detail.jinja:90 +#: pedagogy/templates/pedagogy/uv_detail.jinja:94 msgid "Leave comment" msgstr "Laisser un commentaire" -#: pedagogy/templates/pedagogy/uv_detail.jinja:146 -#: stock/templates/stock/shopping_list_items.jinja:42 stock/views.py:244 +#: pedagogy/templates/pedagogy/uv_detail.jinja:150 #: trombi/templates/trombi/export.jinja:70 msgid "Comments" msgstr "Commentaires" -#: pedagogy/templates/pedagogy/uv_detail.jinja:178 +#: pedagogy/templates/pedagogy/uv_detail.jinja:182 msgid "This comment has been reported" msgstr "Ce commentaire a été signalé" -#: pedagogy/templates/pedagogy/uv_detail.jinja:191 +#: pedagogy/templates/pedagogy/uv_detail.jinja:195 msgid "Report this comment" msgstr "Signaler ce commentaire" @@ -5326,36 +5195,36 @@ msgstr "Fusionner deux utilisateurs" msgid "Merge" msgstr "Fusion" -#: rootplace/views.py:156 +#: rootplace/views.py:159 msgid "User that will be kept" msgstr "Utilisateur qui sera conservé" -#: rootplace/views.py:159 +#: rootplace/views.py:162 msgid "User that will be deleted" msgstr "Utilisateur qui sera supprimé" -#: rootplace/views.py:165 +#: rootplace/views.py:168 msgid "User to be selected" msgstr "Utilisateur à sélectionner" -#: sas/models.py:278 +#: sas/models.py:282 msgid "picture" msgstr "photo" -#: sas/templates/sas/album.jinja:10 sas/templates/sas/main.jinja:8 +#: sas/templates/sas/album.jinja:9 sas/templates/sas/main.jinja:8 #: sas/templates/sas/main.jinja:17 sas/templates/sas/picture.jinja:12 msgid "SAS" msgstr "SAS" -#: sas/templates/sas/album.jinja:53 sas/templates/sas/moderation.jinja:10 +#: sas/templates/sas/album.jinja:52 sas/templates/sas/moderation.jinja:10 msgid "Albums" msgstr "Albums" -#: sas/templates/sas/album.jinja:97 +#: sas/templates/sas/album.jinja:96 msgid "Upload" msgstr "Envoyer" -#: sas/templates/sas/album.jinja:104 +#: sas/templates/sas/album.jinja:103 msgid "Template generation time: " msgstr "Temps de génération du template : " @@ -5423,577 +5292,383 @@ msgstr "Erreur de création de l'album %(album)s : %(msg)s" msgid "Add user" msgstr "Ajouter une personne" -#: sith/settings.py:247 sith/settings.py:467 +#: sith/settings.py:246 sith/settings.py:465 msgid "English" msgstr "Anglais" -#: sith/settings.py:247 sith/settings.py:466 +#: sith/settings.py:246 sith/settings.py:464 msgid "French" msgstr "Français" -#: sith/settings.py:386 +#: sith/settings.py:384 msgid "TC" msgstr "TC" -#: sith/settings.py:387 +#: sith/settings.py:385 msgid "IMSI" msgstr "IMSI" -#: sith/settings.py:388 +#: sith/settings.py:386 msgid "IMAP" msgstr "IMAP" -#: sith/settings.py:389 +#: sith/settings.py:387 msgid "INFO" msgstr "INFO" -#: sith/settings.py:390 +#: sith/settings.py:388 msgid "GI" msgstr "GI" -#: sith/settings.py:391 sith/settings.py:477 +#: sith/settings.py:389 sith/settings.py:475 msgid "E" msgstr "E" -#: sith/settings.py:392 +#: sith/settings.py:390 msgid "EE" msgstr "EE" -#: sith/settings.py:393 +#: sith/settings.py:391 msgid "GESC" msgstr "GESC" -#: sith/settings.py:394 +#: sith/settings.py:392 msgid "GMC" msgstr "GMC" -#: sith/settings.py:395 +#: sith/settings.py:393 msgid "MC" msgstr "MC" -#: sith/settings.py:396 +#: sith/settings.py:394 msgid "EDIM" msgstr "EDIM" -#: sith/settings.py:397 +#: sith/settings.py:395 msgid "Humanities" msgstr "Humanités" -#: sith/settings.py:398 +#: sith/settings.py:396 msgid "N/A" msgstr "N/A" -#: sith/settings.py:402 sith/settings.py:409 sith/settings.py:428 +#: sith/settings.py:400 sith/settings.py:407 sith/settings.py:426 msgid "Check" msgstr "Chèque" -#: sith/settings.py:403 sith/settings.py:411 sith/settings.py:429 +#: sith/settings.py:401 sith/settings.py:409 sith/settings.py:427 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:404 +#: sith/settings.py:402 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:417 +#: sith/settings.py:415 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:418 +#: sith/settings.py:416 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:419 +#: sith/settings.py:417 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:447 +#: sith/settings.py:445 msgid "Free" msgstr "Libre" -#: sith/settings.py:448 +#: sith/settings.py:446 msgid "CS" msgstr "CS" -#: sith/settings.py:449 +#: sith/settings.py:447 msgid "TM" msgstr "TM" -#: sith/settings.py:450 +#: sith/settings.py:448 msgid "OM" msgstr "OM" -#: sith/settings.py:451 +#: sith/settings.py:449 msgid "QC" msgstr "QC" -#: sith/settings.py:452 +#: sith/settings.py:450 msgid "EC" msgstr "EC" -#: sith/settings.py:453 +#: sith/settings.py:451 msgid "RN" msgstr "RN" -#: sith/settings.py:454 +#: sith/settings.py:452 msgid "ST" msgstr "ST" -#: sith/settings.py:455 +#: sith/settings.py:453 msgid "EXT" msgstr "EXT" -#: sith/settings.py:460 +#: sith/settings.py:458 msgid "Autumn" msgstr "Automne" -#: sith/settings.py:461 +#: sith/settings.py:459 msgid "Spring" msgstr "Printemps" -#: sith/settings.py:462 +#: sith/settings.py:460 msgid "Autumn and spring" msgstr "Automne et printemps" -#: sith/settings.py:468 +#: sith/settings.py:466 msgid "German" msgstr "Allemand" -#: sith/settings.py:469 +#: sith/settings.py:467 msgid "Spanish" msgstr "Espagnol" -#: sith/settings.py:473 +#: sith/settings.py:471 msgid "A" msgstr "A" -#: sith/settings.py:474 +#: sith/settings.py:472 msgid "B" msgstr "B" -#: sith/settings.py:475 +#: sith/settings.py:473 msgid "C" msgstr "C" -#: sith/settings.py:476 +#: sith/settings.py:474 msgid "D" msgstr "D" -#: sith/settings.py:478 +#: sith/settings.py:476 msgid "FX" msgstr "FX" -#: sith/settings.py:479 +#: sith/settings.py:477 msgid "F" msgstr "F" -#: sith/settings.py:480 +#: sith/settings.py:478 msgid "Abs" msgstr "Abs" -#: sith/settings.py:484 +#: sith/settings.py:482 msgid "Selling deletion" msgstr "Suppression de vente" -#: sith/settings.py:485 +#: sith/settings.py:483 msgid "Refilling deletion" msgstr "Suppression de rechargement" -#: sith/settings.py:522 +#: sith/settings.py:520 msgid "One semester" msgstr "Un semestre, 20 €" -#: sith/settings.py:523 +#: sith/settings.py:521 msgid "Two semesters" msgstr "Deux semestres, 35 €" -#: sith/settings.py:525 +#: sith/settings.py:523 msgid "Common core cursus" msgstr "Cursus tronc commun, 60 €" -#: sith/settings.py:529 +#: sith/settings.py:527 msgid "Branch cursus" msgstr "Cursus branche, 60 €" -#: sith/settings.py:530 +#: sith/settings.py:528 msgid "Alternating cursus" msgstr "Cursus alternant, 30 €" -#: sith/settings.py:531 +#: sith/settings.py:529 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:532 +#: sith/settings.py:530 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:533 +#: sith/settings.py:531 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:534 +#: sith/settings.py:532 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:535 +#: sith/settings.py:533 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:536 +#: sith/settings.py:534 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 20 €" -#: sith/settings.py:538 +#: sith/settings.py:536 msgid "One semester Welcome Week" msgstr "Un semestre Welcome Week" -#: sith/settings.py:542 +#: sith/settings.py:540 msgid "One month for free" msgstr "Un mois gratuit" -#: sith/settings.py:543 +#: sith/settings.py:541 msgid "Two months for free" msgstr "Deux mois gratuits" -#: sith/settings.py:544 +#: sith/settings.py:542 msgid "Eurok's volunteer" msgstr "Bénévole Eurockéennes" -#: sith/settings.py:546 +#: sith/settings.py:544 msgid "Six weeks for free" msgstr "6 semaines gratuites" -#: sith/settings.py:550 +#: sith/settings.py:548 msgid "One day" msgstr "Un jour" -#: sith/settings.py:551 +#: sith/settings.py:549 msgid "GA staff member" msgstr "Membre staff GA (2 semaines), 1 €" -#: sith/settings.py:554 +#: sith/settings.py:552 msgid "One semester (-20%)" msgstr "Un semestre (-20%), 12 €" -#: sith/settings.py:559 +#: sith/settings.py:557 msgid "Two semesters (-20%)" msgstr "Deux semestres (-20%), 22 €" -#: sith/settings.py:564 +#: sith/settings.py:562 msgid "Common core cursus (-20%)" msgstr "Cursus tronc commun (-20%), 36 €" -#: sith/settings.py:569 +#: sith/settings.py:567 msgid "Branch cursus (-20%)" msgstr "Cursus branche (-20%), 36 €" -#: sith/settings.py:574 +#: sith/settings.py:572 msgid "Alternating cursus (-20%)" msgstr "Cursus alternant (-20%), 24 €" -#: sith/settings.py:580 +#: sith/settings.py:578 msgid "One year for free(CA offer)" msgstr "Une année offerte (Offre CA)" -#: sith/settings.py:600 +#: sith/settings.py:598 msgid "President" msgstr "Président⸱e" -#: sith/settings.py:601 +#: sith/settings.py:599 msgid "Vice-President" msgstr "Vice-Président⸱e" -#: sith/settings.py:602 +#: sith/settings.py:600 msgid "Treasurer" msgstr "Trésorier⸱e" -#: sith/settings.py:603 +#: sith/settings.py:601 msgid "Communication supervisor" msgstr "Responsable communication" -#: sith/settings.py:604 +#: sith/settings.py:602 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:605 +#: sith/settings.py:603 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:606 +#: sith/settings.py:604 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:607 +#: sith/settings.py:605 msgid "Active member" msgstr "Membre actif⸱ve" -#: sith/settings.py:608 +#: sith/settings.py:606 msgid "Curious" msgstr "Curieux⸱euse" -#: sith/settings.py:648 +#: sith/settings.py:643 msgid "A new poster needs to be moderated" msgstr "Une nouvelle affiche a besoin d'être modérée" -#: sith/settings.py:649 +#: sith/settings.py:644 msgid "A new mailing list needs to be moderated" msgstr "Une nouvelle mailing list a besoin d'être modérée" -#: sith/settings.py:652 +#: sith/settings.py:647 msgid "A new pedagogy comment has been signaled for moderation" msgstr "" "Un nouveau commentaire de la pédagogie a été signalé pour la modération" -#: sith/settings.py:654 +#: sith/settings.py:649 #, python-format msgid "There are %s fresh news to be moderated" msgstr "Il y a %s nouvelles toutes fraîches à modérer" -#: sith/settings.py:655 +#: sith/settings.py:650 msgid "New files to be moderated" msgstr "Nouveaux fichiers à modérer" -#: sith/settings.py:656 +#: sith/settings.py:651 #, python-format msgid "There are %s pictures to be moderated in the SAS" msgstr "Il y a %s photos à modérer dans le SAS" -#: sith/settings.py:657 +#: sith/settings.py:652 msgid "You've been identified on some pictures" msgstr "Vous avez été identifié sur des photos" -#: sith/settings.py:658 +#: sith/settings.py:653 #, python-format msgid "You just refilled of %s €" msgstr "Vous avez rechargé votre compte de %s€" -#: sith/settings.py:659 +#: sith/settings.py:654 #, python-format msgid "You just bought %s" msgstr "Vous avez acheté %s" -#: sith/settings.py:660 +#: sith/settings.py:655 msgid "You have a notification" msgstr "Vous avez une notification" -#: sith/settings.py:672 +#: sith/settings.py:667 msgid "Success!" msgstr "Succès !" -#: sith/settings.py:673 +#: sith/settings.py:668 msgid "Fail!" msgstr "Échec !" -#: sith/settings.py:674 +#: sith/settings.py:669 msgid "You successfully posted an article in the Weekmail" msgstr "Article posté avec succès dans le Weekmail" -#: sith/settings.py:675 +#: sith/settings.py:670 msgid "You successfully edited an article in the Weekmail" msgstr "Article édité avec succès dans le Weekmail" -#: sith/settings.py:676 +#: sith/settings.py:671 msgid "You successfully sent the Weekmail" msgstr "Weekmail envoyé avec succès" -#: sith/settings.py:684 +#: sith/settings.py:679 msgid "AE tee-shirt" msgstr "Tee-shirt AE" -#: stock/models.py:59 -msgid "unit quantity" -msgstr "quantité unitaire" - -#: stock/models.py:59 -msgid "number of element in one box" -msgstr "nombre d'éléments par boîte" - -#: stock/models.py:62 -msgid "effective quantity" -msgstr "quantité effective" - -#: stock/models.py:62 -msgid "number of box" -msgstr "nombre de boîtes" - -#: stock/models.py:65 -msgid "minimal quantity" -msgstr "quantité minimale" - -#: stock/models.py:68 -msgid "" -"if the effective quantity is less than the minimal, item is added to the " -"shopping list" -msgstr "" -"si la quantité effective est en dessous du minima, l'item est ajouté àla " -"liste de courses" - -#: stock/models.py:98 -msgid "todo" -msgstr "à faire" - -#: stock/models.py:119 -msgid "shopping lists" -msgstr "listes de courses" - -#: stock/models.py:135 -msgid "quantity to buy" -msgstr "quantité à acheter" - -#: stock/models.py:137 -msgid "quantity to buy during the next shopping session" -msgstr "quantité à acheter pendant les prochaines courses" - -#: stock/models.py:140 -msgid "quantity bought" -msgstr "quantité achetée" - -#: stock/models.py:142 -msgid "quantity bought during the last shopping session" -msgstr "quantité achetée pendant les dernières courses" - -#: stock/templates/stock/shopping_list_items.jinja:4 -#, python-format -msgid "%(shoppinglist)s's items" -msgstr "éléments de %(shoppinglist)s" - -#: stock/templates/stock/shopping_list_items.jinja:21 -msgid "Quantity asked" -msgstr "Quantité demandée" - -#: stock/templates/stock/shopping_list_items.jinja:22 -msgid "Quantity bought" -msgstr "Quantité achetée" - -#: stock/templates/stock/shopping_list_quantity.jinja:4 -#: stock/templates/stock/shopping_list_quantity.jinja:8 -#, python-format -msgid "%(s)s's quantity to buy" -msgstr "quantité à acheter de %(s)s" - -#: stock/templates/stock/shopping_list_quantity.jinja:13 -#: stock/templates/stock/stock_shopping_list.jinja:9 -msgid "Create shopping list" -msgstr "Créer une liste de courses" - -#: stock/templates/stock/stock_item_list.jinja:10 -msgid "New item" -msgstr "Nouvel élément" - -#: stock/templates/stock/stock_item_list.jinja:19 -#: stock/templates/stock/stock_item_list.jinja:26 -msgid "left" -msgstr "restant" - -#: stock/templates/stock/stock_item_list.jinja:23 -msgid "Others" -msgstr "Autres" - -#: stock/templates/stock/stock_item_list.jinja:30 -msgid "There is no items in this stock." -msgstr "Il n'y a pas d'élements dans ce stock." - -#: stock/templates/stock/stock_list.jinja:4 -#: stock/templates/stock/stock_list.jinja:9 -msgid "Stock list" -msgstr "Liste des stocks" - -#: stock/templates/stock/stock_list.jinja:22 -msgid "There is no stocks in this website." -msgstr "Il n'y a pas de stocks sur ce site web." - -#: stock/templates/stock/stock_shopping_list.jinja:11 -#, python-format -msgid "Shopping lists history for %(s)s" -msgstr "Historique des listes de course pour %(s)s" - -#: stock/templates/stock/stock_shopping_list.jinja:14 -msgid "Information :" -msgstr "Information : " - -#: stock/templates/stock/stock_shopping_list.jinja:16 -msgid "" -"Use the \"update stock\" action when you get back from shopping to add the " -"effective quantity bought for each shopping list item." -msgstr "" -"Utilisez la fonction \"mettre à jour le stock\" quand vous revenez de " -"courses pour ajouter la quantité effectivement achetée pour chaque élément " -"de la liste" - -#: stock/templates/stock/stock_shopping_list.jinja:18 -msgid "" -"For example, 3 Cheeseburger (boxes) are aksing in the list, but there were " -"only 2 so, 2 have to be added in the stock quantity." -msgstr "" -"Par exemple, 3 Cheeseburger (boîtes) sont demandés dans la liste, mais il " -"n'y en avait que 2, donc il faut mettre 2 dans la quantité en stock." - -#: stock/templates/stock/stock_shopping_list.jinja:21 -msgid "To do" -msgstr "À faire" - -#: stock/templates/stock/stock_shopping_list.jinja:27 -#: stock/templates/stock/stock_shopping_list.jinja:56 -msgid "Number of items" -msgstr "Nombre d'éléments" - -#: stock/templates/stock/stock_shopping_list.jinja:37 -msgid "Update stock" -msgstr "Mettre à jour le stock" - -#: stock/templates/stock/stock_shopping_list.jinja:40 -msgid "Mark as done" -msgstr "Marquer comme fait" - -#: stock/templates/stock/stock_shopping_list.jinja:66 -msgid "Mark as to do" -msgstr "Marquer comme à faire" - -#: stock/templates/stock/stock_take_items.jinja:5 -#: stock/templates/stock/stock_take_items.jinja:9 -#, python-format -msgid "Take items from %(s)s" -msgstr "Prendre des éléments de %(s)s" - -#: stock/templates/stock/stock_take_items.jinja:14 -msgid "Take items" -msgstr "Prendre les éléments" - -#: stock/templates/stock/update_after_shopping.jinja:4 -#: stock/templates/stock/update_after_shopping.jinja:8 -#, python-format -msgid "Update %(s)s's quantity after shopping" -msgstr "Mettre à jour les quantités de %(s)s après les courses" - -#: stock/templates/stock/update_after_shopping.jinja:13 -msgid "Update stock quantities" -msgstr "Mettre à jour les quantités en stock" - -#: stock/views.py:223 -msgid "Shopping list name" -msgstr "Nom de la liste de courses" - -#: stock/views.py:233 -msgid " left" -msgstr " restant" - -#: stock/views.py:239 -msgid "" -"Add here, items to buy that are not reference as a stock item (example : " -"sponge, knife, mugs ...)" -msgstr "" -"Ajouter ici les éléments non référencé comme élément de stock (example : " -"éponge, couteau, mugs ...)" - -#: stock/views.py:411 -msgid " asked" -msgstr " demandé" - -#: stock/views.py:489 -#, python-format -msgid "%(effective_quantity)s left" -msgstr "%(effective_quantity)s restant" - #: subscription/models.py:34 msgid "Bad subscription type" msgstr "Mauvais type de cotisation" @@ -6343,6 +6018,3 @@ msgstr "Vous ne pouvez plus écrire de commentaires, la date est passée." #, python-format msgid "Maximum characters: %(max_length)s" msgstr "Nombre de caractères max: %(max_length)s" - -#~ msgid "captured" -#~ msgstr "capturé" diff --git a/locale/fr/LC_MESSAGES/djangojs.po b/locale/fr/LC_MESSAGES/djangojs.po index e86bc171..02032e52 100644 --- a/locale/fr/LC_MESSAGES/djangojs.po +++ b/locale/fr/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-27 22:32+0200\n" +"POT-Creation-Date: 2024-10-09 11:50+0200\n" "PO-Revision-Date: 2024-09-17 11:54+0200\n" "Last-Translator: Sli \n" "Language-Team: AE info \n" @@ -17,23 +17,103 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/static/user/js/family_graph.js:233 -msgid "family_tree.%(extension)s" -msgstr "arbre_genealogique.%(extension)s" - -#: core/static/user/js/user_edit.js:93 +#: core/static/user/js/user_edit.js:91 #, javascript-format msgid "captured.%s" msgstr "capture.%s" -#: eboutic/static/eboutic/js/makecommand.js:50 +#: core/static/webpack/easymde-index.js:32 +msgid "Heading" +msgstr "Titre" + +#: core/static/webpack/easymde-index.js:38 +msgid "Italic" +msgstr "Italique" + +#: core/static/webpack/easymde-index.js:44 +msgid "Bold" +msgstr "Gras" + +#: core/static/webpack/easymde-index.js:50 +msgid "Strikethrough" +msgstr "Barré" + +#: core/static/webpack/easymde-index.js:59 +msgid "Underline" +msgstr "Souligné" + +#: core/static/webpack/easymde-index.js:68 +msgid "Superscript" +msgstr "Exposant" + +#: core/static/webpack/easymde-index.js:77 +msgid "Subscript" +msgstr "Indice" + +#: core/static/webpack/easymde-index.js:83 +msgid "Code" +msgstr "Code" + +#: core/static/webpack/easymde-index.js:90 +msgid "Quote" +msgstr "Citation" + +#: core/static/webpack/easymde-index.js:96 +msgid "Unordered list" +msgstr "Liste non ordonnée" + +#: core/static/webpack/easymde-index.js:102 +msgid "Ordered list" +msgstr "Liste ordonnée" + +#: core/static/webpack/easymde-index.js:109 +msgid "Insert link" +msgstr "Insérer lien" + +#: core/static/webpack/easymde-index.js:115 +msgid "Insert image" +msgstr "Insérer image" + +#: core/static/webpack/easymde-index.js:121 +msgid "Insert table" +msgstr "Insérer tableau" + +#: core/static/webpack/easymde-index.js:128 +msgid "Clean block" +msgstr "Nettoyer bloc" + +#: core/static/webpack/easymde-index.js:135 +msgid "Toggle preview" +msgstr "Activer la prévisualisation" + +#: core/static/webpack/easymde-index.js:141 +msgid "Toggle side by side" +msgstr "Activer la vue côte à côte" + +#: core/static/webpack/easymde-index.js:147 +msgid "Toggle fullscreen" +msgstr "Activer le plein écran" + +#: core/static/webpack/easymde-index.js:154 +msgid "Markdown guide" +msgstr "Guide markdown" + +#: core/static/webpack/user/family-graph-index.js:222 +msgid "family_tree.%(extension)s" +msgstr "arbre_genealogique.%(extension)s" + +#: core/static/webpack/user/pictures-index.js:67 +msgid "pictures.%(extension)s" +msgstr "photos.%(extension)s" + +#: eboutic/static/eboutic/js/makecommand.js:56 msgid "Incorrect value" msgstr "Valeur incorrecte" -#: sas/static/sas/js/viewer.js:196 +#: sas/static/sas/js/viewer.js:205 msgid "Couldn't moderate picture" -msgstr "Echec de la suppression de la photo" +msgstr "Il n'a pas été possible de modérer l'image" -#: sas/static/sas/js/viewer.js:209 +#: sas/static/sas/js/viewer.js:217 msgid "Couldn't delete picture" -msgstr "Echec de la suppression de la photo" +msgstr "Il n'a pas été possible de supprimer l'image" diff --git a/manage.py b/manage.py index ead6709b..56271706 100755 --- a/manage.py +++ b/manage.py @@ -6,10 +6,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/mkdocs.yml b/mkdocs.yml index c67e304a..f0cea1ad 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,9 +2,9 @@ site_name: Site AE UTBM site_description: Le site de l'association des étudiants de l'UTBM dev_addr: 127.0.0.1:8080 -repo_name: sith3 -repo_url: https://github.com/ae-utbm/sith3 -site_url: https://ae-utbm.github.io/sith3 +repo_name: sith +repo_url: https://github.com/ae-utbm/sith +site_url: https://ae-utbm.github.io/sith theme: features: @@ -72,6 +72,7 @@ nav: - Gérer les migrations: howto/migrations.md - Gérer les traductions: howto/translation.md - Gérer les statics: howto/statics.md + - Ajouter un chemin d'import javascript: howto/js-import-paths.md - Configurer pour la production: howto/prod.md - Ajouter un logo de promo: howto/logo.md - Ajouter une cotisation: howto/subscriptions.md @@ -135,9 +136,6 @@ nav: - reference/staticfiles/storage.md - reference/staticfiles/finders.md - reference/staticfiles/processors.md - - stock: - - reference/stock/models.md - - reference/stock/views.md - subscription: - reference/subscription/models.md - reference/subscription/views.md diff --git a/openapi-ts.config.ts b/openapi-ts.config.ts new file mode 100644 index 00000000..d583ffee --- /dev/null +++ b/openapi-ts.config.ts @@ -0,0 +1,10 @@ +// biome-ignore lint/correctness/noNodejsModules: this only used at compile time +import { resolve } from "node:path"; +import { defineConfig } from "@hey-api/openapi-ts"; + +// biome-ignore lint/style/noDefaultExport: needed for openapi-ts +export default defineConfig({ + client: "@hey-api/client-fetch", + input: resolve(__dirname, "./staticfiles/generated/openapi/schema.json"), + output: resolve(__dirname, "./staticfiles/generated/openapi"), +}); diff --git a/package-lock.json b/package-lock.json index a88e0773..a7127ed2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5527 +1,6491 @@ { - "name": "sith", - "version": "3", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "sith", - "version": "3", - "license": "GPL-3.0-only", - "dependencies": { - "alpinejs": "^3.14.1", - "easymde": "^2.18.0", - "glob": "^11.0.0", - "jquery": "^3.7.1", - "jquery-ui": "^1.14.0", - "jquery.shorten": "^1.0.0" - }, - "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/preset-env": "^7.25.4", - "babel-loader": "^9.2.1", - "css-loader": "^7.1.2", - "css-minimizer-webpack-plugin": "^7.0.0", - "expose-loader": "^5.0.0", - "mini-css-extract-plugin": "^2.9.1", - "source-map-loader": "^5.0.0", - "terser-webpack-plugin": "^5.3.10", - "webpack": "^5.94.0", - "webpack-cli": "^5.1.4" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", - "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", - "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.6", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", - "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", - "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.4", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", - "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", - "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", - "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-wrap-function": "^7.25.0", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", - "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", - "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", - "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", - "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.6" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", - "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", - "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", - "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", - "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", - "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", - "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", - "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", - "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", - "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-remap-async-to-generator": "^7.25.0", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", - "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", - "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", - "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", - "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", - "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", - "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.4", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", - "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", - "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", - "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", - "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", - "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", - "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", - "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", - "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", - "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", - "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", - "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", - "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", - "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", - "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", - "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", - "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", - "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", - "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", - "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", - "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", - "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", - "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", - "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", - "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", - "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", - "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", - "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", - "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", - "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", - "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", - "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", - "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", - "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", - "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", - "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", - "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", - "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", - "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", - "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", - "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", - "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.25.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", - "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.25.4", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.4", - "@babel/plugin-transform-async-to-generator": "^7.24.7", - "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.25.4", - "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.4", - "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", - "@babel/plugin-transform-dotall-regex": "^7.24.7", - "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", - "@babel/plugin-transform-dynamic-import": "^7.24.7", - "@babel/plugin-transform-exponentiation-operator": "^7.24.7", - "@babel/plugin-transform-export-namespace-from": "^7.24.7", - "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.1", - "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.25.2", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", - "@babel/plugin-transform-member-expression-literals": "^7.24.7", - "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.25.0", - "@babel/plugin-transform-modules-umd": "^7.24.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", - "@babel/plugin-transform-new-target": "^7.24.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", - "@babel/plugin-transform-numeric-separator": "^7.24.7", - "@babel/plugin-transform-object-rest-spread": "^7.24.7", - "@babel/plugin-transform-object-super": "^7.24.7", - "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", - "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.25.4", - "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-property-literals": "^7.24.7", - "@babel/plugin-transform-regenerator": "^7.24.7", - "@babel/plugin-transform-reserved-words": "^7.24.7", - "@babel/plugin-transform-shorthand-properties": "^7.24.7", - "@babel/plugin-transform-spread": "^7.24.7", - "@babel/plugin-transform-sticky-regex": "^7.24.7", - "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", - "@babel/plugin-transform-unicode-escapes": "^7.24.7", - "@babel/plugin-transform-unicode-property-regex": "^7.24.7", - "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", - "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.6", - "@babel/parser": "^7.25.6", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.6", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", - "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/codemirror": { - "version": "5.60.15", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.15.tgz", - "integrity": "sha512-dTOvwEQ+ouKJ/rE9LT1Ue2hmP6H1mZv5+CCnNWu2qtiOe2LQa9lCprEY20HxiDmV/Bxh+dXjywmy5aKvoGjULA==", - "dependencies": { - "@types/tern": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/marked": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz", - "integrity": "sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==" - }, - "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", - "dev": true, - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@types/tern": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", - "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@vue/reactivity": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", - "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", - "dependencies": { - "@vue/shared": "3.1.5" - } - }, - "node_modules/@vue/shared": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", - "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alpinejs": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.1.tgz", - "integrity": "sha512-ICar8UsnRZAYvv/fCNfNeKMXNoXGUfwHrjx7LqXd08zIP95G2d9bAOuaL97re+1mgt/HojqHsfdOLo/A5LuWgQ==", - "dependencies": { - "@vue/reactivity": "~3.1.1" - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", - "dev": true, - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-loader/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/babel-loader/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/babel-loader/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001660", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", - "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/codemirror": { - "version": "5.65.18", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.18.tgz", - "integrity": "sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA==" - }, - "node_modules/codemirror-spell-checker": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz", - "integrity": "sha512-2Tl6n0v+GJRsC9K3MLCdLaMOmvWL0uukajNJseorZJsslaxZyZMgENocPU8R0DyoTAiKsyqiemSOZo7kjGV0LQ==", - "dependencies": { - "typo-js": "*" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.0.tgz", - "integrity": "sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "cssnano": "^7.0.1", - "jest-worker": "^29.7.0", - "postcss": "^8.4.38", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", - "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^7.0.6", - "lilconfig": "^3.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", - "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.0", - "postcss-calc": "^10.0.2", - "postcss-colormin": "^7.0.2", - "postcss-convert-values": "^7.0.4", - "postcss-discard-comments": "^7.0.3", - "postcss-discard-duplicates": "^7.0.1", - "postcss-discard-empty": "^7.0.0", - "postcss-discard-overridden": "^7.0.0", - "postcss-merge-longhand": "^7.0.4", - "postcss-merge-rules": "^7.0.4", - "postcss-minify-font-values": "^7.0.0", - "postcss-minify-gradients": "^7.0.0", - "postcss-minify-params": "^7.0.2", - "postcss-minify-selectors": "^7.0.4", - "postcss-normalize-charset": "^7.0.0", - "postcss-normalize-display-values": "^7.0.0", - "postcss-normalize-positions": "^7.0.0", - "postcss-normalize-repeat-style": "^7.0.0", - "postcss-normalize-string": "^7.0.0", - "postcss-normalize-timing-functions": "^7.0.0", - "postcss-normalize-unicode": "^7.0.2", - "postcss-normalize-url": "^7.0.0", - "postcss-normalize-whitespace": "^7.0.0", - "postcss-ordered-values": "^7.0.1", - "postcss-reduce-initial": "^7.0.2", - "postcss-reduce-transforms": "^7.0.0", - "postcss-svgo": "^7.0.1", - "postcss-unique-selectors": "^7.0.3" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", - "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/easymde": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/easymde/-/easymde-2.18.0.tgz", - "integrity": "sha512-IxVVUxNWIoXLeqtBU4BLc+eS/ScYhT1Dcb6yF5Wchoj1iXAV+TIIDWx+NCaZhY7RcSHqDPKllbYq7nwGKILnoA==", - "dependencies": { - "@types/codemirror": "^5.60.4", - "@types/marked": "^4.0.7", - "codemirror": "^5.63.1", - "codemirror-spell-checker": "1.1.2", - "marked": "^4.1.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.24", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.24.tgz", - "integrity": "sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/expose-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.0.tgz", - "integrity": "sha512-BtUqYRmvx1bEY5HN6eK2I9URUZgNmN0x5UANuocaNjXSgfoDlkXt+wyEMe7i5DzDNh2BKJHPc5F4rBwEdSQX6w==", - "dev": true, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "dev": true, - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jackspeak": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, - "node_modules/jquery-ui": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.14.0.tgz", - "integrity": "sha512-mPfYKBoRCf0MzaT2cyW5i3IuZ7PfTITaasO5OFLAQxrHuI+ZxruPa+4/K1OMNT8oElLWGtIxc9aRbyw20BKr8g==", - "dependencies": { - "jquery": ">=1.12.0 <5.0.0" - } - }, - "node_modules/jquery.shorten": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jquery.shorten/-/jquery.shorten-1.0.0.tgz", - "integrity": "sha512-49rJlpcyVI/Y2eQRwSexyz6l+fwTKfurO0XttXK4XnG9eQxIuE2Fb4rwNqnsnzStJ8M7ynlhH31fWE9P70B9rg==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.1.tgz", - "integrity": "sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", - "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", - "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12 || ^20.9 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.38" - } - }, - "node_modules/postcss-colormin": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", - "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", - "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-comments": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", - "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", - "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", - "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", - "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", - "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.4" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", - "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^5.0.0", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", - "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", - "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", - "dev": true, - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", - "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", - "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", - "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", - "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", - "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", - "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", - "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", - "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", - "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", - "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", - "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-ordered-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", - "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", - "dev": true, - "dependencies": { - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", - "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", - "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", - "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", - "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", - "dev": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylehacks": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", - "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-selector-parser": "^6.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", - "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/typo-js": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.2.4.tgz", - "integrity": "sha512-Oy/k+tFle5NAA3J/yrrYGfvEnPVrDZ8s8/WCwjUE75k331QyKIsFss7byQ/PzBmXLY6h1moRnZbnaxWBe3I3CA==" - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "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==", - "dev": true - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "name": "sith", + "version": "3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sith", + "version": "3", + "license": "GPL-3.0-only", + "dependencies": { + "@fortawesome/fontawesome-free": "^6.6.0", + "@hey-api/client-fetch": "^0.4.0", + "@zip.js/zip.js": "^2.7.52", + "alpinejs": "^3.14.1", + "cytoscape": "^3.30.2", + "cytoscape-cxtmenu": "^3.5.0", + "cytoscape-klay": "^3.1.4", + "easymde": "^2.18.0", + "glob": "^11.0.0", + "jquery": "^3.7.1", + "jquery-ui": "^1.14.0", + "jquery.shorten": "^1.0.0", + "native-file-system-adapter": "^3.0.1" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.4", + "@biomejs/biome": "1.9.3", + "@hey-api/openapi-ts": "^0.53.8", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", + "css-minimizer-webpack-plugin": "^7.0.0", + "expose-loader": "^5.0.0", + "mini-css-extract-plugin": "^2.9.1", + "source-map-loader": "^5.0.0", + "terser-webpack-plugin": "^5.3.10", + "ts-loader": "^9.5.1", + "typescript": "^5.6.3", + "webpack": "^5.94.0", + "webpack-cli": "^5.1.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.0.tgz", + "integrity": "sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==", + "dev": true, + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@biomejs/biome": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.3.tgz", + "integrity": "sha512-POjAPz0APAmX33WOQFGQrwLvlu7WLV4CFJMlB12b6ZSg+2q6fYu9kZwLCOA+x83zXfcPd1RpuWOKJW0GbBwLIQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.9.3", + "@biomejs/cli-darwin-x64": "1.9.3", + "@biomejs/cli-linux-arm64": "1.9.3", + "@biomejs/cli-linux-arm64-musl": "1.9.3", + "@biomejs/cli-linux-x64": "1.9.3", + "@biomejs/cli-linux-x64-musl": "1.9.3", + "@biomejs/cli-win32-arm64": "1.9.3", + "@biomejs/cli-win32-x64": "1.9.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.3.tgz", + "integrity": "sha512-QZzD2XrjJDUyIZK+aR2i5DDxCJfdwiYbUKu9GzkCUJpL78uSelAHAPy7m0GuPMVtF/Uo+OKv97W3P9nuWZangQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.3.tgz", + "integrity": "sha512-vSCoIBJE0BN3SWDFuAY/tRavpUtNoqiceJ5PrU3xDfsLcm/U6N93JSM0M9OAiC/X7mPPfejtr6Yc9vSgWlEgVw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.3.tgz", + "integrity": "sha512-vJkAimD2+sVviNTbaWOGqEBy31cW0ZB52KtpVIbkuma7PlfII3tsLhFa+cwbRAcRBkobBBhqZ06hXoZAN8NODQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.3.tgz", + "integrity": "sha512-VBzyhaqqqwP3bAkkBrhVq50i3Uj9+RWuj+pYmXrMDgjS5+SKYGE56BwNw4l8hR3SmYbLSbEo15GcV043CDSk+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.3.tgz", + "integrity": "sha512-x220V4c+romd26Mu1ptU+EudMXVS4xmzKxPVb9mgnfYlN4Yx9vD5NZraSx/onJnd3Gh/y8iPUdU5CDZJKg9COA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.3.tgz", + "integrity": "sha512-TJmnOG2+NOGM72mlczEsNki9UT+XAsMFAOo8J0me/N47EJ/vkLXxf481evfHLlxMejTY6IN8SdRSiPVLv6AHlA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.3.tgz", + "integrity": "sha512-lg/yZis2HdQGsycUvHWSzo9kOvnGgvtrYRgoCEwPBwwAL8/6crOp3+f47tPwI/LI1dZrhSji7PNsGKGHbwyAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.3.tgz", + "integrity": "sha512-cQMy2zanBkVLpmmxXdK6YePzmZx0s5Z7KEnwmrW54rcXK3myCNbQa09SwGZ8i/8sLw0H9F3X7K4rxVNGU8/D4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", + "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@hey-api/client-fetch": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.4.0.tgz", + "integrity": "sha512-T8T3yCl2+AiVVDP6tvfnU/rXOkEHddMTOYCZXUVbydj7URVErh5BelIa8UWBkFYZBP2/mi2nViScNhe9eBolPw==" + }, + "node_modules/@hey-api/openapi-ts": { + "version": "0.53.8", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.53.8.tgz", + "integrity": "sha512-UbiaIq+JNgG00N/iWYk+LSivOBgWsfGxEHDleWEgQcQr3q7oZJTKL8oH87+KkFDDbUngm1g8lnKI/zLdu1aElQ==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "11.7.0", + "c12": "2.0.1", + "commander": "12.1.0", + "handlebars": "4.7.8" + }, + "bin": { + "openapi-ts": "bin/index.cjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "typescript": "^5.x" + } + }, + "node_modules/@hey-api/openapi-ts/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/codemirror": { + "version": "5.60.15", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.15.tgz", + "integrity": "sha512-dTOvwEQ+ouKJ/rE9LT1Ue2hmP6H1mZv5+CCnNWu2qtiOe2LQa9lCprEY20HxiDmV/Bxh+dXjywmy5aKvoGjULA==", + "dependencies": { + "@types/tern": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/marked": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.3.2.tgz", + "integrity": "sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==" + }, + "node_modules/@types/node": { + "version": "22.5.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", + "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "dev": true, + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/tern": { + "version": "0.23.9", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", + "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "dependencies": { + "@vue/shared": "3.1.5" + } + }, + "node_modules/@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@zip.js/zip.js": { + "version": "2.7.52", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.52.tgz", + "integrity": "sha512-+5g7FQswvrCHwYKNMd/KFxZSObctLSsQOgqBSi0LzwHo3li9Eh1w5cF5ndjQw9Zbr3ajVnd2+XyiX85gAetx1Q==", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alpinejs": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.1.tgz", + "integrity": "sha512-ICar8UsnRZAYvv/fCNfNeKMXNoXGUfwHrjx7LqXd08zIP95G2d9bAOuaL97re+1mgt/HojqHsfdOLo/A5LuWgQ==", + "dependencies": { + "@vue/reactivity": "~3.1.1" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-loader/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/babel-loader/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/babel-loader/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/c12": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/c12/-/c12-2.0.1.tgz", + "integrity": "sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==", + "dev": true, + "dependencies": { + "chokidar": "^4.0.1", + "confbox": "^0.1.7", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.3", + "jiti": "^2.3.0", + "mlly": "^1.7.1", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "dev": true, + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codemirror": { + "version": "5.65.18", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.18.tgz", + "integrity": "sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA==" + }, + "node_modules/codemirror-spell-checker": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz", + "integrity": "sha512-2Tl6n0v+GJRsC9K3MLCdLaMOmvWL0uukajNJseorZJsslaxZyZMgENocPU8R0DyoTAiKsyqiemSOZo7kjGV0LQ==", + "dependencies": { + "typo-js": "*" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.0.tgz", + "integrity": "sha512-niy66jxsQHqO+EYbhPuIhqRQ1mNcNVUHrMnkzzir9kFOERJUaQDDRhh7dKDz33kBpkWMF9M8Vx0QlDbc5AHOsw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "cssnano": "^7.0.1", + "jest-worker": "^29.7.0", + "postcss": "^8.4.38", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", + "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^7.0.6", + "lilconfig": "^3.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", + "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.0", + "postcss-calc": "^10.0.2", + "postcss-colormin": "^7.0.2", + "postcss-convert-values": "^7.0.4", + "postcss-discard-comments": "^7.0.3", + "postcss-discard-duplicates": "^7.0.1", + "postcss-discard-empty": "^7.0.0", + "postcss-discard-overridden": "^7.0.0", + "postcss-merge-longhand": "^7.0.4", + "postcss-merge-rules": "^7.0.4", + "postcss-minify-font-values": "^7.0.0", + "postcss-minify-gradients": "^7.0.0", + "postcss-minify-params": "^7.0.2", + "postcss-minify-selectors": "^7.0.4", + "postcss-normalize-charset": "^7.0.0", + "postcss-normalize-display-values": "^7.0.0", + "postcss-normalize-positions": "^7.0.0", + "postcss-normalize-repeat-style": "^7.0.0", + "postcss-normalize-string": "^7.0.0", + "postcss-normalize-timing-functions": "^7.0.0", + "postcss-normalize-unicode": "^7.0.2", + "postcss-normalize-url": "^7.0.0", + "postcss-normalize-whitespace": "^7.0.0", + "postcss-ordered-values": "^7.0.1", + "postcss-reduce-initial": "^7.0.2", + "postcss-reduce-transforms": "^7.0.0", + "postcss-svgo": "^7.0.1", + "postcss-unique-selectors": "^7.0.3" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", + "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", + "dev": true, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/cytoscape": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.2.tgz", + "integrity": "sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cxtmenu": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/cytoscape-cxtmenu/-/cytoscape-cxtmenu-3.5.0.tgz", + "integrity": "sha512-CoqgKAxvQhmHO5fEgJdBqqR2VjwK1dNkxehc2i0MUMqY0araA13z3oP/9KkprHp9Td++KlVBz6JnncNAD76T0Q==", + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-klay": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cytoscape-klay/-/cytoscape-klay-3.1.4.tgz", + "integrity": "sha512-VwPj0VR25GPfy6qXVQRi/MYlZM/zkdvRhHlgqbM//lSvstgM6fhp3ik/uM8Wr8nlhskfqz/M1fIDmR6UckbS2A==", + "dependencies": { + "klayjs": "^0.4.1" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true + }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/easymde": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/easymde/-/easymde-2.18.0.tgz", + "integrity": "sha512-IxVVUxNWIoXLeqtBU4BLc+eS/ScYhT1Dcb6yF5Wchoj1iXAV+TIIDWx+NCaZhY7RcSHqDPKllbYq7nwGKILnoA==", + "dependencies": { + "@types/codemirror": "^5.60.4", + "@types/marked": "^4.0.7", + "codemirror": "^5.63.1", + "codemirror-spell-checker": "1.1.2", + "marked": "^4.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.24", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.24.tgz", + "integrity": "sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expose-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.0.tgz", + "integrity": "sha512-BtUqYRmvx1bEY5HN6eK2I9URUZgNmN0x5UANuocaNjXSgfoDlkXt+wyEMe7i5DzDNh2BKJHPc5F4rBwEdSQX6w==", + "dev": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "optional": true, + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/giget": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", + "dev": true, + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jiti": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.3.3.tgz", + "integrity": "sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "node_modules/jquery-ui": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.14.0.tgz", + "integrity": "sha512-mPfYKBoRCf0MzaT2cyW5i3IuZ7PfTITaasO5OFLAQxrHuI+ZxruPa+4/K1OMNT8oElLWGtIxc9aRbyw20BKr8g==", + "dependencies": { + "jquery": ">=1.12.0 <5.0.0" + } + }, + "node_modules/jquery.shorten": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jquery.shorten/-/jquery.shorten-1.0.0.tgz", + "integrity": "sha512-49rJlpcyVI/Y2eQRwSexyz6l+fwTKfurO0XttXK4XnG9eQxIuE2Fb4rwNqnsnzStJ8M7ynlhH31fWE9P70B9rg==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klayjs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/klayjs/-/klayjs-0.4.1.tgz", + "integrity": "sha512-WUNxuO7O79TEkxCj6OIaK5TJBkaWaR/IKNTakgV9PwDn+mrr63MLHed34AcE2yTaDntgO6l0zGFIzhcoTeroTA==" + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.1.tgz", + "integrity": "sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mlly": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.2.tgz", + "integrity": "sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==", + "dev": true, + "dependencies": { + "acorn": "^8.12.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "ufo": "^1.5.4" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/native-file-system-adapter": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/native-file-system-adapter/-/native-file-system-adapter-3.0.1.tgz", + "integrity": "sha512-ocuhsYk2SY0906LPc3QIMW+rCV3MdhqGiy7wV5Bf0e8/5TsMjDdyIwhNiVPiKxzTJLDrLT6h8BoV9ERfJscKhw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=14.8.0" + }, + "optionalDependencies": { + "fetch-blob": "^3.2.0" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "optional": true, + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nypm": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.12.tgz", + "integrity": "sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==", + "dev": true, + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "execa": "^8.0.1", + "pathe": "^1.1.2", + "pkg-types": "^1.2.0", + "ufo": "^1.5.4" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/ohash": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz", + "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==", + "dev": true + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-types": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz", + "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==", + "dev": true, + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.2", + "pathe": "^1.1.2" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", + "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.1.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12 || ^20.9 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.38" + } + }, + "node_modules/postcss-colormin": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", + "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", + "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", + "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", + "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", + "dev": true, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", + "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", + "dev": true, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", + "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", + "dev": true, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", + "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.4" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", + "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", + "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", + "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", + "dev": true, + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", + "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", + "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", + "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", + "dev": true, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", + "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", + "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", + "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", + "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", + "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", + "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", + "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", + "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", + "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", + "dev": true, + "dependencies": { + "cssnano-utils": "^5.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", + "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", + "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", + "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.3.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", + "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "dev": true, + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "dev": true, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylehacks": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", + "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3", + "postcss-selector-parser": "^6.1.2" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/terser": { + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typo-js": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.2.4.tgz", + "integrity": "sha512-Oy/k+tFle5NAA3J/yrrYGfvEnPVrDZ8s8/WCwjUE75k331QyKIsFss7byQ/PzBmXLY6h1moRnZbnaxWBe3I3CA==" + }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "optional": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } + } } diff --git a/package.json b/package.json index d2dc38e2..9701aa51 100644 --- a/package.json +++ b/package.json @@ -1,38 +1,53 @@ { - "name": "sith", - "version": "3", - "description": "Le web Sith de l'AE", - "main": "index.js", - "scripts": { - "compile": "webpack --mode production", - "compile-dev": "webpack --mode development", - "serve": "webpack --mode development --watch" - }, - "keywords": [], - "author": "", - "license": "GPL-3.0-only", - "sideEffects": [ - ".css" - ], - "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/preset-env": "^7.25.4", - "babel-loader": "^9.2.1", - "expose-loader": "^5.0.0", - "mini-css-extract-plugin": "^2.9.1", - "source-map-loader": "^5.0.0", - "terser-webpack-plugin": "^5.3.10", - "webpack": "^5.94.0", - "webpack-cli": "^5.1.4", - "css-loader": "^7.1.2", - "css-minimizer-webpack-plugin": "^7.0.0" - }, - "dependencies": { - "alpinejs": "^3.14.1", - "easymde": "^2.18.0", - "glob": "^11.0.0", - "jquery": "^3.7.1", - "jquery-ui": "^1.14.0", - "jquery.shorten": "^1.0.0" - } + "name": "sith", + "version": "3", + "description": "Le web Sith de l'AE", + "main": "index.js", + "scripts": { + "compile": "webpack --mode production", + "compile-dev": "webpack --mode development", + "serve": "webpack --mode development --watch", + "check": "biome check --write" + }, + "keywords": [], + "author": "", + "license": "GPL-3.0-only", + "sideEffects": [".css"], + "imports": { + "#openapi": "./staticfiles/generated/openapi/index.ts", + "#core:*": "./core/static/webpack/*", + "#pedagogy:*": "./pedagogy/static/webpack/*" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.4", + "@biomejs/biome": "1.9.3", + "@hey-api/openapi-ts": "^0.53.8", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", + "css-minimizer-webpack-plugin": "^7.0.0", + "expose-loader": "^5.0.0", + "mini-css-extract-plugin": "^2.9.1", + "source-map-loader": "^5.0.0", + "terser-webpack-plugin": "^5.3.10", + "ts-loader": "^9.5.1", + "typescript": "^5.6.3", + "webpack": "^5.94.0", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@fortawesome/fontawesome-free": "^6.6.0", + "@hey-api/client-fetch": "^0.4.0", + "@zip.js/zip.js": "^2.7.52", + "alpinejs": "^3.14.1", + "cytoscape": "^3.30.2", + "cytoscape-cxtmenu": "^3.5.0", + "cytoscape-klay": "^3.1.4", + "easymde": "^2.18.0", + "glob": "^11.0.0", + "jquery": "^3.7.1", + "jquery-ui": "^1.14.0", + "jquery.shorten": "^1.0.0", + "native-file-system-adapter": "^3.0.1" + } } diff --git a/pedagogy/static/webpack/pedagogy/guide-index.js b/pedagogy/static/webpack/pedagogy/guide-index.js new file mode 100644 index 00000000..6740b935 --- /dev/null +++ b/pedagogy/static/webpack/pedagogy/guide-index.js @@ -0,0 +1,120 @@ +import { uvFetchUvList } from "#openapi"; + +const pageDefault = 1; +const pageSizeDefault = 100; + +document.addEventListener("alpine:init", () => { + Alpine.data("uv_search", () => ({ + uvs: { + count: 0, + next: null, + previous: null, + results: [], + }, + loading: false, + page: pageDefault, + // biome-ignore lint/style/useNamingConvention: api is in snake_case + page_size: pageSizeDefault, + search: "", + department: [], + // biome-ignore lint/style/useNamingConvention: api is in snake_case + credit_type: [], + semester: [], + // biome-ignore lint/style/useNamingConvention: api is in snake_case + to_change: [], + pushstate: History.PUSH, + + update: undefined, + + initializeArgs() { + const url = new URLSearchParams(window.location.search); + this.pushstate = History.REPLACE; + + this.page = Number.parseInt(url.get("page")) || pageDefault; + this.page_size = Number.parseInt(url.get("page_size")) || pageSizeDefault; + this.search = url.get("search") || ""; + this.department = url.getAll("department"); + this.credit_type = url.getAll("credit_type"); + /* The semester is easier to use on the backend as an enum (spring/autumn/both/none) + and easier to use on the frontend as an array ([spring, autumn]). + Thus there is some conversion involved when both communicate together */ + this.semester = url.has("semester") ? url.get("semester").split("_AND_") : []; + + this.update(); + }, + + async init() { + this.update = Alpine.debounce(async () => { + /* Create the whole url before changing everything all at once */ + const first = this.to_change.shift(); + // biome-ignore lint/correctness/noUndeclaredVariables: defined in script.js + let url = updateQueryString(first.param, first.value, History.NONE); + for (const value of this.to_change) { + // biome-ignore lint/correctness/noUndeclaredVariables: defined in script.js + url = updateQueryString(value.param, value.value, History.NONE, url); + } + // biome-ignore lint/correctness/noUndeclaredVariables: defined in script.js + updateQueryString(first.param, first.value, this.pushstate, url); + await this.fetchData(); /* reload data on form change */ + this.to_change = []; + this.pushstate = History.PUSH; + }, 50); + + const searchParams = ["search", "department", "credit_type", "semester"]; + const paginationParams = ["page", "page_size"]; + + for (const param of searchParams) { + this.$watch(param, () => { + if (this.pushstate !== History.PUSH) { + /* This means that we are doing a mass param edit */ + return; + } + /* Reset pagination on search */ + this.page = pageDefault; + this.page_size = pageSizeDefault; + }); + } + for (const param of searchParams.concat(paginationParams)) { + this.$watch(param, (value) => { + this.to_change.push({ param: param, value: value }); + this.update(); + }); + } + window.addEventListener("popstate", () => { + this.initializeArgs(); + }); + this.initializeArgs(); + }, + + async fetchData() { + this.loading = true; + const args = { + // biome-ignore lint/style/useNamingConvention: api is in snake_case + page_size: this.page_size, + }; + for (const [param, value] of new URL( + window.location.href, + ).searchParams.entries()) { + // Deal with array type params + if (["credit_type", "department", "semester"].includes(param)) { + if (args[param] === undefined) { + args[param] = []; + } + args[param].push(value); + } else { + args[param] = value; + } + } + this.uvs = ( + await uvFetchUvList({ + query: args, + }) + ).data; + this.loading = false; + }, + + maxPage() { + return Math.ceil(this.uvs.count / this.page_size); + }, + })); +}); diff --git a/pedagogy/templates/pedagogy/guide.jinja b/pedagogy/templates/pedagogy/guide.jinja index 5203cec7..be9cce86 100644 --- a/pedagogy/templates/pedagogy/guide.jinja +++ b/pedagogy/templates/pedagogy/guide.jinja @@ -9,6 +9,10 @@ {% endblock %} +{% block additional_js %} + +{% endblock %} + {% block head %} {{ super() }} @@ -76,7 +80,7 @@ - +
    @@ -89,7 +93,7 @@ {% trans %}Department{% endtrans %} {% trans %}Credit type{% endtrans %} - + {% if can_create_uv %} {% trans %}Edit{% endtrans %} {% trans %}Delete{% endtrans %} @@ -104,7 +108,7 @@ - + {% if can_create_uv -%} {% trans %}Edit{% endtrans %} {% trans %}Delete{% endtrans %} @@ -113,105 +117,6 @@ - {{ paginate_alpine("page", "max_page()") }} + {{ paginate_alpine("page", "maxPage()") }}
    - {% endblock content %} diff --git a/pedagogy/templates/pedagogy/macros.jinja b/pedagogy/templates/pedagogy/macros.jinja index c853ee15..ffad4d1d 100644 --- a/pedagogy/templates/pedagogy/macros.jinja +++ b/pedagogy/templates/pedagogy/macros.jinja @@ -3,9 +3,9 @@ {% if grade >= 0 %} {% for i in range(5) %} {% if i <= grade %} - + {% else %} - + {% endif %} {% endfor %} {{ grade }}/5 diff --git a/pedagogy/templates/pedagogy/uv_detail.jinja b/pedagogy/templates/pedagogy/uv_detail.jinja index bf45da0f..c2133eae 100644 --- a/pedagogy/templates/pedagogy/uv_detail.jinja +++ b/pedagogy/templates/pedagogy/uv_detail.jinja @@ -2,6 +2,10 @@ {% from "core/macros.jinja" import user_profile_link %} {% from "pedagogy/macros.jinja" import display_star %} +{% block additional_css %} + +{% endblock %} + {% block title %} {% trans %}UV Details{% endtrans %} {% endblock %} diff --git a/poetry.lock b/poetry.lock index a2ba919f..9160dba8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -70,13 +70,13 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "bracex" -version = "2.5" +version = "2.5.post1" description = "Bash style brace expander." optional = false python-versions = ">=3.8" files = [ - {file = "bracex-2.5-py3-none-any.whl", hash = "sha256:d2fcf4b606a82ac325471affe1706dd9bbaa3536c91ef86a31f6b766f3dad1d0"}, - {file = "bracex-2.5.tar.gz", hash = "sha256:0725da5045e8d37ea9592ab3614d8b561e22c3c5fde3964699be672e072ab611"}, + {file = "bracex-2.5.post1-py3-none-any.whl", hash = "sha256:13e5732fec27828d6af308628285ad358047cec36801598368cb28bc631dbaf6"}, + {file = "bracex-2.5.post1.tar.gz", hash = "sha256:12c50952415bfa773d2d9ccb8e79651b8cdb1f31a42f6091b804f6ba2b4a66b6"}, ] [[package]] @@ -193,101 +193,116 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -328,83 +343,73 @@ files = [ [[package]] name = "coverage" -version = "7.6.1" +version = "7.6.2" description = "Code coverage measurement for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16"}, - {file = "coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc"}, - {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c"}, - {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959"}, - {file = "coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232"}, - {file = "coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0"}, - {file = "coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93"}, - {file = "coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d"}, - {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234"}, - {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133"}, - {file = "coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c"}, - {file = "coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"}, - {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"}, - {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"}, - {file = "coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106"}, - {file = "coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a"}, - {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388"}, - {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155"}, - {file = "coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a"}, - {file = "coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129"}, - {file = "coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e"}, - {file = "coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704"}, - {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223"}, - {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3"}, - {file = "coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f"}, - {file = "coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657"}, - {file = "coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0"}, - {file = "coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3"}, - {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569"}, - {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989"}, - {file = "coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7"}, - {file = "coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8"}, - {file = "coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255"}, - {file = "coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a"}, - {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb"}, - {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36"}, - {file = "coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c"}, - {file = "coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca"}, - {file = "coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df"}, - {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"}, + {file = "coverage-7.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c9df1950fb92d49970cce38100d7e7293c84ed3606eaa16ea0b6bc27175bb667"}, + {file = "coverage-7.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:24500f4b0e03aab60ce575c85365beab64b44d4db837021e08339f61d1fbfe52"}, + {file = "coverage-7.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a663b180b6669c400b4630a24cc776f23a992d38ce7ae72ede2a397ce6b0f170"}, + {file = "coverage-7.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfde025e2793a22efe8c21f807d276bd1d6a4bcc5ba6f19dbdfc4e7a12160909"}, + {file = "coverage-7.6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:087932079c065d7b8ebadd3a0160656c55954144af6439886c8bcf78bbbcde7f"}, + {file = "coverage-7.6.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9c6b0c1cafd96213a0327cf680acb39f70e452caf8e9a25aeb05316db9c07f89"}, + {file = "coverage-7.6.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6e85830eed5b5263ffa0c62428e43cb844296f3b4461f09e4bdb0d44ec190bc2"}, + {file = "coverage-7.6.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:62ab4231c01e156ece1b3a187c87173f31cbeee83a5e1f6dff17f288dca93345"}, + {file = "coverage-7.6.2-cp310-cp310-win32.whl", hash = "sha256:7b80fbb0da3aebde102a37ef0138aeedff45997e22f8962e5f16ae1742852676"}, + {file = "coverage-7.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:d20c3d1f31f14d6962a4e2f549c21d31e670b90f777ef4171be540fb7fb70f02"}, + {file = "coverage-7.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bb21bac7783c1bf6f4bbe68b1e0ff0d20e7e7732cfb7995bc8d96e23aa90fc7b"}, + {file = "coverage-7.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a7b2e437fbd8fae5bc7716b9c7ff97aecc95f0b4d56e4ca08b3c8d8adcaadb84"}, + {file = "coverage-7.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:536f77f2bf5797983652d1d55f1a7272a29afcc89e3ae51caa99b2db4e89d658"}, + {file = "coverage-7.6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f361296ca7054f0936b02525646b2731b32c8074ba6defab524b79b2b7eeac72"}, + {file = "coverage-7.6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7926d8d034e06b479797c199747dd774d5e86179f2ce44294423327a88d66ca7"}, + {file = "coverage-7.6.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0bbae11c138585c89fb4e991faefb174a80112e1a7557d507aaa07675c62e66b"}, + {file = "coverage-7.6.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fcad7d5d2bbfeae1026b395036a8aa5abf67e8038ae7e6a25c7d0f88b10a8e6a"}, + {file = "coverage-7.6.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f01e53575f27097d75d42de33b1b289c74b16891ce576d767ad8c48d17aeb5e0"}, + {file = "coverage-7.6.2-cp311-cp311-win32.whl", hash = "sha256:7781f4f70c9b0b39e1b129b10c7d43a4e0c91f90c60435e6da8288efc2b73438"}, + {file = "coverage-7.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:9bcd51eeca35a80e76dc5794a9dd7cb04b97f0e8af620d54711793bfc1fbba4b"}, + {file = "coverage-7.6.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ebc94fadbd4a3f4215993326a6a00e47d79889391f5659bf310f55fe5d9f581c"}, + {file = "coverage-7.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9681516288e3dcf0aa7c26231178cc0be6cac9705cac06709f2353c5b406cfea"}, + {file = "coverage-7.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d9c5d13927d77af4fbe453953810db766f75401e764727e73a6ee4f82527b3e"}, + {file = "coverage-7.6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b92f9ca04b3e719d69b02dc4a69debb795af84cb7afd09c5eb5d54b4a1ae2191"}, + {file = "coverage-7.6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ff2ef83d6d0b527b5c9dad73819b24a2f76fdddcfd6c4e7a4d7e73ecb0656b4"}, + {file = "coverage-7.6.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:47ccb6e99a3031ffbbd6e7cc041e70770b4fe405370c66a54dbf26a500ded80b"}, + {file = "coverage-7.6.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a867d26f06bcd047ef716175b2696b315cb7571ccb951006d61ca80bbc356e9e"}, + {file = "coverage-7.6.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cdfcf2e914e2ba653101157458afd0ad92a16731eeba9a611b5cbb3e7124e74b"}, + {file = "coverage-7.6.2-cp312-cp312-win32.whl", hash = "sha256:f9035695dadfb397bee9eeaf1dc7fbeda483bf7664a7397a629846800ce6e276"}, + {file = "coverage-7.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:5ed69befa9a9fc796fe015a7040c9398722d6b97df73a6b608e9e275fa0932b0"}, + {file = "coverage-7.6.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4eea60c79d36a8f39475b1af887663bc3ae4f31289cd216f514ce18d5938df40"}, + {file = "coverage-7.6.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:aa68a6cdbe1bc6793a9dbfc38302c11599bbe1837392ae9b1d238b9ef3dafcf1"}, + {file = "coverage-7.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ec528ae69f0a139690fad6deac8a7d33629fa61ccce693fdd07ddf7e9931fba"}, + {file = "coverage-7.6.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed5ac02126f74d190fa2cc14a9eb2a5d9837d5863920fa472b02eb1595cdc925"}, + {file = "coverage-7.6.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21c0ea0d4db8a36b275cb6fb2437a3715697a4ba3cb7b918d3525cc75f726304"}, + {file = "coverage-7.6.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:35a51598f29b2a19e26d0908bd196f771a9b1c5d9a07bf20be0adf28f1ad4f77"}, + {file = "coverage-7.6.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c9192925acc33e146864b8cf037e2ed32a91fdf7644ae875f5d46cd2ef086a5f"}, + {file = "coverage-7.6.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf4eeecc9e10f5403ec06138978235af79c9a79af494eb6b1d60a50b49ed2869"}, + {file = "coverage-7.6.2-cp313-cp313-win32.whl", hash = "sha256:e4ee15b267d2dad3e8759ca441ad450c334f3733304c55210c2a44516e8d5530"}, + {file = "coverage-7.6.2-cp313-cp313-win_amd64.whl", hash = "sha256:c71965d1ced48bf97aab79fad56df82c566b4c498ffc09c2094605727c4b7e36"}, + {file = "coverage-7.6.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7571e8bbecc6ac066256f9de40365ff833553e2e0c0c004f4482facb131820ef"}, + {file = "coverage-7.6.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:078a87519057dacb5d77e333f740708ec2a8f768655f1db07f8dfd28d7a005f0"}, + {file = "coverage-7.6.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e5e92e3e84a8718d2de36cd8387459cba9a4508337b8c5f450ce42b87a9e760"}, + {file = "coverage-7.6.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebabdf1c76593a09ee18c1a06cd3022919861365219ea3aca0247ededf6facd6"}, + {file = "coverage-7.6.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12179eb0575b8900912711688e45474f04ab3934aaa7b624dea7b3c511ecc90f"}, + {file = "coverage-7.6.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:39d3b964abfe1519b9d313ab28abf1d02faea26cd14b27f5283849bf59479ff5"}, + {file = "coverage-7.6.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:84c4315577f7cd511d6250ffd0f695c825efe729f4205c0340f7004eda51191f"}, + {file = "coverage-7.6.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ff797320dcbff57caa6b2301c3913784a010e13b1f6cf4ab3f563f3c5e7919db"}, + {file = "coverage-7.6.2-cp313-cp313t-win32.whl", hash = "sha256:2b636a301e53964550e2f3094484fa5a96e699db318d65398cfba438c5c92171"}, + {file = "coverage-7.6.2-cp313-cp313t-win_amd64.whl", hash = "sha256:d03a060ac1a08e10589c27d509bbdb35b65f2d7f3f8d81cf2fa199877c7bc58a"}, + {file = "coverage-7.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c37faddc8acd826cfc5e2392531aba734b229741d3daec7f4c777a8f0d4993e5"}, + {file = "coverage-7.6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab31fdd643f162c467cfe6a86e9cb5f1965b632e5e65c072d90854ff486d02cf"}, + {file = "coverage-7.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97df87e1a20deb75ac7d920c812e9326096aa00a9a4b6d07679b4f1f14b06c90"}, + {file = "coverage-7.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:343056c5e0737487a5291f5691f4dfeb25b3e3c8699b4d36b92bb0e586219d14"}, + {file = "coverage-7.6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4ef1c56b47b6b9024b939d503ab487231df1f722065a48f4fc61832130b90e"}, + {file = "coverage-7.6.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fca4a92c8a7a73dee6946471bce6d1443d94155694b893b79e19ca2a540d86e"}, + {file = "coverage-7.6.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69f251804e052fc46d29d0e7348cdc5fcbfc4861dc4a1ebedef7e78d241ad39e"}, + {file = "coverage-7.6.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e8ea055b3ea046c0f66217af65bc193bbbeca1c8661dc5fd42698db5795d2627"}, + {file = "coverage-7.6.2-cp39-cp39-win32.whl", hash = "sha256:6c2ba1e0c24d8fae8f2cf0aeb2fc0a2a7f69b6d20bd8d3749fd6b36ecef5edf0"}, + {file = "coverage-7.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:2186369a654a15628e9c1c9921409a6b3eda833e4b91f3ca2a7d9f77abb4987c"}, + {file = "coverage-7.6.2-pp39.pp310-none-any.whl", hash = "sha256:667952739daafe9616db19fbedbdb87917eee253ac4f31d70c7587f7ab531b4e"}, + {file = "coverage-7.6.2.tar.gz", hash = "sha256:a5f81e68aa62bc0cfca04f7b19eaa8f9c826b53fc82ab9e2121976dc74f131f3"}, ] [package.extras] @@ -747,32 +752,33 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "faker" -version = "26.3.0" +version = "30.3.0" description = "Faker is a Python package that generates fake data for you." optional = false python-versions = ">=3.8" files = [ - {file = "Faker-26.3.0-py3-none-any.whl", hash = "sha256:97fe1e7e953dd640ca2cd4dfac4db7c4d2432dd1b7a244a3313517707f3b54e9"}, - {file = "Faker-26.3.0.tar.gz", hash = "sha256:7c10ebdf74aaa0cc4fe6ec6db5a71e8598ec33503524bd4b5f4494785a5670dd"}, + {file = "Faker-30.3.0-py3-none-any.whl", hash = "sha256:e8a15fd1b0f72992b008f5ea94c70d3baa0cb51b0d5a0e899c17b1d1b23d2771"}, + {file = "faker-30.3.0.tar.gz", hash = "sha256:8760fbb34564fbb2f394345eef24aec5b8f6506b6cfcefe8195ed66dd1032bdb"}, ] [package.dependencies] python-dateutil = ">=2.4" +typing-extensions = "*" [[package]] name = "filelock" -version = "3.16.0" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, - {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] [[package]] @@ -808,13 +814,13 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "griffe" -version = "1.2.0" +version = "1.3.2" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." optional = false python-versions = ">=3.8" files = [ - {file = "griffe-1.2.0-py3-none-any.whl", hash = "sha256:a8b2fcb1ecdc5a412e646b0b4375eb20a5d2eac3a11dd8c10c56967a4097663c"}, - {file = "griffe-1.2.0.tar.gz", hash = "sha256:1c9f6ef7455930f3f9b0c4145a961c90385d1e2cbc496f7796fbff560ec60d31"}, + {file = "griffe-1.3.2-py3-none-any.whl", hash = "sha256:2e34b5e46507d615915c8e6288bb1a2234bd35dee44d01e40a2bc2f25bd4d10c"}, + {file = "griffe-1.3.2.tar.gz", hash = "sha256:1ec50335aa507ed2445f2dd45a15c9fa3a45f52c9527e880571dfc61912fd60c"}, ] [package.dependencies] @@ -925,13 +931,13 @@ files = [ [[package]] name = "identify" -version = "2.6.0" +version = "2.6.1" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"}, - {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"}, + {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, + {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, ] [package.extras] @@ -939,15 +945,18 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -986,13 +995,13 @@ dev = ["black (==24.3.0)", "build (==1.0.3)", "check-manifest (==0.49)", "click [[package]] name = "ipython" -version = "8.27.0" +version = "8.28.0" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.10" files = [ - {file = "ipython-8.27.0-py3-none-any.whl", hash = "sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c"}, - {file = "ipython-8.27.0.tar.gz", hash = "sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e"}, + {file = "ipython-8.28.0-py3-none-any.whl", hash = "sha256:530ef1e7bb693724d3cdc37287c80b07ad9b25986c007a53aa1857272dac3f35"}, + {file = "ipython-8.28.0.tar.gz", hash = "sha256:0d0d15ca1e01faeb868ef56bc7ee5a0de5bd66885735682e8a322ae289a13d1a"}, ] [package.dependencies] @@ -1088,71 +1097,72 @@ testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" -version = "2.1.5" +version = "3.0.1" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:db842712984e91707437461930e6011e60b39136c7331e971952bb30465bc1a1"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ffb4a8e7d46ed96ae48805746755fadd0909fea2306f93d5d8233ba23dda12a"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67c519635a4f64e495c50e3107d9b4075aec33634272b5db1cde839e07367589"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48488d999ed50ba8d38c581d67e496f955821dc183883550a6fbc7f1aefdc170"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f31ae06f1328595d762c9a2bf29dafd8621c7d3adc130cbb46278079758779ca"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80fcbf3add8790caddfab6764bde258b5d09aefbe9169c183f88a7410f0f6dea"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3341c043c37d78cc5ae6e3e305e988532b072329639007fd408a476642a89fd6"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cb53e2a99df28eee3b5f4fea166020d3ef9116fdc5764bc5117486e6d1211b25"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-win32.whl", hash = "sha256:db15ce28e1e127a0013dfb8ac243a8e392db8c61eae113337536edb28bdc1f97"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:4ffaaac913c3f7345579db4f33b0020db693f302ca5137f106060316761beea9"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:26627785a54a947f6d7336ce5963569b5d75614619e75193bdb4e06e21d447ad"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b954093679d5750495725ea6f88409946d69cfb25ea7b4c846eef5044194f583"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:973a371a55ce9ed333a3a0f8e0bcfae9e0d637711534bcb11e130af2ab9334e7"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244dbe463d5fb6d7ce161301a03a6fe744dac9072328ba9fc82289238582697b"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d98e66a24497637dd31ccab090b34392dddb1f2f811c4b4cd80c230205c074a3"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ad91738f14eb8da0ff82f2acd0098b6257621410dcbd4df20aaa5b4233d75a50"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7044312a928a66a4c2a22644147bc61a199c1709712069a344a3fb5cfcf16915"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a4792d3b3a6dfafefdf8e937f14906a51bd27025a36f4b188728a73382231d91"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-win32.whl", hash = "sha256:fa7d686ed9883f3d664d39d5a8e74d3c5f63e603c2e3ff0abcba23eac6542635"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:9ba25a71ebf05b9bb0e2ae99f8bc08a07ee8e98c612175087112656ca0f5c8bf"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8ae369e84466aa70f3154ee23c1451fda10a8ee1b63923ce76667e3077f2b0c4"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40f1e10d51c92859765522cbd79c5c8989f40f0419614bcdc5015e7b6bf97fc5"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a4cb365cb49b750bdb60b846b0c0bc49ed62e59a76635095a179d440540c346"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee3941769bd2522fe39222206f6dd97ae83c442a94c90f2b7a25d847d40f4729"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62fada2c942702ef8952754abfc1a9f7658a4d5460fabe95ac7ec2cbe0d02abc"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4c2d64fdba74ad16138300815cfdc6ab2f4647e23ced81f59e940d7d4a1469d9"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fb532dd9900381d2e8f48172ddc5a59db4c445a11b9fab40b3b786da40d3b56b"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0f84af7e813784feb4d5e4ff7db633aba6c8ca64a833f61d8e4eade234ef0c38"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win32.whl", hash = "sha256:cbf445eb5628981a80f54087f9acdbf84f9b7d862756110d172993b9a5ae81aa"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a10860e00ded1dd0a65b83e717af28845bb7bd16d8ace40fe5531491de76b79f"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e81c52638315ff4ac1b533d427f50bc0afc746deb949210bc85f05d4f15fd772"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:312387403cd40699ab91d50735ea7a507b788091c416dd007eac54434aee51da"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ae99f31f47d849758a687102afdd05bd3d3ff7dbab0a8f1587981b58a76152a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97ff7fedf56d86bae92fa0a646ce1a0ec7509a7578e1ed238731ba13aabcd1c"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7420ceda262dbb4b8d839a4ec63d61c261e4e77677ed7c66c99f4e7cb5030dd"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45d42d132cff577c92bfba536aefcfea7e26efb975bd455db4e6602f5c9f45e7"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c8817557d0de9349109acb38b9dd570b03cc5014e8aabf1cbddc6e81005becd"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a54c43d3ec4cf2a39f4387ad044221c66a376e58c0d0e971d47c475ba79c6b5"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-win32.whl", hash = "sha256:c91b394f7601438ff79a4b93d16be92f216adb57d813a78be4446fe0f6bc2d8c"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:fe32482b37b4b00c7a52a07211b479653b7fe4f22b2e481b9a9b099d8a430f2f"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:17b2aea42a7280db02ac644db1d634ad47dcc96faf38ab304fe26ba2680d359a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:852dc840f6d7c985603e60b5deaae1d89c56cb038b577f6b5b8c808c97580f1d"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0778de17cff1acaeccc3ff30cd99a3fd5c50fc58ad3d6c0e0c4c58092b859396"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:800100d45176652ded796134277ecb13640c1a537cad3b8b53da45aa96330453"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d06b24c686a34c86c8c1fba923181eae6b10565e4d80bdd7bc1c8e2f11247aa4"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:33d1c36b90e570ba7785dacd1faaf091203d9942bc036118fab8110a401eb1a8"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:beeebf760a9c1f4c07ef6a53465e8cfa776ea6a2021eda0d0417ec41043fe984"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bbde71a705f8e9e4c3e9e33db69341d040c827c7afa6789b14c6e16776074f5a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-win32.whl", hash = "sha256:82b5dba6eb1bcc29cc305a18a3c5365d2af06ee71b123216416f7e20d2a84e5b"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:730d86af59e0e43ce277bb83970530dd223bf7f2a838e086b50affa6ec5f9295"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4935dd7883f1d50e2ffecca0aa33dc1946a94c8f3fdafb8df5c330e48f71b132"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e9393357f19954248b00bed7c56f29a25c930593a77630c719653d51e7669c2a"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40621d60d0e58aa573b68ac5e2d6b20d44392878e0bfc159012a5787c4e35bc8"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f94190df587738280d544971500b9cafc9b950d32efcb1fba9ac10d84e6aa4e6"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6a387d61fe41cdf7ea95b38e9af11cfb1a63499af2759444b99185c4ab33f5b"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8ad4ad1429cd4f315f32ef263c1342166695fad76c100c5d979c45d5570ed58b"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e24bfe89c6ac4c31792793ad9f861b8f6dc4546ac6dc8f1c9083c7c4f2b335cd"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a4b34a8d14649315c4bc26bbfa352663eb51d146e35eef231dd739d54a5430a"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-win32.whl", hash = "sha256:242d6860f1fd9191aef5fae22b51c5c19767f93fb9ead4d21924e0bcb17619d8"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:93e8248d650e7e9d49e8251f883eed60ecbc0e8ffd6349e18550925e31bd029b"}, + {file = "markupsafe-3.0.1.tar.gz", hash = "sha256:3e683ee4f5d0fa2dde4db77ed8dd8a876686e3fc417655c2ece9a90576905344"}, ] [[package]] @@ -1273,13 +1283,13 @@ cache = ["platformdirs"] [[package]] name = "mkdocs-material" -version = "9.5.34" +version = "9.5.39" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.34-py3-none-any.whl", hash = "sha256:54caa8be708de2b75167fd4d3b9f3d949579294f49cb242515d4653dbee9227e"}, - {file = "mkdocs_material-9.5.34.tar.gz", hash = "sha256:1e60ddf716cfb5679dfd65900b8a25d277064ed82d9a53cd5190e3f894df7840"}, + {file = "mkdocs_material-9.5.39-py3-none-any.whl", hash = "sha256:0f2f68c8db89523cb4a59705cd01b4acd62b2f71218ccb67e1e004e560410d2b"}, + {file = "mkdocs_material-9.5.39.tar.gz", hash = "sha256:25faa06142afa38549d2b781d475a86fb61de93189f532b88e69bf11e5e5c3be"}, ] [package.dependencies] @@ -1313,23 +1323,23 @@ files = [ [[package]] name = "mkdocstrings" -version = "0.25.2" +version = "0.26.1" description = "Automatic documentation from sources, for MkDocs." optional = false python-versions = ">=3.8" files = [ - {file = "mkdocstrings-0.25.2-py3-none-any.whl", hash = "sha256:9e2cda5e2e12db8bb98d21e3410f3f27f8faab685a24b03b06ba7daa5b92abfc"}, - {file = "mkdocstrings-0.25.2.tar.gz", hash = "sha256:5cf57ad7f61e8be3111a2458b4e49c2029c9cb35525393b179f9c916ca8042dc"}, + {file = "mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf"}, + {file = "mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33"}, ] [package.dependencies] click = ">=7.0" Jinja2 = ">=2.11.1" -Markdown = ">=3.3" +Markdown = ">=3.6" MarkupSafe = ">=1.1" mkdocs = ">=1.4" -mkdocs-autorefs = ">=0.3.1" -platformdirs = ">=2.2.0" +mkdocs-autorefs = ">=1.2" +platformdirs = ">=2.2" pymdown-extensions = ">=6.3" [package.extras] @@ -1339,19 +1349,19 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] [[package]] name = "mkdocstrings-python" -version = "1.10.9" +version = "1.11.1" description = "A Python handler for mkdocstrings." optional = false python-versions = ">=3.8" files = [ - {file = "mkdocstrings_python-1.10.9-py3-none-any.whl", hash = "sha256:cbe98710a6757dfd4dff79bf36cb9731908fb4c69dd2736b15270ae7a488243d"}, - {file = "mkdocstrings_python-1.10.9.tar.gz", hash = "sha256:f344aaa47e727d8a2dc911e063025e58e2b7fb31a41110ccc3902aa6be7ca196"}, + {file = "mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af"}, + {file = "mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322"}, ] [package.dependencies] griffe = ">=0.49" -mkdocs-autorefs = ">=1.0" -mkdocstrings = ">=0.25" +mkdocs-autorefs = ">=1.2" +mkdocstrings = ">=0.26" [[package]] name = "model-bakery" @@ -1450,13 +1460,13 @@ ptyprocess = ">=0.5" [[package]] name = "phonenumbers" -version = "8.13.45" +version = "8.13.47" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumbers-8.13.45-py2.py3-none-any.whl", hash = "sha256:bf05ec20fcd13f0d53e43a34ed7bd1c8be26a72b88fce4b8c64fca5b4641987a"}, - {file = "phonenumbers-8.13.45.tar.gz", hash = "sha256:53679a95b6060fd5e15467759252c87933d8566d6a5be00995a579eb0e02435b"}, + {file = "phonenumbers-8.13.47-py2.py3-none-any.whl", hash = "sha256:5d3c0142ef7055ca5551884352e3b6b93bfe002a0bc95b8eaba39b0e2184541b"}, + {file = "phonenumbers-8.13.47.tar.gz", hash = "sha256:53c5e7c6d431cafe4efdd44956078404ae9bc8b0eacc47be3105d3ccc88aaffa"}, ] [[package]] @@ -1558,13 +1568,13 @@ xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.3.2" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.3.2-py3-none-any.whl", hash = "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617"}, - {file = "platformdirs-4.3.2.tar.gz", hash = "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] @@ -1607,13 +1617,13 @@ virtualenv = ">=20.10.0" [[package]] name = "prompt-toolkit" -version = "3.0.47" +version = "3.0.48" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, - {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, ] [package.dependencies] @@ -1621,36 +1631,36 @@ wcwidth = "*" [[package]] name = "psycopg" -version = "3.2.1" +version = "3.2.3" description = "PostgreSQL database adapter for Python" optional = false python-versions = ">=3.8" files = [ - {file = "psycopg-3.2.1-py3-none-any.whl", hash = "sha256:ece385fb413a37db332f97c49208b36cf030ff02b199d7635ed2fbd378724175"}, - {file = "psycopg-3.2.1.tar.gz", hash = "sha256:dc8da6dc8729dacacda3cc2f17d2c9397a70a66cf0d2b69c91065d60d5f00cb7"}, + {file = "psycopg-3.2.3-py3-none-any.whl", hash = "sha256:644d3973fe26908c73d4be746074f6e5224b03c1101d302d9a53bf565ad64907"}, + {file = "psycopg-3.2.3.tar.gz", hash = "sha256:a5764f67c27bec8bfac85764d23c534af2c27b893550377e37ce59c12aac47a2"}, ] [package.dependencies] -psycopg-c = {version = "3.2.1", optional = true, markers = "implementation_name != \"pypy\" and extra == \"c\""} -typing-extensions = ">=4.4" +psycopg-c = {version = "3.2.3", optional = true, markers = "implementation_name != \"pypy\" and extra == \"c\""} +typing-extensions = {version = ">=4.6", markers = "python_version < \"3.13\""} tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] -binary = ["psycopg-binary (==3.2.1)"] -c = ["psycopg-c (==3.2.1)"] -dev = ["ast-comments (>=1.1.2)", "black (>=24.1.0)", "codespell (>=2.2)", "dnspython (>=2.1)", "flake8 (>=4.0)", "mypy (>=1.6)", "types-setuptools (>=57.4)", "wheel (>=0.37)"] +binary = ["psycopg-binary (==3.2.3)"] +c = ["psycopg-c (==3.2.3)"] +dev = ["ast-comments (>=1.1.2)", "black (>=24.1.0)", "codespell (>=2.2)", "dnspython (>=2.1)", "flake8 (>=4.0)", "mypy (>=1.11)", "types-setuptools (>=57.4)", "wheel (>=0.37)"] docs = ["Sphinx (>=5.0)", "furo (==2022.6.21)", "sphinx-autobuild (>=2021.3.14)", "sphinx-autodoc-typehints (>=1.12)"] pool = ["psycopg-pool"] -test = ["anyio (>=4.0)", "mypy (>=1.6)", "pproxy (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.5)"] +test = ["anyio (>=4.0)", "mypy (>=1.11)", "pproxy (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.5)"] [[package]] name = "psycopg-c" -version = "3.2.1" +version = "3.2.3" description = "PostgreSQL database adapter for Python -- C optimisation distribution" optional = false python-versions = ">=3.8" files = [ - {file = "psycopg_c-3.2.1.tar.gz", hash = "sha256:2d09943cc8a855c42c1e23b4298957b7ce8f27bf3683258c52fd139f601f7cda"}, + {file = "psycopg_c-3.2.3.tar.gz", hash = "sha256:06ae7db8eaec1a3845960fa7f997f4ccdb1a7a7ab8dc593a680bcc74e1359671"}, ] [[package]] @@ -1691,18 +1701,18 @@ files = [ [[package]] name = "pydantic" -version = "2.9.1" +version = "2.9.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612"}, - {file = "pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2"}, + {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, + {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.23.3" +pydantic-core = "2.23.4" typing-extensions = [ {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, {version = ">=4.6.1", markers = "python_version < \"3.13\""}, @@ -1714,100 +1724,100 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.23.3" +version = "2.23.4" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.23.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6"}, - {file = "pydantic_core-2.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba"}, - {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee"}, - {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe"}, - {file = "pydantic_core-2.23.3-cp310-none-win32.whl", hash = "sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b"}, - {file = "pydantic_core-2.23.3-cp310-none-win_amd64.whl", hash = "sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83"}, - {file = "pydantic_core-2.23.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27"}, - {file = "pydantic_core-2.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8"}, - {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48"}, - {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5"}, - {file = "pydantic_core-2.23.3-cp311-none-win32.whl", hash = "sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1"}, - {file = "pydantic_core-2.23.3-cp311-none-win_amd64.whl", hash = "sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa"}, - {file = "pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305"}, - {file = "pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c"}, - {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c"}, - {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab"}, - {file = "pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c"}, - {file = "pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b"}, - {file = "pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f"}, - {file = "pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855"}, - {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4"}, - {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d"}, - {file = "pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8"}, - {file = "pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1"}, - {file = "pydantic_core-2.23.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d063c6b9fed7d992bcbebfc9133f4c24b7a7f215d6b102f3e082b1117cddb72c"}, - {file = "pydantic_core-2.23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6cb968da9a0746a0cf521b2b5ef25fc5a0bee9b9a1a8214e0a1cfaea5be7e8a4"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbefe079a520c5984e30e1f1f29325054b59534729c25b874a16a5048028d16"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbaaf2ef20d282659093913da9d402108203f7cb5955020bd8d1ae5a2325d1c4"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb539d7e5dc4aac345846f290cf504d2fd3c1be26ac4e8b5e4c2b688069ff4cf"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e6f33503c5495059148cc486867e1d24ca35df5fc064686e631e314d959ad5b"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04b07490bc2f6f2717b10c3969e1b830f5720b632f8ae2f3b8b1542394c47a8e"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03795b9e8a5d7fda05f3873efc3f59105e2dcff14231680296b87b80bb327295"}, - {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c483dab0f14b8d3f0df0c6c18d70b21b086f74c87ab03c59250dbf6d3c89baba"}, - {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b2682038e255e94baf2c473dca914a7460069171ff5cdd4080be18ab8a7fd6e"}, - {file = "pydantic_core-2.23.3-cp38-none-win32.whl", hash = "sha256:f4a57db8966b3a1d1a350012839c6a0099f0898c56512dfade8a1fe5fb278710"}, - {file = "pydantic_core-2.23.3-cp38-none-win_amd64.whl", hash = "sha256:13dd45ba2561603681a2676ca56006d6dee94493f03d5cadc055d2055615c3ea"}, - {file = "pydantic_core-2.23.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82da2f4703894134a9f000e24965df73cc103e31e8c31906cc1ee89fde72cbd8"}, - {file = "pydantic_core-2.23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dd9be0a42de08f4b58a3cc73a123f124f65c24698b95a54c1543065baca8cf0e"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b731f25c80830c76fdb13705c68fef6a2b6dc494402987c7ea9584fe189f5d"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6de1ec30c4bb94f3a69c9f5f2182baeda5b809f806676675e9ef6b8dc936f28"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb68b41c3fa64587412b104294b9cbb027509dc2f6958446c502638d481525ef"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c3980f2843de5184656aab58698011b42763ccba11c4a8c35936c8dd6c7068c"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94f85614f2cba13f62c3c6481716e4adeae48e1eaa7e8bac379b9d177d93947a"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:510b7fb0a86dc8f10a8bb43bd2f97beb63cffad1203071dc434dac26453955cd"}, - {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1eba2f7ce3e30ee2170410e2171867ea73dbd692433b81a93758ab2de6c64835"}, - {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b259fd8409ab84b4041b7b3f24dcc41e4696f180b775961ca8142b5b21d0e70"}, - {file = "pydantic_core-2.23.3-cp39-none-win32.whl", hash = "sha256:40d9bd259538dba2f40963286009bf7caf18b5112b19d2b55b09c14dde6db6a7"}, - {file = "pydantic_core-2.23.3-cp39-none-win_amd64.whl", hash = "sha256:5a8cd3074a98ee70173a8633ad3c10e00dcb991ecec57263aacb4095c5efb958"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e89513f014c6be0d17b00a9a7c81b1c426f4eb9224b15433f3d98c1a071f8433"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4f62c1c953d7ee375df5eb2e44ad50ce2f5aff931723b398b8bc6f0ac159791a"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2718443bc671c7ac331de4eef9b673063b10af32a0bb385019ad61dcf2cc8f6c"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d90e08b2727c5d01af1b5ef4121d2f0c99fbee692c762f4d9d0409c9da6541"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b676583fc459c64146debea14ba3af54e540b61762dfc0613dc4e98c3f66eeb"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:50e4661f3337977740fdbfbae084ae5693e505ca2b3130a6d4eb0f2281dc43b8"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:68f4cf373f0de6abfe599a38307f4417c1c867ca381c03df27c873a9069cda25"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:59d52cf01854cb26c46958552a21acb10dd78a52aa34c86f284e66b209db8cab"}, - {file = "pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, + {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, + {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, + {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, + {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, + {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, + {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, + {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, + {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, + {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, + {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, + {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, + {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, + {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, ] [package.dependencies] @@ -1837,7 +1847,7 @@ semver = ["semver (>=3.0.2)"] [package.source] type = "git" url = "https://github.com/pydantic/pydantic-extra-types.git" -reference = "HEAD" +reference = "58db4b0" resolved_reference = "58db4b096d7c90566d3d48d51b4665c01a591df6" [[package]] @@ -1856,13 +1866,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.9" +version = "10.11.2" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.9-py3-none-any.whl", hash = "sha256:d323f7e90d83c86113ee78f3fe62fc9dee5f56b54d912660703ea1816fed5626"}, - {file = "pymdown_extensions-10.9.tar.gz", hash = "sha256:6ff740bcd99ec4172a938970d42b96128bdc9d4b9bcad72494f29921dc69b753"}, + {file = "pymdown_extensions-10.11.2-py3-none-any.whl", hash = "sha256:41cdde0a77290e480cf53892f5c5e50921a7ee3e5cd60ba91bf19837b33badcf"}, + {file = "pymdown_extensions-10.11.2.tar.gz", hash = "sha256:bc8847ecc9e784a098efd35e20cba772bc5a1b529dfcef9dc1972db9021a1049"}, ] [package.dependencies] @@ -1874,13 +1884,13 @@ extra = ["pygments (>=2.12)"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -2020,119 +2030,134 @@ pyyaml = "*" [[package]] name = "redis" -version = "5.0.8" +version = "5.1.1" description = "Python client for Redis database and key-value store" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "redis-5.0.8-py3-none-any.whl", hash = "sha256:56134ee08ea909106090934adc36f65c9bcbbaecea5b21ba704ba6fb561f8eb4"}, - {file = "redis-5.0.8.tar.gz", hash = "sha256:0c5b10d387568dfe0698c6fad6615750c24170e548ca2deac10c649d463e9870"}, + {file = "redis-5.1.1-py3-none-any.whl", hash = "sha256:f8ea06b7482a668c6475ae202ed8d9bcaa409f6e87fb77ed1043d912afd62e24"}, + {file = "redis-5.1.1.tar.gz", hash = "sha256:f6c997521fedbae53387307c5d0bf784d9acc28d9f1d058abeac566ec4dbed72"}, ] [package.dependencies] -hiredis = {version = ">1.0.0", optional = true, markers = "extra == \"hiredis\""} +hiredis = {version = ">=3.0.0", optional = true, markers = "extra == \"hiredis\""} [package.extras] -hiredis = ["hiredis (>1.0.0)"] -ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] +hiredis = ["hiredis (>=3.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"] [[package]] name = "regex" -version = "2024.7.24" +version = "2024.9.11" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" files = [ - {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce"}, - {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024"}, - {file = "regex-2024.7.24-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa"}, - {file = "regex-2024.7.24-cp310-cp310-win32.whl", hash = "sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66"}, - {file = "regex-2024.7.24-cp310-cp310-win_amd64.whl", hash = "sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e"}, - {file = "regex-2024.7.24-cp311-cp311-win32.whl", hash = "sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c"}, - {file = "regex-2024.7.24-cp311-cp311-win_amd64.whl", hash = "sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38"}, - {file = "regex-2024.7.24-cp312-cp312-win32.whl", hash = "sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc"}, - {file = "regex-2024.7.24-cp312-cp312-win_amd64.whl", hash = "sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:66b4c0731a5c81921e938dcf1a88e978264e26e6ac4ec96a4d21ae0354581ae0"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:88ecc3afd7e776967fa16c80f974cb79399ee8dc6c96423321d6f7d4b881c92b"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:64bd50cf16bcc54b274e20235bf8edbb64184a30e1e53873ff8d444e7ac656b2"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb462f0e346fcf41a901a126b50f8781e9a474d3927930f3490f38a6e73b6950"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a82465ebbc9b1c5c50738536fdfa7cab639a261a99b469c9d4c7dcbb2b3f1e57"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68a8f8c046c6466ac61a36b65bb2395c74451df2ffb8458492ef49900efed293"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac8e84fff5d27420f3c1e879ce9929108e873667ec87e0c8eeb413a5311adfe"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba2537ef2163db9e6ccdbeb6f6424282ae4dea43177402152c67ef869cf3978b"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:43affe33137fcd679bdae93fb25924979517e011f9dea99163f80b82eadc7e53"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c9bb87fdf2ab2370f21e4d5636e5317775e5d51ff32ebff2cf389f71b9b13750"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:945352286a541406f99b2655c973852da7911b3f4264e010218bbc1cc73168f2"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:8bc593dcce679206b60a538c302d03c29b18e3d862609317cb560e18b66d10cf"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3f3b6ca8eae6d6c75a6cff525c8530c60e909a71a15e1b731723233331de4169"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c51edc3541e11fbe83f0c4d9412ef6c79f664a3745fab261457e84465ec9d5a8"}, - {file = "regex-2024.7.24-cp38-cp38-win32.whl", hash = "sha256:d0a07763776188b4db4c9c7fb1b8c494049f84659bb387b71c73bbc07f189e96"}, - {file = "regex-2024.7.24-cp38-cp38-win_amd64.whl", hash = "sha256:8fd5afd101dcf86a270d254364e0e8dddedebe6bd1ab9d5f732f274fa00499a5"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9"}, - {file = "regex-2024.7.24-cp39-cp39-win32.whl", hash = "sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1"}, - {file = "regex-2024.7.24-cp39-cp39-win_amd64.whl", hash = "sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9"}, - {file = "regex-2024.7.24.tar.gz", hash = "sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"}, + {file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"}, + {file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"}, + {file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"}, + {file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, + {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, + {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"}, + {file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"}, + {file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"}, + {file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"}, + {file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"}, + {file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"}, + {file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"}, + {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, ] [[package]] name = "reportlab" -version = "4.2.2" +version = "4.2.5" description = "The Reportlab Toolkit" optional = false python-versions = "<4,>=3.7" files = [ - {file = "reportlab-4.2.2-py3-none-any.whl", hash = "sha256:927616931637e2f13e2ee3b3b6316d7a07803170e258621cff7d138bde17fbb5"}, - {file = "reportlab-4.2.2.tar.gz", hash = "sha256:765eecbdd68491c56947e29c38b8b69b834ee5dbbdd2fb7409f08ebdebf04428"}, + {file = "reportlab-4.2.5-py3-none-any.whl", hash = "sha256:eb2745525a982d9880babb991619e97ac3f661fae30571b7d50387026ca765ee"}, + {file = "reportlab-4.2.5.tar.gz", hash = "sha256:5cf35b8fd609b68080ac7bbb0ae1e376104f7d5f7b2d3914c7adc63f2593941f"}, ] [package.dependencies] @@ -2223,40 +2248,40 @@ files = [ [[package]] name = "ruff" -version = "0.5.7" +version = "0.6.9" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.5.7-py3-none-linux_armv6l.whl", hash = "sha256:548992d342fc404ee2e15a242cdbea4f8e39a52f2e7752d0e4cbe88d2d2f416a"}, - {file = "ruff-0.5.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:00cc8872331055ee017c4f1071a8a31ca0809ccc0657da1d154a1d2abac5c0be"}, - {file = "ruff-0.5.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:eaf3d86a1fdac1aec8a3417a63587d93f906c678bb9ed0b796da7b59c1114a1e"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a01c34400097b06cf8a6e61b35d6d456d5bd1ae6961542de18ec81eaf33b4cb8"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcc8054f1a717e2213500edaddcf1dbb0abad40d98e1bd9d0ad364f75c763eea"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f70284e73f36558ef51602254451e50dd6cc479f8b6f8413a95fcb5db4a55fc"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a78ad870ae3c460394fc95437d43deb5c04b5c29297815a2a1de028903f19692"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ccd078c66a8e419475174bfe60a69adb36ce04f8d4e91b006f1329d5cd44bcf"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e31c9bad4ebf8fdb77b59cae75814440731060a09a0e0077d559a556453acbb"}, - {file = "ruff-0.5.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d796327eed8e168164346b769dd9a27a70e0298d667b4ecee6877ce8095ec8e"}, - {file = "ruff-0.5.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4a09ea2c3f7778cc635e7f6edf57d566a8ee8f485f3c4454db7771efb692c499"}, - {file = "ruff-0.5.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a36d8dcf55b3a3bc353270d544fb170d75d2dff41eba5df57b4e0b67a95bb64e"}, - {file = "ruff-0.5.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9369c218f789eefbd1b8d82a8cf25017b523ac47d96b2f531eba73770971c9e5"}, - {file = "ruff-0.5.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b88ca3db7eb377eb24fb7c82840546fb7acef75af4a74bd36e9ceb37a890257e"}, - {file = "ruff-0.5.7-py3-none-win32.whl", hash = "sha256:33d61fc0e902198a3e55719f4be6b375b28f860b09c281e4bdbf783c0566576a"}, - {file = "ruff-0.5.7-py3-none-win_amd64.whl", hash = "sha256:083bbcbe6fadb93cd86709037acc510f86eed5a314203079df174c40bbbca6b3"}, - {file = "ruff-0.5.7-py3-none-win_arm64.whl", hash = "sha256:2dca26154ff9571995107221d0aeaad0e75a77b5a682d6236cf89a58c70b76f4"}, - {file = "ruff-0.5.7.tar.gz", hash = "sha256:8dfc0a458797f5d9fb622dd0efc52d796f23f0a1493a9527f4e49a550ae9a7e5"}, + {file = "ruff-0.6.9-py3-none-linux_armv6l.whl", hash = "sha256:064df58d84ccc0ac0fcd63bc3090b251d90e2a372558c0f057c3f75ed73e1ccd"}, + {file = "ruff-0.6.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:140d4b5c9f5fc7a7b074908a78ab8d384dd7f6510402267bc76c37195c02a7ec"}, + {file = "ruff-0.6.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:53fd8ca5e82bdee8da7f506d7b03a261f24cd43d090ea9db9a1dc59d9313914c"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645d7d8761f915e48a00d4ecc3686969761df69fb561dd914a773c1a8266e14e"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eae02b700763e3847595b9d2891488989cac00214da7f845f4bcf2989007d577"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d5ccc9e58112441de8ad4b29dcb7a86dc25c5f770e3c06a9d57e0e5eba48829"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:417b81aa1c9b60b2f8edc463c58363075412866ae4e2b9ab0f690dc1e87ac1b5"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c866b631f5fbce896a74a6e4383407ba7507b815ccc52bcedabb6810fdb3ef7"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b118afbb3202f5911486ad52da86d1d52305b59e7ef2031cea3425142b97d6f"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67267654edc23c97335586774790cde402fb6bbdb3c2314f1fc087dee320bfa"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3ef0cc774b00fec123f635ce5c547dac263f6ee9fb9cc83437c5904183b55ceb"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:12edd2af0c60fa61ff31cefb90aef4288ac4d372b4962c2864aeea3a1a2460c0"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:55bb01caeaf3a60b2b2bba07308a02fca6ab56233302406ed5245180a05c5625"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:925d26471fa24b0ce5a6cdfab1bb526fb4159952385f386bdcc643813d472039"}, + {file = "ruff-0.6.9-py3-none-win32.whl", hash = "sha256:eb61ec9bdb2506cffd492e05ac40e5bc6284873aceb605503d8494180d6fc84d"}, + {file = "ruff-0.6.9-py3-none-win_amd64.whl", hash = "sha256:785d31851c1ae91f45b3d8fe23b8ae4b5170089021fbb42402d811135f0b7117"}, + {file = "ruff-0.6.9-py3-none-win_arm64.whl", hash = "sha256:a9641e31476d601f83cd602608739a0840e348bda93fec9f1ee816f8b6798b93"}, + {file = "ruff-0.6.9.tar.gz", hash = "sha256:b076ef717a8e5bc819514ee1d602bbdca5b4420ae13a9cf61a0c0a4f53a2baa2"}, ] [[package]] name = "sentry-sdk" -version = "2.14.0" +version = "2.16.0" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = ">=3.6" files = [ - {file = "sentry_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:b8bc3dc51d06590df1291b7519b85c75e2ced4f28d9ea655b6d54033503b5bf4"}, - {file = "sentry_sdk-2.14.0.tar.gz", hash = "sha256:1e0e2eaf6dad918c7d1e0edac868a7bf20017b177f242cefe2a6bcd47955961d"}, + {file = "sentry_sdk-2.16.0-py2.py3-none-any.whl", hash = "sha256:49139c31ebcd398f4f6396b18910610a0c1602f6e67083240c33019d1f6aa30c"}, + {file = "sentry_sdk-2.16.0.tar.gz", hash = "sha256:90f733b32e15dfc1999e6b7aca67a38688a567329de4d6e184154a73f96c6892"}, ] [package.dependencies] @@ -2279,6 +2304,7 @@ falcon = ["falcon (>=1.4)"] fastapi = ["fastapi (>=0.79.0)"] flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] grpcio = ["grpcio (>=1.21.1)", "protobuf (>=3.8.0)"] +http2 = ["httpcore[http2] (==1.*)"] httpx = ["httpx (>=0.16.0)"] huey = ["huey (>=2)"] huggingface-hub = ["huggingface-hub (>=0.22)"] @@ -2485,13 +2511,13 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] @@ -2522,24 +2548,24 @@ files = [ [[package]] name = "tzdata" -version = "2024.1" +version = "2024.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, ] [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -2550,13 +2576,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.4" +version = "20.26.6" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.26.4-py3-none-any.whl", hash = "sha256:48f2695d9809277003f30776d155615ffc11328e6a0a8c1f0ec80188d7874a55"}, - {file = "virtualenv-20.26.4.tar.gz", hash = "sha256:c17f4e0f3e6036e9f26700446f85c76ab11df65ff6d8a9cbfad9f71aabfcf23c"}, + {file = "virtualenv-20.26.6-py3-none-any.whl", hash = "sha256:7345cc5b25405607a624d8418154577459c3e0277f5466dd79c49d5e492995f2"}, + {file = "virtualenv-20.26.6.tar.gz", hash = "sha256:280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48"}, ] [package.dependencies] @@ -2570,41 +2596,41 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "watchdog" -version = "5.0.2" +version = "5.0.3" description = "Filesystem events monitoring" optional = false python-versions = ">=3.9" files = [ - {file = "watchdog-5.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d961f4123bb3c447d9fcdcb67e1530c366f10ab3a0c7d1c0c9943050936d4877"}, - {file = "watchdog-5.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72990192cb63872c47d5e5fefe230a401b87fd59d257ee577d61c9e5564c62e5"}, - {file = "watchdog-5.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6bec703ad90b35a848e05e1b40bf0050da7ca28ead7ac4be724ae5ac2653a1a0"}, - {file = "watchdog-5.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dae7a1879918f6544201d33666909b040a46421054a50e0f773e0d870ed7438d"}, - {file = "watchdog-5.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c4a440f725f3b99133de610bfec93d570b13826f89616377715b9cd60424db6e"}, - {file = "watchdog-5.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8b2918c19e0d48f5f20df458c84692e2a054f02d9df25e6c3c930063eca64c1"}, - {file = "watchdog-5.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:aa9cd6e24126d4afb3752a3e70fce39f92d0e1a58a236ddf6ee823ff7dba28ee"}, - {file = "watchdog-5.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f627c5bf5759fdd90195b0c0431f99cff4867d212a67b384442c51136a098ed7"}, - {file = "watchdog-5.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7594a6d32cda2b49df3fd9abf9b37c8d2f3eab5df45c24056b4a671ac661619"}, - {file = "watchdog-5.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba32efcccfe2c58f4d01115440d1672b4eb26cdd6fc5b5818f1fb41f7c3e1889"}, - {file = "watchdog-5.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:963f7c4c91e3f51c998eeff1b3fb24a52a8a34da4f956e470f4b068bb47b78ee"}, - {file = "watchdog-5.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8c47150aa12f775e22efff1eee9f0f6beee542a7aa1a985c271b1997d340184f"}, - {file = "watchdog-5.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:14dd4ed023d79d1f670aa659f449bcd2733c33a35c8ffd88689d9d243885198b"}, - {file = "watchdog-5.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b84bff0391ad4abe25c2740c7aec0e3de316fdf7764007f41e248422a7760a7f"}, - {file = "watchdog-5.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e8d5ff39f0a9968952cce548e8e08f849141a4fcc1290b1c17c032ba697b9d7"}, - {file = "watchdog-5.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fb223456db6e5f7bd9bbd5cd969f05aae82ae21acc00643b60d81c770abd402b"}, - {file = "watchdog-5.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9814adb768c23727a27792c77812cf4e2fd9853cd280eafa2bcfa62a99e8bd6e"}, - {file = "watchdog-5.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:901ee48c23f70193d1a7bc2d9ee297df66081dd5f46f0ca011be4f70dec80dab"}, - {file = "watchdog-5.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:638bcca3d5b1885c6ec47be67bf712b00a9ab3d4b22ec0881f4889ad870bc7e8"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5597c051587f8757798216f2485e85eac583c3b343e9aa09127a3a6f82c65ee8"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:53ed1bf71fcb8475dd0ef4912ab139c294c87b903724b6f4a8bd98e026862e6d"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:29e4a2607bd407d9552c502d38b45a05ec26a8e40cc7e94db9bb48f861fa5abc"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:b6dc8f1d770a8280997e4beae7b9a75a33b268c59e033e72c8a10990097e5fde"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:d2ab34adc9bf1489452965cdb16a924e97d4452fcf88a50b21859068b50b5c3b"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:7d1aa7e4bb0f0c65a1a91ba37c10e19dabf7eaaa282c5787e51371f090748f4b"}, - {file = "watchdog-5.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:726eef8f8c634ac6584f86c9c53353a010d9f311f6c15a034f3800a7a891d941"}, - {file = "watchdog-5.0.2-py3-none-win32.whl", hash = "sha256:bda40c57115684d0216556671875e008279dea2dc00fcd3dde126ac8e0d7a2fb"}, - {file = "watchdog-5.0.2-py3-none-win_amd64.whl", hash = "sha256:d010be060c996db725fbce7e3ef14687cdcc76f4ca0e4339a68cc4532c382a73"}, - {file = "watchdog-5.0.2-py3-none-win_ia64.whl", hash = "sha256:3960136b2b619510569b90f0cd96408591d6c251a75c97690f4553ca88889769"}, - {file = "watchdog-5.0.2.tar.gz", hash = "sha256:dcebf7e475001d2cdeb020be630dc5b687e9acdd60d16fea6bb4508e7b94cf76"}, + {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:85527b882f3facda0579bce9d743ff7f10c3e1e0db0a0d0e28170a7d0e5ce2ea"}, + {file = "watchdog-5.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:53adf73dcdc0ef04f7735066b4a57a4cd3e49ef135daae41d77395f0b5b692cb"}, + {file = "watchdog-5.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e25adddab85f674acac303cf1f5835951345a56c5f7f582987d266679979c75b"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f01f4a3565a387080dc49bdd1fefe4ecc77f894991b88ef927edbfa45eb10818"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:91b522adc25614cdeaf91f7897800b82c13b4b8ac68a42ca959f992f6990c490"}, + {file = "watchdog-5.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d52db5beb5e476e6853da2e2d24dbbbed6797b449c8bf7ea118a4ee0d2c9040e"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:94d11b07c64f63f49876e0ab8042ae034674c8653bfcdaa8c4b32e71cfff87e8"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:349c9488e1d85d0a58e8cb14222d2c51cbc801ce11ac3936ab4c3af986536926"}, + {file = "watchdog-5.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:53a3f10b62c2d569e260f96e8d966463dec1a50fa4f1b22aec69e3f91025060e"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:950f531ec6e03696a2414b6308f5c6ff9dab7821a768c9d5788b1314e9a46ca7"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae6deb336cba5d71476caa029ceb6e88047fc1dc74b62b7c4012639c0b563906"}, + {file = "watchdog-5.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1021223c08ba8d2d38d71ec1704496471ffd7be42cfb26b87cd5059323a389a1"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:752fb40efc7cc8d88ebc332b8f4bcbe2b5cc7e881bccfeb8e25054c00c994ee3"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a2e8f3f955d68471fa37b0e3add18500790d129cc7efe89971b8a4cc6fdeb0b2"}, + {file = "watchdog-5.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8ca4d854adcf480bdfd80f46fdd6fb49f91dd020ae11c89b3a79e19454ec627"}, + {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:90a67d7857adb1d985aca232cc9905dd5bc4803ed85cfcdcfcf707e52049eda7"}, + {file = "watchdog-5.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:720ef9d3a4f9ca575a780af283c8fd3a0674b307651c1976714745090da5a9e8"}, + {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:223160bb359281bb8e31c8f1068bf71a6b16a8ad3d9524ca6f523ac666bb6a1e"}, + {file = "watchdog-5.0.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:560135542c91eaa74247a2e8430cf83c4342b29e8ad4f520ae14f0c8a19cfb5b"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:dd021efa85970bd4824acacbb922066159d0f9e546389a4743d56919b6758b91"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_armv7l.whl", hash = "sha256:78864cc8f23dbee55be34cc1494632a7ba30263951b5b2e8fc8286b95845f82c"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_i686.whl", hash = "sha256:1e9679245e3ea6498494b3028b90c7b25dbb2abe65c7d07423ecfc2d6218ff7c"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64.whl", hash = "sha256:9413384f26b5d050b6978e6fcd0c1e7f0539be7a4f1a885061473c5deaa57221"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:294b7a598974b8e2c6123d19ef15de9abcd282b0fbbdbc4d23dfa812959a9e05"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_s390x.whl", hash = "sha256:26dd201857d702bdf9d78c273cafcab5871dd29343748524695cecffa44a8d97"}, + {file = "watchdog-5.0.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:0f9332243355643d567697c3e3fa07330a1d1abf981611654a1f2bf2175612b7"}, + {file = "watchdog-5.0.3-py3-none-win32.whl", hash = "sha256:c66f80ee5b602a9c7ab66e3c9f36026590a0902db3aea414d59a2f55188c1f49"}, + {file = "watchdog-5.0.3-py3-none-win_amd64.whl", hash = "sha256:f00b4cf737f568be9665563347a910f8bdc76f88c2970121c86243c8cfdf90e9"}, + {file = "watchdog-5.0.3-py3-none-win_ia64.whl", hash = "sha256:49f4d36cb315c25ea0d946e018c01bb028048023b9e103d3d3943f58e109dd45"}, + {file = "watchdog-5.0.3.tar.gz", hash = "sha256:108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176"}, ] [package.extras] @@ -2612,13 +2638,13 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcmatch" -version = "9.0" +version = "10.0" description = "Wildcard/glob file name matcher." optional = false python-versions = ">=3.8" files = [ - {file = "wcmatch-9.0-py3-none-any.whl", hash = "sha256:af25922e2b6dbd1550fa37a4c8de7dd558d6c1bb330c641de9b907b9776cb3c4"}, - {file = "wcmatch-9.0.tar.gz", hash = "sha256:567d66b11ad74384954c8af86f607857c3bdf93682349ad32066231abd556c92"}, + {file = "wcmatch-10.0-py3-none-any.whl", hash = "sha256:0dd927072d03c0a6527a20d2e6ad5ba8d0380e60870c383bc533b71744df7b7a"}, + {file = "wcmatch-10.0.tar.gz", hash = "sha256:e72f0de09bba6a04e0de70937b0cf06e55f36f37b3deb422dfaf854b867b840a"}, ] [package.dependencies] @@ -2653,4 +2679,4 @@ filelock = ">=3.4" [metadata] lock-version = "2.0" python-versions = "^3.12" -content-hash = "c9c49497cc576b24c96ea914b74ef5c3a0c2981c488a599752f05aabb575f8d8" +content-hash = "730b020b335ea67342069c40591f6959f1e5f01eef40806c95777def2f39eb37" diff --git a/pyproject.toml b/pyproject.toml index 448887d5..d8c71146 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,9 +38,9 @@ libsass = "^0.23" django-ordered-model = "^3.7" django-simple-captcha = "^0.6.0" python-dateutil = "^2.8.2" -sentry-sdk = "^2.12.0" +sentry-sdk = "^2.16.0" Jinja2 = "^3.1" -django-countries = "^7.5.1" +django-countries = "^7.6.1" dict2xml = "^1.7.3" Sphinx = "^5" # Needed for building xapian tomli = "^2.0.1" @@ -66,9 +66,9 @@ optional = true django-debug-toolbar = "^4.4.6" ipython = "^8.26.0" pre-commit = "^3.8.0" -ruff = "^0.5.7" # Version used in pipeline is controlled by pre-commit hooks in .pre-commit.config.yaml +ruff = "^0.6.9" # Version used in pipeline is controlled by pre-commit hooks in .pre-commit.config.yaml djhtml = "^3.0.6" -faker = "^26.1.0" +faker = "^30.3.0" rjsmin = "^1.2.2" [tool.poetry.group.tests.dependencies] @@ -76,16 +76,16 @@ rjsmin = "^1.2.2" freezegun = "^1.5.1" # used to test time-dependent code pytest = "^8.3.2" pytest-cov = "^5.0.0" -pytest-django = "^4.8.0" -model-bakery = "^1.18.2" +pytest-django = "^4.9.0" +model-bakery = "^1.19.5" [tool.poetry.group.docs.dependencies] # deps used to work on the documentation -mkdocs = "^1.6.0" -mkdocs-material = "^9.5.28" -mkdocstrings = "^0.25.1" -mkdocstrings-python = "^1.10.5" -mkdocs-include-markdown-plugin = "^6.2.1" +mkdocs = "^1.6.1" +mkdocs-material = "^9.5.39" +mkdocstrings = "^0.26.1" +mkdocstrings-python = "^1.11.1" +mkdocs-include-markdown-plugin = "^6.2.2" [tool.poetry.group.docs] optional = true diff --git a/rootplace/__init__.py b/rootplace/__init__.py index a098e7ba..f4445e69 100644 --- a/rootplace/__init__.py +++ b/rootplace/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/rootplace/admin.py b/rootplace/admin.py index 1a02ff3a..6bcaeeff 100644 --- a/rootplace/admin.py +++ b/rootplace/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/rootplace/models.py b/rootplace/models.py index c6372d7f..8195e44c 100644 --- a/rootplace/models.py +++ b/rootplace/models.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/rootplace/tests.py b/rootplace/tests.py index 020f4747..f5d6fb73 100644 --- a/rootplace/tests.py +++ b/rootplace/tests.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/rootplace/views.py b/rootplace/views.py index a5aad18f..12b4fa23 100644 --- a/rootplace/views.py +++ b/rootplace/views.py @@ -28,6 +28,7 @@ from django import forms from django.core.exceptions import PermissionDenied from django.urls import reverse from django.utils import timezone +from django.utils.timezone import localdate from django.utils.translation import gettext as _ from django.views.generic import ListView from django.views.generic.edit import FormView @@ -63,8 +64,8 @@ def __merge_subscriptions(u1: User, u2: User): subscription_end__gte=timezone.now() ): subscription.subscription_start = subscription_end - if subscription.subscription_start > timezone.now().date(): - remaining = subscription.subscription_end - timezone.now().date() + if subscription.subscription_start > localdate(): + remaining = subscription.subscription_end - localdate() else: remaining = ( subscription.subscription_end - subscription.subscription_start diff --git a/sas/__init__.py b/sas/__init__.py index a098e7ba..f4445e69 100644 --- a/sas/__init__.py +++ b/sas/__init__.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/sas/admin.py b/sas/admin.py index 027f67bd..f2845ad3 100644 --- a/sas/admin.py +++ b/sas/admin.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # diff --git a/sas/models.py b/sas/models.py index e63ef8b0..43f26ccd 100644 --- a/sas/models.py +++ b/sas/models.py @@ -5,10 +5,10 @@ # This file is part of the website of the UTBM Student Association (AE UTBM), # https://ae.utbm.fr. # -# You can find the source code of the website at https://github.com/ae-utbm/sith3 +# You can find the source code of the website at https://github.com/ae-utbm/sith # # LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3) -# SEE : https://raw.githubusercontent.com/ae-utbm/sith3/master/LICENSE +# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE # OR WITHIN THE LOCAL FILE "LICENSE" # # @@ -117,7 +117,11 @@ class Picture(SasFile): # meant to be shown on the website, but rather to keep the real image # for less frequent cases (like downloading the pictures of an user) extension = self.mime_type.split("/")[-1] - file = resize_image(im, max(im.size), extension) + # the HD version of the image doesn't need to be optimized, because : + # - it isn't frequently queried + # - optimizing large images takes a lot time, which greatly hinders the UX + # - photographers usually already optimize their images + file = resize_image(im, max(im.size), extension, optimize=False) thumb = resize_image(im, 200, "webp") compressed = resize_image(im, 1200, "webp") if overwrite: diff --git a/sas/static/sas/js/viewer.js b/sas/static/sas/js/viewer.js deleted file mode 100644 index 665cf9ad..00000000 --- a/sas/static/sas/js/viewer.js +++ /dev/null @@ -1,265 +0,0 @@ -/** - * @typedef PictureIdentification - * @property {number} id The actual id of the identification - * @property {UserProfile} user The identified user - */ - -/** - * A container for a picture with the users identified on it - * able to prefetch its data. - */ -class PictureWithIdentifications { - identifications = null; - image_loading = false; - identifications_loading = false; - - /** - * @param {Picture} picture - */ - constructor(picture) { - Object.assign(this, picture); - } - /** - * @param {Picture} picture - */ - static from_picture(picture) { - return new PictureWithIdentifications(picture); - } - - /** - * If not already done, fetch the users identified on this picture and - * populate the identifications field - * @param {?Object=} options - * @return {Promise} - */ - async load_identifications(options) { - if (this.identifications_loading) { - return; // The users are already being fetched. - } - if (!!this.identifications && !options?.force_reload) { - // The users are already fetched - // and the user does not want to force the reload - return; - } - this.identifications_loading = true; - const url = `/api/sas/picture/${this.id}/identified`; - this.identifications = await (await fetch(url)).json(); - this.identifications_loading = false; - } - - /** - * Preload the photo and the identifications - * @return {Promise} - */ - async preload() { - const img = new Image(); - img.src = this.compressed_url; - if (!img.complete) { - this.image_loading = true; - img.addEventListener("load", () => { - this.image_loading = false; - }); - } - await this.load_identifications(); - } -} - -document.addEventListener("alpine:init", () => { - Alpine.data("picture_viewer", () => ({ - /** - * All the pictures that can be displayed on this picture viewer - * @type PictureWithIdentifications[] - **/ - pictures: [], - /** - * The currently displayed picture - * Default dummy data are pre-loaded to avoid javascript error - * when loading the page at the beginning - * @type PictureWithIdentifications - **/ - current_picture: { - is_moderated: true, - id: null, - name: "", - display_name: "", - compressed_url: "", - profile_url: "", - full_size_url: "", - owner: "", - date: new Date(), - identifications: [], - }, - /** - * The picture which will be displayed next if the user press the "next" button - * @type ?PictureWithIdentifications - **/ - next_picture: null, - /** - * The picture which will be displayed next if the user press the "previous" button - * @type ?PictureWithIdentifications - **/ - previous_picture: null, - /** - * The select2 component used to identify users - **/ - selector: undefined, - /** - * true if the page is in a loading state, else false - **/ - /** - * Error message when a moderation operation fails - * @type string - **/ - moderation_error: "", - /** - * Method of pushing new url to the browser history - * Used by popstate event and always reset to it's default value when used - * @type History - **/ - pushstate: History.PUSH, - - async init() { - this.pictures = (await fetch_paginated(picture_endpoint)).map( - PictureWithIdentifications.from_picture, - ); - this.selector = sithSelect2({ - element: $(this.$refs.search), - data_source: remote_data_source("/api/user/search", { - excluded: () => [ - ...(this.current_picture.identifications || []).map( - (i) => i.user.id, - ), - ], - result_converter: (obj) => Object({ ...obj, text: obj.display_name }), - }), - picture_getter: (user) => user.profile_pict, - }); - this.current_picture = this.pictures.find( - (i) => i.id === first_picture_id, - ); - this.$watch("current_picture", (current, previous) => { - if (current === previous){ /* Avoid recursive updates */ - return; - } - this.update_picture(); - }); - window.addEventListener("popstate", async (event) => { - if (!event.state || event.state.sas_picture_id === undefined) { - return; - } - this.pushstate = History.REPLACE; - this.current_picture = this.pictures.find( - (i) => i.id === parseInt(event.state.sas_picture_id), - ); - }); - this.pushstate = History.REPLACE; /* Avoid first url push */ - await this.update_picture(); - }, - - /** - * Update the page. - * Called when the `current_picture` property changes. - * - * The url is modified without reloading the page, - * and the previous picture, the next picture and - * the list of identified users are updated. - */ - async update_picture() { - const update_args = [ - { sas_picture_id: this.current_picture.id }, - "", - `/sas/picture/${this.current_picture.id}/`, - ]; - if (this.pushstate === History.REPLACE) { - window.history.replaceState(...update_args); - this.pushstate = History.PUSH; - } else { - window.history.pushState(...update_args); - } - - this.moderation_error = ""; - const index = this.pictures.indexOf(this.current_picture); - this.previous_picture = this.pictures[index - 1] || null; - this.next_picture = this.pictures[index + 1] || null; - await this.current_picture.load_identifications(); - this.$refs.main_picture?.addEventListener("load", () => { - // once the current picture is loaded, - // start preloading the next and previous pictures - this.next_picture?.preload(); - this.previous_picture?.preload(); - }); - }, - - async moderate_picture() { - const res = await fetch( - `/api/sas/picture/${this.current_picture.id}/moderate`, - { - method: "PATCH", - }, - ); - if (!res.ok) { - this.moderation_error = `${gettext("Couldn't moderate picture")} : ${res.statusText}`; - return; - } - this.current_picture.is_moderated = true; - this.current_picture.asked_for_removal = false; - }, - - async delete_picture() { - const res = await fetch(`/api/sas/picture/${this.current_picture.id}`, { - method: "DELETE", - }); - if (!res.ok) { - this.moderation_error = - gettext("Couldn't delete picture") + " : " + res.statusText; - return; - } - this.pictures.splice(this.pictures.indexOf(this.current_picture), 1); - if (this.pictures.length === 0) { - // The deleted picture was the only one in the list. - // As the album is now empty, go back to the parent page - document.location.href = album_url; - } - this.current_picture = this.next_picture || this.previous_picture; - }, - - /** - * Send the identification request and update the list of identified users. - */ - async submit_identification() { - const url = `/api/sas/picture/${this.current_picture.id}/identified`; - await fetch(url, { - method: "PUT", - body: JSON.stringify(this.selector.val().map((i) => parseInt(i))), - }); - // refresh the identified users list - await this.current_picture.load_identifications({ force_reload: true }); - this.selector.empty().trigger("change"); - }, - - /** - * Check if an identification can be removed by the currently logged user - * @param {PictureIdentification} identification - * @return {boolean} - */ - can_be_removed(identification) { - return user_is_sas_admin || identification.user.id === user_id; - }, - - /** - * Untag a user from the current picture - * @param {PictureIdentification} identification - */ - async remove_identification(identification) { - const res = await fetch(`/api/sas/relation/${identification.id}`, { - method: "DELETE", - }); - if (res.ok && Array.isArray(this.current_picture.identifications)) { - this.current_picture.identifications = - this.current_picture.identifications.filter( - (i) => i.id !== identification.id, - ); - } - }, - })); -}); diff --git a/sas/static/webpack/sas/viewer-index.js b/sas/static/webpack/sas/viewer-index.js new file mode 100644 index 00000000..35f393e0 --- /dev/null +++ b/sas/static/webpack/sas/viewer-index.js @@ -0,0 +1,302 @@ +import { paginated } from "#core:utils/api"; +import { + picturesDeletePicture, + picturesFetchIdentifications, + picturesFetchPictures, + picturesIdentifyUsers, + picturesModeratePicture, + usersidentifiedDeleteRelation, +} from "#openapi"; + +/** + * @typedef PictureIdentification + * @property {number} id The actual id of the identification + * @property {UserProfile} user The identified user + */ + +/** + * A container for a picture with the users identified on it + * able to prefetch its data. + */ +class PictureWithIdentifications { + identifications = null; + imageLoading = false; + identificationsLoading = false; + + /** + * @param {Picture} picture + */ + constructor(picture) { + Object.assign(this, picture); + } + + /** + * @param {Picture} picture + */ + static fromPicture(picture) { + return new PictureWithIdentifications(picture); + } + + /** + * If not already done, fetch the users identified on this picture and + * populate the identifications field + * @param {?Object=} options + * @return {Promise} + */ + async loadIdentifications(options) { + if (this.identificationsLoading) { + return; // The users are already being fetched. + } + if (!!this.identifications && !options?.forceReload) { + // The users are already fetched + // and the user does not want to force the reload + return; + } + this.identificationsLoading = true; + this.identifications = ( + await picturesFetchIdentifications({ + // biome-ignore lint/style/useNamingConvention: api is in snake_case + path: { picture_id: this.id }, + }) + ).data; + this.identificationsLoading = false; + } + + /** + * Preload the photo and the identifications + * @return {Promise} + */ + async preload() { + const img = new Image(); + img.src = this.compressed_url; + if (!img.complete) { + this.imageLoading = true; + img.addEventListener("load", () => { + this.imageLoading = false; + }); + } + await this.loadIdentifications(); + } +} + +/** + * @typedef ViewerConfig + * @property {number} userId Id of the user to get the pictures from + * @property {number} albumId Id of the album to displlay + * @property {number} firstPictureId id of the first picture to load on the page + * @property {bool} userIsSasAdmin if the user is sas admin + **/ + +/** + * Load user picture page with a nice download bar + * @param {ViewerConfig} config + **/ +window.loadViewer = (config) => { + document.addEventListener("alpine:init", () => { + Alpine.data("picture_viewer", () => ({ + /** + * All the pictures that can be displayed on this picture viewer + * @type PictureWithIdentifications[] + **/ + pictures: [], + /** + * The currently displayed picture + * Default dummy data are pre-loaded to avoid javascript error + * when loading the page at the beginning + * @type PictureWithIdentifications + **/ + currentPicture: { + // biome-ignore lint/style/useNamingConvention: api is in snake_case + is_moderated: true, + id: null, + name: "", + // biome-ignore lint/style/useNamingConvention: api is in snake_case + display_name: "", + // biome-ignore lint/style/useNamingConvention: api is in snake_case + compressed_url: "", + // biome-ignore lint/style/useNamingConvention: api is in snake_case + profile_url: "", + // biome-ignore lint/style/useNamingConvention: api is in snake_case + full_size_url: "", + owner: "", + date: new Date(), + identifications: [], + }, + /** + * The picture which will be displayed next if the user press the "next" button + * @type ?PictureWithIdentifications + **/ + nextPicture: null, + /** + * The picture which will be displayed next if the user press the "previous" button + * @type ?PictureWithIdentifications + **/ + previousPicture: null, + /** + * The select2 component used to identify users + **/ + selector: undefined, + /** + * true if the page is in a loading state, else false + **/ + /** + * Error message when a moderation operation fails + * @type string + **/ + moderationError: "", + /** + * Method of pushing new url to the browser history + * Used by popstate event and always reset to it's default value when used + * @type History + **/ + pushstate: History.PUSH, + + async init() { + this.pictures = ( + await paginated(picturesFetchPictures, { + // biome-ignore lint/style/useNamingConvention: api is in snake_case + query: { album_id: config.albumId }, + }) + ).map(PictureWithIdentifications.fromPicture); + // biome-ignore lint/correctness/noUndeclaredVariables: Imported from sith-select2.js + this.selector = sithSelect2({ + element: $(this.$refs.search), + // biome-ignore lint/correctness/noUndeclaredVariables: Imported from sith-select2.js + dataSource: remoteDataSource("/api/user/search", { + excluded: () => [ + ...(this.currentPicture.identifications || []).map((i) => i.user.id), + ], + resultConverter: (obj) => new Object({ ...obj, text: obj.display_name }), + }), + pictureGetter: (user) => user.profile_pict, + }); + this.currentPicture = this.pictures.find((i) => i.id === config.firstPictureId); + this.$watch("currentPicture", (current, previous) => { + if (current === previous) { + /* Avoid recursive updates */ + return; + } + this.updatePicture(); + }); + window.addEventListener("popstate", async (event) => { + if (!event.state || event.state.sasPictureId === undefined) { + return; + } + this.pushstate = History.REPLACE; + this.currentPicture = this.pictures.find( + (i) => i.id === Number.parseInt(event.state.sasPictureId), + ); + }); + this.pushstate = History.REPLACE; /* Avoid first url push */ + await this.updatePicture(); + }, + + /** + * Update the page. + * Called when the `currentPicture` property changes. + * + * The url is modified without reloading the page, + * and the previous picture, the next picture and + * the list of identified users are updated. + */ + async updatePicture() { + const updateArgs = [ + { sasPictureId: this.currentPicture.id }, + "", + `/sas/picture/${this.currentPicture.id}/`, + ]; + if (this.pushstate === History.REPLACE) { + window.history.replaceState(...updateArgs); + this.pushstate = History.PUSH; + } else { + window.history.pushState(...updateArgs); + } + + this.moderationError = ""; + const index = this.pictures.indexOf(this.currentPicture); + this.previousPicture = this.pictures[index - 1] || null; + this.nextPicture = this.pictures[index + 1] || null; + await this.currentPicture.loadIdentifications(); + this.$refs.mainPicture?.addEventListener("load", () => { + // once the current picture is loaded, + // start preloading the next and previous pictures + this.nextPicture?.preload(); + this.previousPicture?.preload(); + }); + }, + + async moderatePicture() { + const res = await picturesModeratePicture({ + // biome-ignore lint/style/useNamingConvention: api is in snake_case + path: { picture_id: this.currentPicture.id }, + }); + if (res.error) { + this.moderationError = `${gettext("Couldn't moderate picture")} : ${res.statusText}`; + return; + } + this.currentPicture.is_moderated = true; + this.currentPicture.askedForRemoval = false; + }, + + async deletePicture() { + const res = await picturesDeletePicture({ + // biome-ignore lint/style/useNamingConvention: api is in snake_case + path: { picture_id: this.currentPicture.id }, + }); + if (res.error) { + this.moderationError = `${gettext("Couldn't delete picture")} : ${res.statusText}`; + return; + } + this.pictures.splice(this.pictures.indexOf(this.currentPicture), 1); + if (this.pictures.length === 0) { + // The deleted picture was the only one in the list. + // As the album is now empty, go back to the parent page + document.location.href = config.albumUrl; + } + this.currentPicture = this.nextPicture || this.previousPicture; + }, + + /** + * Send the identification request and update the list of identified users. + */ + async submitIdentification() { + await picturesIdentifyUsers({ + path: { + // biome-ignore lint/style/useNamingConvention: api is in snake_case + picture_id: this.currentPicture.id, + }, + body: this.selector.val().map((i) => Number.parseInt(i)), + }); + // refresh the identified users list + await this.currentPicture.loadIdentifications({ forceReload: true }); + this.selector.empty().trigger("change"); + }, + + /** + * Check if an identification can be removed by the currently logged user + * @param {PictureIdentification} identification + * @return {boolean} + */ + canBeRemoved(identification) { + return config.userIsSasAdmin || identification.user.id === config.userId; + }, + + /** + * Untag a user from the current picture + * @param {PictureIdentification} identification + */ + async removeIdentification(identification) { + const res = await usersidentifiedDeleteRelation({ + // biome-ignore lint/style/useNamingConvention: api is in snake_case + path: { relation_id: identification.id }, + }); + if (!res.error && Array.isArray(this.currentPicture.identifications)) { + this.currentPicture.identifications = + this.currentPicture.identifications.filter( + (i) => i.id !== identification.id, + ); + } + }, + })); + }); +}; diff --git a/sas/templates/sas/album.jinja b/sas/templates/sas/album.jinja index 65dfde4e..1958531a 100644 --- a/sas/templates/sas/album.jinja +++ b/sas/templates/sas/album.jinja @@ -83,7 +83,7 @@
    - {{ paginate_alpine("page", "nb_pages()") }} + {{ paginate_alpine("page", "nbPages()") }}
    {% if is_sas_admin %} @@ -116,14 +116,14 @@ loading: false, async init() { - await this.fetch_pictures(); + await this.fetchPictures(); this.$watch("page", () => { - update_query_string("page", + updateQueryString("page", this.page === 1 ? null : this.page, this.pushstate ); this.pushstate = History.PUSH; - this.fetch_pictures(); + this.fetchPictures(); }); window.addEventListener("popstate", () => { @@ -134,7 +134,7 @@ }); }, - async fetch_pictures() { + async fetchPictures() { this.loading=true; const url = "{{ url("api:pictures") }}" +"?album_id={{ album.id }}" @@ -144,7 +144,7 @@ this.loading = false; }, - nb_pages() { + nbPages() { return Math.ceil(this.pictures.count / {{ settings.SITH_SAS_IMAGES_PER_PAGE }}); } })) diff --git a/sas/templates/sas/picture.jinja b/sas/templates/sas/picture.jinja index 7eb86201..046064eb 100644 --- a/sas/templates/sas/picture.jinja +++ b/sas/templates/sas/picture.jinja @@ -5,7 +5,7 @@ {%- endblock -%} {%- block additional_js -%} - + {%- endblock -%} {% block title %} @@ -17,21 +17,21 @@ {% block content %}
    - SAS / {{ print_path(album) }} + SAS / {{ print_path(album) }}
    -

    -

    +

    +


    -