diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f77352d2..b0e71caf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,8 @@ on: push: branches: - main - - "releases/*" + - develop + env: MIX_ENV: prod GH_TOKEN: ${{ github.token }} @@ -21,7 +22,7 @@ jobs: build: name: πŸ›  Build runs-on: ubuntu-22.04 - if: ${{ (github.ref == 'refs/heads/main') && github.event_name == 'push' }} + if: ${{ (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop') && github.event_name == 'push' }} permissions: checks: write contents: write @@ -36,7 +37,7 @@ jobs: elixir: ["1.17"] node-version: ["18.x"] outputs: - commit_hash: ${{ steps.generate-changelog.outputs.commit_hash }} + commit_hash: ${{ steps.generate-changelog.outputs.commit_hash || steps.set-commit-develop.outputs.commit_hash }} steps: - name: Prepare run: | @@ -52,6 +53,7 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v3 with: + ssh-key: "${{ secrets.COMMIT_KEY }}" fetch-depth: 0 - name: πŸ˜… Cache deps id: cache-deps @@ -89,20 +91,26 @@ jobs: - name: Generate Changelog & Update Tag Version id: generate-changelog + if: github.ref == 'refs/heads/main' run: | git config --global user.name 'CI' git config --global user.email 'ci@users.noreply.github.com' mix git_ops.release --force-patch --yes + git commit --allow-empty -m 'chore: [skip ci]' git push --follow-tags echo "commit_hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT + - name: Set commit hash for develop + id: set-commit-develop + if: github.ref == 'refs/heads/develop' + run: | + echo "commit_hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT + docker: name: πŸ›  Build Docker Images + if: github.ref == 'refs/heads/develop' needs: build runs-on: ubuntu-22.04 - outputs: - release-tag: ${{ steps.get-latest-tag.outputs.tag }} - release-notes: ${{ steps.get-content.outputs.string }} permissions: checks: write contents: write @@ -129,17 +137,6 @@ jobs: ref: ${{ needs.build.outputs.commit_hash }} fetch-depth: 0 - - name: Prepare Changelog - run: | - yes | cp -rf CHANGELOG.md priv/changelog/CHANGELOG.md - sed -i '1i%{title: "Change Log"}\n\n---\n' priv/changelog/CHANGELOG.md - - - name: Get Release Tag - id: get-latest-tag - uses: "WyriHaximus/github-action-get-previous-tag@v1" - with: - fallback: 1.0.0 - - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v5 @@ -188,24 +185,6 @@ jobs: if-no-files-found: error retention-days: 1 - - uses: markpatterson27/markdown-to-output@v1 - id: extract-changelog - with: - filepath: CHANGELOG.md - - - name: Get content - uses: 2428392/gh-truncate-string-action@v1.3.0 - id: get-content - with: - stringToTruncate: | - πŸ“£ Wanderer new release available πŸŽ‰ - - **Version**: ${{ steps.get-latest-tag.outputs.tag }} - - ${{ steps.extract-changelog.outputs.body }} - maxLength: 500 - truncationSymbol: "…" - merge: runs-on: ubuntu-latest needs: @@ -236,9 +215,8 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{version}},value=${{ needs.docker.outputs.release-tag }} + type=raw,value=develop,enable=${{ github.ref == 'refs/heads/develop' }} + type=raw,value=develop-{{sha}},enable=${{ github.ref == 'refs/heads/develop' }} - name: Create manifest list and push working-directory: /tmp/digests @@ -253,19 +231,25 @@ jobs: create-release: name: 🏷 Create Release runs-on: ubuntu-22.04 - needs: [docker, merge] if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} + needs: build steps: - name: ⬇️ Checkout repo uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Get Release Tag + id: get-latest-tag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + with: + fallback: 1.0.0 + - name: 🏷 Create Draft Release uses: softprops/action-gh-release@v1 with: - tag_name: ${{ needs.docker.outputs.release-tag }} - name: Release ${{ needs.docker.outputs.release-tag }} + tag_name: ${{ steps.get-latest-tag.outputs.tag }} + name: Release ${{ steps.get-latest-tag.outputs.tag }} body: | ## Info Commit ${{ github.sha }} was deployed to `staging`. [See code diff](${{ github.event.compare }}). @@ -275,9 +259,3 @@ jobs: ## How to Promote? In order to promote this to prod, edit the draft and press **"Publish release"**. draft: true - - - name: Discord Webhook Action - uses: tsickert/discord-webhook@v5.3.0 - with: - webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} - content: ${{ needs.docker.outputs.release-notes }} diff --git a/.github/workflows/docker-arm.yml b/.github/workflows/docker-arm.yml new file mode 100644 index 00000000..0407744f --- /dev/null +++ b/.github/workflows/docker-arm.yml @@ -0,0 +1,187 @@ +name: Build Docker ARM Image + +on: + push: + tags: + - '**' + +env: + MIX_ENV: prod + GH_TOKEN: ${{ github.token }} + REGISTRY_IMAGE: wandererltd/community-edition-arm + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + +jobs: + docker: + name: πŸ›  Build Docker Images + runs-on: ubuntu-22.04 + outputs: + release-tag: ${{ steps.get-latest-tag.outputs.tag }} + release-notes: ${{ steps.get-content.outputs.string }} + permissions: + checks: write + contents: write + packages: write + attestations: write + id-token: write + pull-requests: write + repository-projects: write + strategy: + fail-fast: false + matrix: + platform: + - linux/arm64 + steps: + - name: Prepare + run: | + platform=${{ matrix.platform }} + echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV + + - name: ⬇️ Checkout repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Get Release Tag + id: get-latest-tag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + with: + fallback: 1.0.0 + + - name: ⬇️ Checkout repo + uses: actions/checkout@v3 + with: + ref: ${{ steps.get-latest-tag.outputs.tag }} + fetch-depth: 0 + + - name: Prepare Changelog + run: | + yes | cp -rf CHANGELOG.md priv/changelog/CHANGELOG.md + sed -i '1i%{title: "Change Log"}\n\n---\n' priv/changelog/CHANGELOG.md + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.WANDERER_DOCKER_USER }} + password: ${{ secrets.WANDERER_DOCKER_PASSWORD }} + + - name: Build and push + id: build + uses: docker/build-push-action@v6 + with: + push: true + context: . + file: ./Dockerfile + cache-from: type=gha + cache-to: type=gha,mode=max + labels: ${{ steps.meta.outputs.labels }} + platforms: ${{ matrix.platform }} + outputs: type=image,"name=${{ env.REGISTRY_IMAGE }}",push-by-digest=true,name-canonical=true,push=true + build-args: | + MIX_ENV=prod + BUILD_METADATA=${{ steps.meta.outputs.json }} + + - name: Export digest + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + + - name: Upload digest + uses: actions/upload-artifact@v4 + with: + name: digests-${{ env.PLATFORM_PAIR }} + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + + - uses: markpatterson27/markdown-to-output@v1 + id: extract-changelog + with: + filepath: CHANGELOG.md + + - name: Get content + uses: 2428392/gh-truncate-string-action@v1.3.0 + id: get-content + with: + stringToTruncate: | + πŸ“£ Wanderer **ARM** (https://hub.docker.com/repository/docker/wandererltd/community-edition-arm/general) release available πŸŽ‰ + + **Version**: ${{ steps.get-latest-tag.outputs.tag }} + + ${{ steps.extract-changelog.outputs.body }} + maxLength: 500 + truncationSymbol: "…" + + merge: + runs-on: ubuntu-latest + needs: + - docker + steps: + - name: Download digests + uses: actions/download-artifact@v4 + with: + path: /tmp/digests + pattern: digests-* + merge-multiple: true + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.WANDERER_DOCKER_USER }} + password: ${{ secrets.WANDERER_DOCKER_PASSWORD }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ${{ env.REGISTRY_IMAGE }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{version}},value=${{ needs.docker.outputs.release-tag }} + + - name: Create manifest list and push + working-directory: /tmp/digests + run: | + docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + + - name: Inspect image + run: | + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} + + notify: + name: 🏷 Notify about release + runs-on: ubuntu-22.04 + needs: [docker, merge] + steps: + - name: Discord Webhook Action + uses: tsickert/discord-webhook@v5.3.0 + with: + webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} + content: Release notes ${{ needs.docker.outputs.release-notes }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..c1e16949 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,187 @@ +name: Build Docker Image + +on: + push: + tags: + - '**' + +env: + MIX_ENV: prod + GH_TOKEN: ${{ github.token }} + REGISTRY_IMAGE: wandererltd/community-edition + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + +jobs: + docker: + name: πŸ›  Build Docker Images + runs-on: ubuntu-22.04 + outputs: + release-tag: ${{ steps.get-latest-tag.outputs.tag }} + release-notes: ${{ steps.get-content.outputs.string }} + permissions: + checks: write + contents: write + packages: write + attestations: write + id-token: write + pull-requests: write + repository-projects: write + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + steps: + - name: Prepare + run: | + platform=${{ matrix.platform }} + echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV + + - name: ⬇️ Checkout repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Get Release Tag + id: get-latest-tag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + with: + fallback: 1.0.0 + + - name: ⬇️ Checkout repo + uses: actions/checkout@v3 + with: + ref: ${{ steps.get-latest-tag.outputs.tag }} + fetch-depth: 0 + + - name: Prepare Changelog + run: | + yes | cp -rf CHANGELOG.md priv/changelog/CHANGELOG.md + sed -i '1i%{title: "Change Log"}\n\n---\n' priv/changelog/CHANGELOG.md + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY_IMAGE }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.WANDERER_DOCKER_USER }} + password: ${{ secrets.WANDERER_DOCKER_PASSWORD }} + + - name: Build and push + id: build + uses: docker/build-push-action@v6 + with: + push: true + context: . + file: ./Dockerfile + cache-from: type=gha + cache-to: type=gha,mode=max + labels: ${{ steps.meta.outputs.labels }} + platforms: ${{ matrix.platform }} + outputs: type=image,"name=${{ env.REGISTRY_IMAGE }}",push-by-digest=true,name-canonical=true,push=true + build-args: | + MIX_ENV=prod + BUILD_METADATA=${{ steps.meta.outputs.json }} + + - name: Export digest + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + + - name: Upload digest + uses: actions/upload-artifact@v4 + with: + name: digests-${{ env.PLATFORM_PAIR }} + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + + - uses: markpatterson27/markdown-to-output@v1 + id: extract-changelog + with: + filepath: CHANGELOG.md + + - name: Get content + uses: 2428392/gh-truncate-string-action@v1.3.0 + id: get-content + with: + stringToTruncate: | + πŸ“£ Wanderer new release available πŸŽ‰ + + **Version**: ${{ steps.get-latest-tag.outputs.tag }} + + ${{ steps.extract-changelog.outputs.body }} + maxLength: 500 + truncationSymbol: "…" + + merge: + runs-on: ubuntu-latest + needs: + - docker + steps: + - name: Download digests + uses: actions/download-artifact@v4 + with: + path: /tmp/digests + pattern: digests-* + merge-multiple: true + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.WANDERER_DOCKER_USER }} + password: ${{ secrets.WANDERER_DOCKER_PASSWORD }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: | + ${{ env.REGISTRY_IMAGE }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{version}},value=${{ needs.docker.outputs.release-tag }} + + - name: Create manifest list and push + working-directory: /tmp/digests + run: | + docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + + - name: Inspect image + run: | + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }} + + notify: + name: 🏷 Notify about release + runs-on: ubuntu-22.04 + needs: [docker, merge] + steps: + - name: Discord Webhook Action + uses: tsickert/discord-webhook@v5.3.0 + with: + webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} + content: Release notes ${{ needs.docker.outputs.release-notes }} diff --git a/.tool-versions b/.tool-versions index 481abc26..98be7af0 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -erlang 27.0 -elixir 1.17.2-otp-27 +erlang 26.2.5.5 +elixir 1.17.3-otp-26 nodejs 18.0.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 85215039..a589607c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,20 +2,106 @@ -## [v1.74.11](https://github.com/wanderer-industries/wanderer/compare/v1.74.10...v1.74.11) (2025-07-18) +## [v1.75.20](https://github.com/wanderer-industries/wanderer/compare/v1.75.19...v1.75.20) (2025-08-11) + +### Bug Fixes: + +* Fixed docs + +## [v1.75.4](https://github.com/wanderer-industries/wanderer/compare/v1.75.3...v1.75.4) (2025-08-11) + +### Bug Fixes: + +* restore security audit + +## [v1.75.3](https://github.com/wanderer-industries/wanderer/compare/v1.75.2...v1.75.3) (2025-08-10) + +### Bug Fixes: + +* core: Fixed character tracking issues + +## [v1.75.2](https://github.com/wanderer-industries/wanderer/compare/v1.75.1...v1.75.2) (2025-08-10) + +### Bug Fixes: + +* Map: Fix indents for ally logos in list "On the map" + +* Map: Fix cancelling ping from system context menu + +* Map: Hide admin settings tab + +* Map: Remote map setting refactoring + +## [v1.75.1](https://github.com/wanderer-industries/wanderer/compare/v1.75.0...v1.75.1) (2025-07-30) + +### Bug Fixes: + +* unable to cancel ping from right click context menu + +## [v1.75.0](https://github.com/wanderer-industries/wanderer/compare/v1.74.13...v1.75.0) (2025-07-29) + + + + +### Features: + +* autoset connection size for c4->null and c13 + +* apiv1 and tests + +* support webhook and sse + +* disable webhook/websocket by default + +* add websocket and webhooks for events + +* Add Jest testing for getState util + +### Bug Fixes: + +* remove bug with lazy delete + +* update broken length and remove verbose logging + +* removed old documents + +* removed unneeded api, and fixed data comparision bug + +* ci comments + +* test updates + +* properly send sse events + +* add test coverage for api + +* add more logging around character online and tracking + +* clean up SSE warnings + +* update env variable usage for sse + +* sse cleanup + +* remove misleading error + +* update killactivity color on nodes + +## [v1.74.13](https://github.com/wanderer-industries/wanderer/compare/v1.74.12...v1.74.13) (2025-07-29) +### Bug Fixes: + +* Core: Fixed issue with callback url + +## [v1.74.11](https://github.com/wanderer-industries/wanderer/compare/v1.74.10...v1.74.11) (2025-07-18) + ### Bug Fixes: * Map: Fixed remove pings for removed systems -## [v1.74.10](https://github.com/wanderer-industries/wanderer/compare/v1.74.9...v1.74.10) (2025-07-15) - - - - ## [v1.74.9](https://github.com/wanderer-industries/wanderer/compare/v1.74.8...v1.74.9) (2025-07-13) @@ -40,16 +126,6 @@ * Map: Unified settings. First part: add one place for storing settings -## [v1.74.7](https://github.com/wanderer-industries/wanderer/compare/v1.74.6...v1.74.7) (2025-07-09) - - - - -## [v1.74.6](https://github.com/wanderer-industries/wanderer/compare/v1.74.5...v1.74.6) (2025-07-09) - - - - ## [v1.74.5](https://github.com/wanderer-industries/wanderer/compare/v1.74.4...v1.74.5) (2025-07-09) @@ -184,11 +260,6 @@ * Subscriptions: Added option to topup using ALL user balance available -## [v1.70.6](https://github.com/wanderer-industries/wanderer/compare/v1.70.5...v1.70.6) (2025-06-18) - - - - ## [v1.70.5](https://github.com/wanderer-industries/wanderer/compare/v1.70.4...v1.70.5) (2025-06-17) @@ -243,11 +314,6 @@ * Core: Fix admin page error -## [v1.69.1](https://github.com/wanderer-industries/wanderer/compare/v1.69.0...v1.69.1) (2025-06-11) - - - - ## [v1.69.0](https://github.com/wanderer-industries/wanderer/compare/v1.68.6...v1.69.0) (2025-06-11) @@ -257,11 +323,6 @@ * Core: Added multiple tracking pools support -## [v1.68.6](https://github.com/wanderer-industries/wanderer/compare/v1.68.5...v1.68.6) (2025-06-10) - - - - ## [v1.68.5](https://github.com/wanderer-industries/wanderer/compare/v1.68.4...v1.68.5) (2025-06-10) @@ -271,16 +332,6 @@ * Core: Fixed updating map options -## [v1.68.4](https://github.com/wanderer-industries/wanderer/compare/v1.68.3...v1.68.4) (2025-06-10) - - - - -## [v1.68.3](https://github.com/wanderer-industries/wanderer/compare/v1.68.2...v1.68.3) (2025-06-09) - - - - ## [v1.68.2](https://github.com/wanderer-industries/wanderer/compare/v1.68.1...v1.68.2) (2025-06-09) @@ -335,16 +386,6 @@ * Core: Fixed issue with system splash updates -## [v1.67.2](https://github.com/wanderer-industries/wanderer/compare/v1.67.1...v1.67.2) (2025-06-08) - - - - -## [v1.67.1](https://github.com/wanderer-industries/wanderer/compare/v1.67.0...v1.67.1) (2025-06-08) - - - - ## [v1.67.0](https://github.com/wanderer-industries/wanderer/compare/v1.66.25...v1.67.0) (2025-06-08) @@ -363,21 +404,6 @@ * Core: Disabled kills fetching based on env settings -## [v1.66.24](https://github.com/wanderer-industries/wanderer/compare/v1.66.23...v1.66.24) (2025-06-08) - - - - -## [v1.66.23](https://github.com/wanderer-industries/wanderer/compare/v1.66.22...v1.66.23) (2025-06-08) - - - - -## [v1.66.22](https://github.com/wanderer-industries/wanderer/compare/v1.66.21...v1.66.22) (2025-06-07) - - - - ## [v1.66.21](https://github.com/wanderer-industries/wanderer/compare/v1.66.20...v1.66.21) (2025-06-07) @@ -387,11 +413,6 @@ * Core: Fixed kills fetching based on env settings -## [v1.66.20](https://github.com/wanderer-industries/wanderer/compare/v1.66.19...v1.66.20) (2025-06-07) - - - - ## [v1.66.19](https://github.com/wanderer-industries/wanderer/compare/v1.66.18...v1.66.19) (2025-06-07) @@ -401,11 +422,6 @@ * Core: Added check for offline characters timeouts -## [v1.66.18](https://github.com/wanderer-industries/wanderer/compare/v1.66.17...v1.66.18) (2025-06-07) - - - - ## [v1.66.17](https://github.com/wanderer-industries/wanderer/compare/v1.66.16...v1.66.17) (2025-06-07) @@ -451,11 +467,6 @@ * Core: fixed location tracking issues -## [v1.66.12](https://github.com/wanderer-industries/wanderer/compare/v1.66.11...v1.66.12) (2025-06-06) - - - - ## [v1.66.11](https://github.com/wanderer-industries/wanderer/compare/v1.66.10...v1.66.11) (2025-06-06) @@ -465,16 +476,6 @@ * Core: fixed refresh character tokens -## [v1.66.10](https://github.com/wanderer-industries/wanderer/compare/v1.66.9...v1.66.10) (2025-06-06) - - - - -## [v1.66.9](https://github.com/wanderer-industries/wanderer/compare/v1.66.8...v1.66.9) (2025-06-06) - - - - ## [v1.66.8](https://github.com/wanderer-industries/wanderer/compare/v1.66.7...v1.66.8) (2025-06-06) @@ -520,16 +521,6 @@ * respect error limits for ESI APIs -## [v1.66.3](https://github.com/wanderer-industries/wanderer/compare/v1.66.2...v1.66.3) (2025-06-05) - - - - -## [v1.66.2](https://github.com/wanderer-industries/wanderer/compare/v1.66.1...v1.66.2) (2025-06-05) - - - - ## [v1.66.1](https://github.com/wanderer-industries/wanderer/compare/v1.66.0...v1.66.1) (2025-06-05) @@ -635,16 +626,6 @@ * Map: Allow lock systems for members -## [v1.65.15](https://github.com/wanderer-industries/wanderer/compare/v1.65.14...v1.65.15) (2025-05-28) - - - - -## [v1.65.14](https://github.com/wanderer-industries/wanderer/compare/v1.65.13...v1.65.14) (2025-05-28) - - - - ## [v1.65.13](https://github.com/wanderer-industries/wanderer/compare/v1.65.12...v1.65.13) (2025-05-28) @@ -691,16 +672,6 @@ * Map: PINGS - Rally point first prototype -## [v1.65.9](https://github.com/wanderer-industries/wanderer/compare/v1.65.8...v1.65.9) (2025-05-26) - - - - -## [v1.65.8](https://github.com/wanderer-industries/wanderer/compare/v1.65.7...v1.65.8) (2025-05-26) - - - - ## [v1.65.7](https://github.com/wanderer-industries/wanderer/compare/v1.65.6...v1.65.7) (2025-05-26) @@ -926,11 +897,6 @@ * Core: Fixed audit export API -## [v1.62.1](https://github.com/wanderer-industries/wanderer/compare/v1.62.0...v1.62.1) (2025-05-05) - - - - ## [v1.62.0](https://github.com/wanderer-industries/wanderer/compare/v1.61.2...v1.62.0) (2025-05-05) @@ -1024,11 +990,6 @@ * Map: Fixed lifetime for A009 from 16h to 4.5h. Fixed problem with no appearing icon of shattered for Drifter wormholes. Fixed wanderings for Drifter wormholes. For system J011355 added static K346. For system J011824 added static K346. (#329) -## [v1.59.10](https://github.com/wanderer-industries/wanderer/compare/v1.59.9...v1.59.10) (2025-04-15) - - - - ## [v1.59.9](https://github.com/wanderer-industries/wanderer/compare/v1.59.8...v1.59.9) (2025-04-15) @@ -1074,16 +1035,6 @@ * Signatures: avoid signatures delete on wrong buffer -## [v1.59.4](https://github.com/wanderer-industries/wanderer/compare/v1.59.3...v1.59.4) (2025-04-10) - - - - -## [v1.59.3](https://github.com/wanderer-industries/wanderer/compare/v1.59.2...v1.59.3) (2025-04-10) - - - - ## [v1.59.2](https://github.com/wanderer-industries/wanderer/compare/v1.59.1...v1.59.2) (2025-04-10) @@ -1124,11 +1075,6 @@ * api: update character activity and api to allow date range -## [v1.57.1](https://github.com/wanderer-industries/wanderer/compare/v1.57.0...v1.57.1) (2025-03-20) - - - - ## [v1.57.0](https://github.com/wanderer-industries/wanderer/compare/v1.56.6...v1.57.0) (2025-03-19) @@ -1138,21 +1084,6 @@ * doc: update bot news (#294) -## [v1.56.6](https://github.com/wanderer-industries/wanderer/compare/v1.56.5...v1.56.6) (2025-03-19) - - - - -## [v1.56.5](https://github.com/wanderer-industries/wanderer/compare/v1.56.4...v1.56.5) (2025-03-19) - - - - -## [v1.56.4](https://github.com/wanderer-industries/wanderer/compare/v1.56.3...v1.56.4) (2025-03-19) - - - - ## [v1.56.3](https://github.com/wanderer-industries/wanderer/compare/v1.56.2...v1.56.3) (2025-03-19) @@ -1298,11 +1229,6 @@ * Map: little bit up performance for windows manager -## [v1.53.2](https://github.com/wanderer-industries/wanderer/compare/v1.53.1...v1.53.2) (2025-02-27) - - - - ## [v1.53.1](https://github.com/wanderer-industries/wanderer/compare/v1.53.0...v1.53.1) (2025-02-26) @@ -1419,16 +1345,6 @@ * pending deletion working again (#185) -## [v1.51.2](https://github.com/wanderer-industries/wanderer/compare/v1.51.1...v1.51.2) (2025-02-18) - - - - -## [v1.51.1](https://github.com/wanderer-industries/wanderer/compare/v1.51.0...v1.51.1) (2025-02-18) - - - - ## [v1.51.0](https://github.com/wanderer-industries/wanderer/compare/v1.50.0...v1.51.0) (2025-02-17) @@ -1458,11 +1374,6 @@ * add api for acl management (#171) -## [v1.48.1](https://github.com/wanderer-industries/wanderer/compare/v1.48.0...v1.48.1) (2025-02-13) - - - - ## [v1.48.0](https://github.com/wanderer-industries/wanderer/compare/v1.47.6...v1.48.0) (2025-02-12) @@ -1472,11 +1383,6 @@ * autosize local character tooltip and increase hover target (#165) -## [v1.47.6](https://github.com/wanderer-industries/wanderer/compare/v1.47.5...v1.47.6) (2025-02-12) - - - - ## [v1.47.5](https://github.com/wanderer-industries/wanderer/compare/v1.47.4...v1.47.5) (2025-02-12) @@ -1488,16 +1394,6 @@ * lazy load kills widget -## [v1.47.4](https://github.com/wanderer-industries/wanderer/compare/v1.47.3...v1.47.4) (2025-02-11) - - - - -## [v1.47.3](https://github.com/wanderer-industries/wanderer/compare/v1.47.2...v1.47.3) (2025-02-11) - - - - ## [v1.47.2](https://github.com/wanderer-industries/wanderer/compare/v1.47.1...v1.47.2) (2025-02-11) @@ -1507,7 +1403,7 @@ * lazy load kills widget (#157) -* lazy load kills widget +* lazy load kills widget * updates for eslint and pr feedback @@ -1538,9 +1434,9 @@ * Map: Fixed a lot of design and architect issues after last milliҀ¦ (#154) -* Map: Fixed a lot of design and architect issues after last million PRs +* Map: Fixed a lot of design and architect issues after last million PRs -* Map: removed unnecessary hooks styles +* Map: removed unnecessary hooks styles ## [v1.46.0](https://github.com/wanderer-industries/wanderer/compare/v1.45.5...v1.46.0) (2025-02-08) @@ -1587,7 +1483,7 @@ * fix route list hover and on the map character list (#149) -* correct formatting for on the map character list +* correct formatting for on the map character list * fix hover for route list @@ -1636,11 +1532,6 @@ * Core: include external libraries in build -## [v1.44.6](https://github.com/wanderer-industries/wanderer/compare/v1.44.5...v1.44.6) (2025-02-04) - - - - ## [v1.44.5](https://github.com/wanderer-industries/wanderer/compare/v1.44.4...v1.44.5) (2025-02-04) @@ -1650,11 +1541,6 @@ * include category param in search cache key (#144) -## [v1.44.4](https://github.com/wanderer-industries/wanderer/compare/v1.44.3...v1.44.4) (2025-02-02) - - - - ## [v1.44.3](https://github.com/wanderer-industries/wanderer/compare/v1.44.2...v1.44.3) (2025-02-02) @@ -1664,11 +1550,6 @@ * restored kills lightning bolt functionality (#143) -## [v1.44.2](https://github.com/wanderer-industries/wanderer/compare/v1.44.1...v1.44.2) (2025-02-02) - - - - ## [v1.44.1](https://github.com/wanderer-industries/wanderer/compare/v1.44.0...v1.44.1) (2025-02-01) @@ -1678,9 +1559,9 @@ * Map: Fixed problem with windows. (#140) -* Map: Fixed problem with windows. +* Map: Fixed problem with windows. -* Core: Added min heigth for body +* Core: Added min heigth for body ## [v1.44.0](https://github.com/wanderer-industries/wanderer/compare/v1.43.9...v1.44.0) (2025-02-01) @@ -1717,11 +1598,6 @@ * Core: Update shuttered constellations (required EVE DB data update on server). -## [v1.43.7](https://github.com/wanderer-industries/wanderer/compare/v1.43.6...v1.43.7) (2025-01-26) - - - - ## [v1.43.6](https://github.com/wanderer-industries/wanderer/compare/v1.43.5...v1.43.6) (2025-01-22) @@ -1749,11 +1625,6 @@ * improve structure widget styling (#127) -## [v1.43.3](https://github.com/wanderer-industries/wanderer/compare/v1.43.2...v1.43.3) (2025-01-21) - - - - ## [v1.43.2](https://github.com/wanderer-industries/wanderer/compare/v1.43.1...v1.43.2) (2025-01-21) @@ -1763,11 +1634,6 @@ * prevent constraint error for follow/toggle (#132) -## [v1.43.1](https://github.com/wanderer-industries/wanderer/compare/v1.43.0...v1.43.1) (2025-01-20) - - - - ## [v1.43.0](https://github.com/wanderer-industries/wanderer/compare/v1.42.5...v1.43.0) (2025-01-20) @@ -1804,15 +1670,10 @@ * change structure tooltip to avoid paste confusion (#125) -* change structure tooltip to avoid paste confusion +* change structure tooltip to avoid paste confusion * clarify use of evetime and use primereact calendar -## [v1.42.2](https://github.com/wanderer-industries/wanderer/compare/v1.42.1...v1.42.2) (2025-01-16) - - - - ## [v1.42.1](https://github.com/wanderer-industries/wanderer/compare/v1.42.0...v1.42.1) (2025-01-16) @@ -1840,11 +1701,6 @@ * Audit: Add 'ACL added/removed' map audit events -## [v1.40.7](https://github.com/wanderer-industries/wanderer/compare/v1.40.6...v1.40.7) (2025-01-15) - - - - ## [v1.40.6](https://github.com/wanderer-industries/wanderer/compare/v1.40.5...v1.40.6) (2025-01-15) @@ -1896,11 +1752,6 @@ * Map: Fix issues with splashing signatures select & sig ID in temp names -## [v1.40.1](https://github.com/wanderer-industries/wanderer/compare/v1.40.0...v1.40.1) (2025-01-14) - - - - ## [v1.40.0](https://github.com/wanderer-industries/wanderer/compare/v1.39.3...v1.40.0) (2025-01-14) @@ -1919,11 +1770,6 @@ * Map: Add style of corners for windows. Add ability to reset widgets. A lot of refactoring -## [v1.39.2](https://github.com/wanderer-industries/wanderer/compare/v1.39.1...v1.39.2) (2025-01-13) - - - - ## [v1.39.1](https://github.com/wanderer-industries/wanderer/compare/v1.39.0...v1.39.1) (2025-01-13) @@ -1946,31 +1792,6 @@ * Map: Added option to show signature ID as system temporary name part -## [v1.38.7](https://github.com/wanderer-industries/wanderer/compare/v1.38.6...v1.38.7) (2025-01-12) - - - - -## [v1.38.6](https://github.com/wanderer-industries/wanderer/compare/v1.38.5...v1.38.6) (2025-01-12) - - - - -## [v1.38.5](https://github.com/wanderer-industries/wanderer/compare/v1.38.4...v1.38.5) (2025-01-12) - - - - -## [v1.38.4](https://github.com/wanderer-industries/wanderer/compare/v1.38.3...v1.38.4) (2025-01-12) - - - - -## [v1.38.3](https://github.com/wanderer-industries/wanderer/compare/v1.38.2...v1.38.3) (2025-01-12) - - - - ## [v1.38.2](https://github.com/wanderer-industries/wanderer/compare/v1.38.1...v1.38.2) (2025-01-11) @@ -2067,11 +1888,6 @@ * Map: Fixed dbclick behaviour -## [v1.37.2](https://github.com/wanderer-industries/wanderer/compare/v1.37.1...v1.37.2) (2025-01-09) - - - - ## [v1.37.1](https://github.com/wanderer-industries/wanderer/compare/v1.37.0...v1.37.1) (2025-01-08) @@ -2119,771 +1935,600 @@ * added static system info to api (#101) -* added static system info to api - - -## [v1.35.0](https://github.com/wanderer-industries/wanderer/compare/v1.34.0...v1.35.0) (2025-01-07) - - -### Features: - -* Map: add "temporary system names" toggle (#86) - -## [v1.34.0](https://github.com/wanderer-industries/wanderer/compare/v1.33.1...v1.34.0) (2025-01-07) - - - - -### Features: - -* Map: api to allow systematic access to visible systems and tracked characters (#89) - -* add limited api for system and tracked characters - -## [v1.33.1](https://github.com/wanderer-industries/wanderer/compare/v1.33.0...v1.33.1) (2025-01-07) - - - - -## [v1.33.0](https://github.com/wanderer-industries/wanderer/compare/v1.32.7...v1.33.0) (2025-01-07) - - - - -### Features: - -* Map: api to allow systematic access to visible systems and tracked characters (#89) - -* add limited api for system and tracked characters - -## [v1.32.7](https://github.com/wanderer-industries/wanderer/compare/v1.32.6...v1.32.7) (2025-01-06) - - - - -## [v1.32.6](https://github.com/wanderer-industries/wanderer/compare/v1.32.5...v1.32.6) (2025-01-06) - - - - -## [v1.32.5](https://github.com/wanderer-industries/wanderer/compare/v1.32.4...v1.32.5) (2025-01-04) - - - - -### Bug Fixes: - -* map: prevent deselect on click to map (#96) - -## [v1.32.4](https://github.com/wanderer-industries/wanderer/compare/v1.32.3...v1.32.4) (2025-01-02) - - - - -### Bug Fixes: - -* Map: Fix 'Character Activity' modal - -## [v1.32.3](https://github.com/wanderer-industries/wanderer/compare/v1.32.2...v1.32.3) (2025-01-02) - - - - -### Bug Fixes: - -* Map: Fix 'Allow only tracked characters' saving - -## [v1.32.2](https://github.com/wanderer-industries/wanderer/compare/v1.32.1...v1.32.2) (2025-01-02) - - - - -## [v1.32.1](https://github.com/wanderer-industries/wanderer/compare/v1.32.0...v1.32.1) (2024-12-25) - - - - -## [v1.32.0](https://github.com/wanderer-industries/wanderer/compare/v1.31.0...v1.32.0) (2024-12-24) - - - - -### Features: - -* Map: Add search & update manual adding systems API - -* Map: Add search & update manual adding systems API - -### Bug Fixes: - -* Map: Added ability to add new system to routes via routes widget - -* Map: Reworked add system to map - -## [v1.31.0](https://github.com/wanderer-industries/wanderer/compare/v1.30.2...v1.31.0) (2024-12-20) - - - - -### Features: - -* Core: Show tracking for new users by default. Auto link characters to account fix. Add character loading indicators. - -## [v1.30.2](https://github.com/wanderer-industries/wanderer/compare/v1.30.1...v1.30.2) (2024-12-17) - - - - -### Bug Fixes: - -* Map: Fixed problem with ship size change. - -## [v1.30.1](https://github.com/wanderer-industries/wanderer/compare/v1.30.0...v1.30.1) (2024-12-17) - - - - -### Bug Fixes: - -* Map: Little rework Signatures header: change System Signatures to Signatures, and show selected system name instead. - -* Map: update default size of connections - -* Map: add ability set the size of wormhole and mark connection with label - -## [v1.30.0](https://github.com/wanderer-industries/wanderer/compare/v1.29.5...v1.30.0) (2024-12-16) - - - - -### Features: - -* Map: Fixed incorrect wrapping labels of checkboxes in System Signatures, Local and Routes. Also changed dotlan links for k-spacem now it leads to region map before, for wh all stay as it was. Added ability to chane to softer background and remove dots on background of map. Also some small design issues. #2 - -* Map: Fixed incorrect wrapping labels of checkboxes in System Signatures, Local and Routes. Also changed dotlan links for k-spacem now it leads to region map before, for wh all stay as it was. Added ability to chane to softer background and remove dots on background of map. Also some small design issues. - -### Bug Fixes: - -* Map: fixed U210, K346 for C4 shattered systems - -* Map: fixed U210, K346 for shattered systems. Fixed mass of mediums chains. Fixed size of some capital chains from 3M to 3.3M. Based on https://whtype.info/ data. - -* Map: removed unnecessary log - -* Map: Uncomment what should not be commented - -## [v1.29.5](https://github.com/wanderer-industries/wanderer/compare/v1.29.4...v1.29.5) (2024-12-14) - - - - -### Bug Fixes: - -* Core: Fix character trackers cleanup - -## [v1.29.4](https://github.com/wanderer-industries/wanderer/compare/v1.29.3...v1.29.4) (2024-12-10) - - - - -### Bug Fixes: - -* Core: Small fixes - -## [v1.29.3](https://github.com/wanderer-industries/wanderer/compare/v1.29.2...v1.29.3) (2024-12-07) - - - - -### Bug Fixes: - -* Core: Increased eve DB data download timeout - -## [v1.29.2](https://github.com/wanderer-industries/wanderer/compare/v1.29.1...v1.29.2) (2024-12-07) - - - - -### Bug Fixes: - -* Core: Fix unpkg CDN issues, fix Abyssals sites adding as systems on map - -## [v1.29.1](https://github.com/wanderer-industries/wanderer/compare/v1.29.0...v1.29.1) (2024-12-05) - - - - -## [v1.29.0](https://github.com/wanderer-industries/wanderer/compare/v1.28.1...v1.29.0) (2024-12-05) - - - - -### Features: - -* Signatures: Show 'Unsplashed' signatures on the map (optionally) - -## [v1.28.1](https://github.com/wanderer-industries/wanderer/compare/v1.28.0...v1.28.1) (2024-12-04) - - - - -## [v1.28.0](https://github.com/wanderer-industries/wanderer/compare/v1.27.1...v1.28.0) (2024-12-04) - - - - -### Features: - -* Map: Added an option to show 'Offline characters' to map admins & managers only - -## [v1.27.1](https://github.com/wanderer-industries/wanderer/compare/v1.27.0...v1.27.1) (2024-12-04) - - - - -### Bug Fixes: - -* Map: Fix 'On the map' visibility - -## [v1.27.0](https://github.com/wanderer-industries/wanderer/compare/v1.26.1...v1.27.0) (2024-12-03) - - - - -### Features: - -* Map: Hide 'On the map' list for 'Viewer' role - -## [v1.26.1](https://github.com/wanderer-industries/wanderer/compare/v1.26.0...v1.26.1) (2024-12-03) - - - - -### Bug Fixes: - -* Signatures: Fix error on splash wh - -## [v1.26.0](https://github.com/wanderer-industries/wanderer/compare/v1.25.2...v1.26.0) (2024-12-03) - - - - -### Features: - -* Signatures: Keep 'Lazy delete' enabled setting - -## [v1.25.2](https://github.com/wanderer-industries/wanderer/compare/v1.25.1...v1.25.2) (2024-12-01) - - - - -### Bug Fixes: - -* Signatures: Fix lazy delete on system switch - -## [v1.25.1](https://github.com/wanderer-industries/wanderer/compare/v1.25.0...v1.25.1) (2024-11-28) - - - - -### Bug Fixes: - -* Signatures: Fix colors & add 'Backspace' hotkey to delete signatures - -## [v1.25.0](https://github.com/wanderer-industries/wanderer/compare/v1.24.2...v1.25.0) (2024-11-28) - - - - -### Features: - -* Signatures: Automatically remove signature if linked system removed - -## [v1.24.2](https://github.com/wanderer-industries/wanderer/compare/v1.24.1...v1.24.2) (2024-11-27) - - - - -### Bug Fixes: - -* Signatures: Fix paste signatures - -## [v1.24.1](https://github.com/wanderer-industries/wanderer/compare/v1.24.0...v1.24.1) (2024-11-27) - - - - -## [v1.24.0](https://github.com/wanderer-industries/wanderer/compare/v1.23.0...v1.24.0) (2024-11-27) - - - - -### Features: - -* Signatures: Added "Lazy delete" option & got rid of update popup - -## [v1.23.0](https://github.com/wanderer-industries/wanderer/compare/v1.22.0...v1.23.0) (2024-11-26) - - - - -### Features: - -* Map: Lock systems available to manager/admin roles only (#75) - -* Map: Lock systems available to manager/admin roles only - -* Map: Fix add system & add acl member select behaviour - -## [v1.22.0](https://github.com/wanderer-industries/wanderer/compare/v1.21.0...v1.22.0) (2024-11-26) - - - - -### Features: - -* Map: Rework design of checkboxes in Signatures settings dialog. Rework design of checkboxes in Routes settings dialog. Now signature will deleteing by Delete hotkey was Backspace. Fixed size of group column in signatures list. Instead Updated column will be Added, updated may be turn on in settings. (#76) - -## [v1.21.0](https://github.com/wanderer-industries/wanderer/compare/v1.20.1...v1.21.0) (2024-11-24) - - - - -### Features: - -* Map: add new gate design, change EOL placement - -## [v1.20.1](https://github.com/wanderer-industries/wanderer/compare/v1.20.0...v1.20.1) (2024-11-22) - - - - -## [v1.20.0](https://github.com/wanderer-industries/wanderer/compare/v1.19.3...v1.20.0) (2024-11-22) - - - - -### Features: - -* Core: Add connection type for Gates, add new Update logic - -## [v1.19.3](https://github.com/wanderer-industries/wanderer/compare/v1.19.2...v1.19.3) (2024-11-20) - - - - -### Bug Fixes: - -* Core: Fix adding systems on splash (#71) - -* Core: Fix adding systems on splash - -## [v1.19.2](https://github.com/wanderer-industries/wanderer/compare/v1.19.1...v1.19.2) (2024-11-19) - - - - -## [v1.19.1](https://github.com/wanderer-industries/wanderer/compare/v1.19.0...v1.19.1) (2024-11-19) - - - - -## [v1.19.0](https://github.com/wanderer-industries/wanderer/compare/v1.18.1...v1.19.0) (2024-11-19) - - - - -### Features: - -* Signatures: Add user setting to show Inserted time in a separate column - -## [v1.18.1](https://github.com/wanderer-industries/wanderer/compare/v1.18.0...v1.18.1) (2024-11-17) - - - - -## [v1.18.0](https://github.com/wanderer-industries/wanderer/compare/v1.17.0...v1.18.0) (2024-11-16) - - - - -### Features: - -* Map: a lot of design issues - -## [v1.17.0](https://github.com/wanderer-industries/wanderer/compare/v1.16.1...v1.17.0) (2024-11-15) - - - - -### Features: - -* Signatures: Add user setting to show Description in a separate column - -## [v1.16.1](https://github.com/wanderer-industries/wanderer/compare/v1.16.0...v1.16.1) (2024-11-15) - - - - -### Bug Fixes: - -* Signatures: Fix signature stored filters - -## [v1.16.0](https://github.com/wanderer-industries/wanderer/compare/v1.15.5...v1.16.0) (2024-11-15) - - - - -### Features: - -* Signatures: Add additional filters support to signature list, show description icon - -## [v1.15.5](https://github.com/wanderer-industries/wanderer/compare/v1.15.4...v1.15.5) (2024-11-14) - - - - -## [v1.15.4](https://github.com/wanderer-industries/wanderer/compare/v1.15.3...v1.15.4) (2024-11-14) - - - - -### Bug Fixes: - -* Core: Untracked characters still tracked on map (#63) - -## [v1.15.3](https://github.com/wanderer-industries/wanderer/compare/v1.15.2...v1.15.3) (2024-11-13) - - - - -## [v1.15.2](https://github.com/wanderer-industries/wanderer/compare/v1.15.1...v1.15.2) (2024-11-07) - - - - -## [v1.15.1](https://github.com/wanderer-industries/wanderer/compare/v1.15.0...v1.15.1) (2024-11-07) - - - - -### Bug Fixes: - -* Dev: Update .devcontainer instructions - -## [v1.15.0](https://github.com/wanderer-industries/wanderer/compare/v1.14.1...v1.15.0) (2024-11-07) - - - - -### Features: - -* Connections: Add connection mark EOL time (#56) - -## [v1.14.1](https://github.com/wanderer-industries/wanderer/compare/v1.14.0...v1.14.1) (2024-11-06) - - - - -### Bug Fixes: - -* Core: Fix character tracking permissions - -## [v1.14.0](https://github.com/wanderer-industries/wanderer/compare/v1.13.12...v1.14.0) (2024-11-05) - - - - -### Features: - -* ACL: Add an ability to assign member role without DnD - -## [v1.13.12](https://github.com/wanderer-industries/wanderer/compare/v1.13.11...v1.13.12) (2024-11-04) - - - - -### Bug Fixes: - -* Map: Fix system revert issues - -## [v1.13.11](https://github.com/wanderer-industries/wanderer/compare/v1.13.10...v1.13.11) (2024-11-02) - - - - -### Bug Fixes: - -* Map: Fix system revert issues - -## [v1.13.10](https://github.com/wanderer-industries/wanderer/compare/v1.13.9...v1.13.10) (2024-11-01) - - - - -### Bug Fixes: - -* Map: Fix system revert issues - -## [v1.13.9](https://github.com/wanderer-industries/wanderer/compare/v1.13.8...v1.13.9) (2024-11-01) - - - - -## [v1.13.8](https://github.com/wanderer-industries/wanderer/compare/v1.13.7...v1.13.8) (2024-10-28) - - - -## [v1.13.0](https://github.com/wanderer-industries/wanderer/compare/v1.12.11...v1.13.0) (2024-10-28) - - - - -### Features: - -* Core: Use ESI /characters/affiliation API - -## [v1.12.4](https://github.com/wanderer-industries/wanderer/compare/v1.12.3...v1.12.4) (2024-10-21) - - - - -### Bug Fixes: - -* Map: Fix systems cleanup - -## [v1.12.3](https://github.com/wanderer-industries/wanderer/compare/v1.12.2...v1.12.3) (2024-10-18) - - - - -### Bug Fixes: - -* Map: Fix regression issues - -## [v1.12.1](https://github.com/wanderer-industries/wanderer/compare/v1.12.0...v1.12.1) (2024-10-16) - - - - -### Bug Fixes: - -* Map: Fix system add error after map page refresh - -## [v1.12.0](https://github.com/wanderer-industries/wanderer/compare/v1.11.5...v1.12.0) (2024-10-16) - - - - -### Features: - -* Map: Prettify user settings - -## [v1.11.0](https://github.com/wanderer-industries/wanderer/compare/v1.10.0...v1.11.0) (2024-10-14) - - - - -### Features: - -* Map: Add map level option to store custom labels - -## [v1.10.0](https://github.com/wanderer-industries/wanderer/compare/v1.9.0...v1.10.0) (2024-10-13) - - - - -### Features: - -* Map: Link signature on splash - -## [v1.5.0](https://github.com/wanderer-industries/wanderer/compare/v1.4.0...v1.5.0) (2024-10-11) - - - - -### Features: - -* Map: Follow Character on Map and auto select their current system - -## [v1.3.6](https://github.com/wanderer-industries/wanderer/compare/v1.3.5...v1.3.6) (2024-10-09) - - - - -### Bug Fixes: - -* Signatures: Signatures update fixes - -## [v1.3.0](https://github.com/wanderer-industries/wanderer/compare/v1.2.10...v1.3.0) (2024-10-07) - - - - -### Features: - -* Map: Fix default sort - -* Map: Remove resizible and fix styles of column sorting - -* Map: Revision of sorting from also adding ability to sort all columns - -## [v1.2.6](https://github.com/wanderer-industries/wanderer/compare/v1.2.5...v1.2.6) (2024-10-05) - - - - -### Bug Fixes: - -* Core: Stability & performance improvements - -## [v1.2.5](https://github.com/wanderer-industries/wanderer/compare/v1.2.4...v1.2.5) (2024-10-04) - - - - -### Bug Fixes: - -* Core: Add system "true security" correction - -## [v1.2.4](https://github.com/wanderer-industries/wanderer/compare/v1.2.3...v1.2.4) (2024-10-03) - - - - -### Bug Fixes: - -* Map: Remove duplicate connections - -## [v1.2.3](https://github.com/wanderer-industries/wanderer/compare/v1.2.2...v1.2.3) (2024-10-02) - - - - -### Bug Fixes: - -* Map: Fix map loading after select a different map. - -## [v1.2.1](https://github.com/wanderer-industries/wanderer/compare/v1.2.0...v1.2.1) (2024-10-02) - - - - -### Bug Fixes: - -* ACL: Fix allowing to save map/access list with empty owner set - -## [v1.2.0](https://github.com/wanderer-industries/wanderer/compare/v1.1.0...v1.2.0) (2024-09-29) - - - - -### Features: - -* Map: Add ability to open jump planner from routes - -## [v1.1.0](https://github.com/wanderer-industries/wanderer/compare/v1.0.23...v1.1.0) (2024-09-29) - - - - -### Features: - -* Map: Add highlighting for imperial space systems depends on faction - -## [v1.0.23](https://github.com/wanderer-industries/wanderer/compare/v1.0.22...v1.0.23) (2024-09-25) - - - - -### Bug Fixes: - -* Map: Main map doesn't load back after refreshing/switching pages - -## [v1.0.22](https://github.com/wanderer-industries/wanderer/compare/v1.0.21...v1.0.22) (2024-09-25) - -### Bug Fixes - -* Map: Main map doesn't load back after refreshing/switching pages - -## [v1.0.21](https://github.com/wanderer-industries/wanderer/compare/v1.0.20...v1.0.21) (2024-09-24) - -### Bug Fixes - -* Map: Main map doesn't load back after refreshing/switching pages - -## [v1.0.20](https://github.com/wanderer-industries/wanderer/compare/v1.0.19...v1.0.20) (2024-09-23) - -### Bug Fixes - -* core: Small fixes & improvements - -## [v1.0.19](https://github.com/wanderer-industries/wanderer/compare/v1.0.18...v1.0.19) (2024-09-23) - -### Bug Fixes - -* ACL: Fix adding empty members list - -## [v1.0.18](https://github.com/wanderer-industries/wanderer/compare/v1.0.17...v1.0.18) (2024-09-22) - -### Bug Fixes - -* ACL: Cant delete ACL list after map deletion #5 - -## [v1.0.16](https://github.com/wanderer-industries/wanderer/compare/v1.0.15...v1.0.16) (2024-09-21) - -### Bug Fixes - -* Map: commented console log - -* Map: add console log for check sys loading - -* Map: add key for cache changes detecting - -## [v1.0.15](https://github.com/wanderer-industries/wanderer/compare/v1.0.14...v1.0.15) (2024-09-21) - -### Bug Fixes - -* map: Show a proper user notification if map was deleted/archived - -## [v1.0.14](https://github.com/wanderer-industries/wanderer/compare/v1.0.13...v1.0.14) (2024-09-21) - -## [v1.0.13](https://github.com/wanderer-industries/wanderer/compare/v1.0.12...v1.0.13) (2024-09-21) - -### Bug Fixes - -* tracking: Ensure user has at least one character tracked to work with map - -## [v1.0.12](https://github.com/wanderer-industries/wanderer/compare/v1.0.11...v1.0.12) (2024-09-20) - -### Bug Fixes - -* audit: Hide character for non-character map activities - -## [v1.0.11](https://github.com/wanderer-industries/wanderer/compare/v1.0.10...v1.0.11) (2024-09-20) - -## [v1.0.10](https://github.com/wanderer-industries/wanderer/compare/v1.0.9...v1.0.10) (2024-09-19) - -### Bug Fixes - -* signatures: Fix update signatures error if no character tracked on map - -## [v1.0.9](https://github.com/wanderer-industries/wanderer/compare/v1.0.8...v1.0.9) (2024-09-19) - -### Bug Fixes - -* core: Fix system add error if it's already added on map - -## [v1.0.8](https://github.com/wanderer-industries/wanderer/compare/v1.0.7...v1.0.8) (2024-09-19) - -### Bug Fixes - -* docker: Fix DB connection in docker-compose internal network - -## [v1.0.4](https://github.com/wanderer-industries/wanderer/compare/v1.0.3...v1.0.4) (2024-09-18) - -### Bug Fixes - -* core: skip search results for failed character info request - -## [v1.0.1](https://github.com/wanderer-industries/wanderer/compare/v1.0.0...v1.0.1) (2024-09-18) +* added static system info to api + + +## [v1.35.0](https://github.com/wanderer-industries/wanderer/compare/v1.34.0...v1.35.0) (2025-01-07) + + +### Features: + +* Map: add "temporary system names" toggle (#86) + +## [v1.34.0](https://github.com/wanderer-industries/wanderer/compare/v1.33.1...v1.34.0) (2025-01-07) + + + + +### Features: + +* Map: api to allow systematic access to visible systems and tracked characters (#89) + +* add limited api for system and tracked characters + +## [v1.33.0](https://github.com/wanderer-industries/wanderer/compare/v1.32.7...v1.33.0) (2025-01-07) + + + + +### Features: + +* Map: api to allow systematic access to visible systems and tracked characters (#89) + +* add limited api for system and tracked characters + +## [v1.32.5](https://github.com/wanderer-industries/wanderer/compare/v1.32.4...v1.32.5) (2025-01-04) + + + + +### Bug Fixes: + +* map: prevent deselect on click to map (#96) + +## [v1.32.4](https://github.com/wanderer-industries/wanderer/compare/v1.32.3...v1.32.4) (2025-01-02) + + + + +### Bug Fixes: + +* Map: Fix 'Character Activity' modal + +## [v1.32.3](https://github.com/wanderer-industries/wanderer/compare/v1.32.2...v1.32.3) (2025-01-02) + + + + +### Bug Fixes: + +* Map: Fix 'Allow only tracked characters' saving + +## [v1.32.0](https://github.com/wanderer-industries/wanderer/compare/v1.31.0...v1.32.0) (2024-12-24) + + + + +### Features: + +* Map: Add search & update manual adding systems API + +* Map: Add search & update manual adding systems API + +### Bug Fixes: + +* Map: Added ability to add new system to routes via routes widget + +* Map: Reworked add system to map + +## [v1.31.0](https://github.com/wanderer-industries/wanderer/compare/v1.30.2...v1.31.0) (2024-12-20) + + + + +### Features: + +* Core: Show tracking for new users by default. Auto link characters to account fix. Add character loading indicators. + +## [v1.30.2](https://github.com/wanderer-industries/wanderer/compare/v1.30.1...v1.30.2) (2024-12-17) + + + + +### Bug Fixes: + +* Map: Fixed problem with ship size change. + +## [v1.30.1](https://github.com/wanderer-industries/wanderer/compare/v1.30.0...v1.30.1) (2024-12-17) + + + + +### Bug Fixes: + +* Map: Little rework Signatures header: change System Signatures to Signatures, and show selected system name instead. + +* Map: update default size of connections + +* Map: add ability set the size of wormhole and mark connection with label + +## [v1.30.0](https://github.com/wanderer-industries/wanderer/compare/v1.29.5...v1.30.0) (2024-12-16) + + + + +### Features: + +* Map: Fixed incorrect wrapping labels of checkboxes in System Signatures, Local and Routes. Also changed dotlan links for k-spacem now it leads to region map before, for wh all stay as it was. Added ability to chane to softer background and remove dots on background of map. Also some small design issues. #2 + +* Map: Fixed incorrect wrapping labels of checkboxes in System Signatures, Local and Routes. Also changed dotlan links for k-spacem now it leads to region map before, for wh all stay as it was. Added ability to chane to softer background and remove dots on background of map. Also some small design issues. + +### Bug Fixes: + +* Map: fixed U210, K346 for C4 shattered systems + +* Map: fixed U210, K346 for shattered systems. Fixed mass of mediums chains. Fixed size of some capital chains from 3M to 3.3M. Based on https://whtype.info/ data. + +* Map: removed unnecessary log + +* Map: Uncomment what should not be commented + +## [v1.29.5](https://github.com/wanderer-industries/wanderer/compare/v1.29.4...v1.29.5) (2024-12-14) + + + + +### Bug Fixes: + +* Core: Fix character trackers cleanup + +## [v1.29.4](https://github.com/wanderer-industries/wanderer/compare/v1.29.3...v1.29.4) (2024-12-10) + + + + +### Bug Fixes: + +* Core: Small fixes + +## [v1.29.3](https://github.com/wanderer-industries/wanderer/compare/v1.29.2...v1.29.3) (2024-12-07) + + + + +### Bug Fixes: + +* Core: Increased eve DB data download timeout + +## [v1.29.2](https://github.com/wanderer-industries/wanderer/compare/v1.29.1...v1.29.2) (2024-12-07) + + + + +### Bug Fixes: + +* Core: Fix unpkg CDN issues, fix Abyssals sites adding as systems on map + +## [v1.29.0](https://github.com/wanderer-industries/wanderer/compare/v1.28.1...v1.29.0) (2024-12-05) + + + + +### Features: + +* Signatures: Show 'Unsplashed' signatures on the map (optionally) + +## [v1.28.0](https://github.com/wanderer-industries/wanderer/compare/v1.27.1...v1.28.0) (2024-12-04) + + + + +### Features: + +* Map: Added an option to show 'Offline characters' to map admins & managers only + +## [v1.27.1](https://github.com/wanderer-industries/wanderer/compare/v1.27.0...v1.27.1) (2024-12-04) + + + + +### Bug Fixes: + +* Map: Fix 'On the map' visibility + +## [v1.27.0](https://github.com/wanderer-industries/wanderer/compare/v1.26.1...v1.27.0) (2024-12-03) + + + + +### Features: + +* Map: Hide 'On the map' list for 'Viewer' role + +## [v1.26.1](https://github.com/wanderer-industries/wanderer/compare/v1.26.0...v1.26.1) (2024-12-03) + + + + +### Bug Fixes: + +* Signatures: Fix error on splash wh + +## [v1.26.0](https://github.com/wanderer-industries/wanderer/compare/v1.25.2...v1.26.0) (2024-12-03) + + + + +### Features: + +* Signatures: Keep 'Lazy delete' enabled setting + +## [v1.25.2](https://github.com/wanderer-industries/wanderer/compare/v1.25.1...v1.25.2) (2024-12-01) + + + + +### Bug Fixes: + +* Signatures: Fix lazy delete on system switch + +## [v1.25.1](https://github.com/wanderer-industries/wanderer/compare/v1.25.0...v1.25.1) (2024-11-28) + + + + +### Bug Fixes: + +* Signatures: Fix colors & add 'Backspace' hotkey to delete signatures + +## [v1.25.0](https://github.com/wanderer-industries/wanderer/compare/v1.24.2...v1.25.0) (2024-11-28) + + + + +### Features: + +* Signatures: Automatically remove signature if linked system removed + +## [v1.24.2](https://github.com/wanderer-industries/wanderer/compare/v1.24.1...v1.24.2) (2024-11-27) + + + + +### Bug Fixes: + +* Signatures: Fix paste signatures + +## [v1.24.0](https://github.com/wanderer-industries/wanderer/compare/v1.23.0...v1.24.0) (2024-11-27) + + + + +### Features: + +* Signatures: Added "Lazy delete" option & got rid of update popup + +## [v1.23.0](https://github.com/wanderer-industries/wanderer/compare/v1.22.0...v1.23.0) (2024-11-26) + + + + +### Features: + +* Map: Lock systems available to manager/admin roles only (#75) + +* Map: Lock systems available to manager/admin roles only + +* Map: Fix add system & add acl member select behaviour + +## [v1.22.0](https://github.com/wanderer-industries/wanderer/compare/v1.21.0...v1.22.0) (2024-11-26) + + + + +### Features: + +* Map: Rework design of checkboxes in Signatures settings dialog. Rework design of checkboxes in Routes settings dialog. Now signature will deleteing by Delete hotkey was Backspace. Fixed size of group column in signatures list. Instead Updated column will be Added, updated may be turn on in settings. (#76) + +## [v1.21.0](https://github.com/wanderer-industries/wanderer/compare/v1.20.1...v1.21.0) (2024-11-24) + + + + +### Features: + +* Map: add new gate design, change EOL placement + +## [v1.20.0](https://github.com/wanderer-industries/wanderer/compare/v1.19.3...v1.20.0) (2024-11-22) + + + + +### Features: + +* Core: Add connection type for Gates, add new Update logic + +## [v1.19.3](https://github.com/wanderer-industries/wanderer/compare/v1.19.2...v1.19.3) (2024-11-20) + + + + +### Bug Fixes: + +* Core: Fix adding systems on splash (#71) + +* Core: Fix adding systems on splash + +## [v1.19.0](https://github.com/wanderer-industries/wanderer/compare/v1.18.1...v1.19.0) (2024-11-19) + + + + +### Features: + +* Signatures: Add user setting to show Inserted time in a separate column + +## [v1.18.0](https://github.com/wanderer-industries/wanderer/compare/v1.17.0...v1.18.0) (2024-11-16) + + + + +### Features: + +* Map: a lot of design issues + +## [v1.17.0](https://github.com/wanderer-industries/wanderer/compare/v1.16.1...v1.17.0) (2024-11-15) + + + + +### Features: + +* Signatures: Add user setting to show Description in a separate column + +## [v1.16.1](https://github.com/wanderer-industries/wanderer/compare/v1.16.0...v1.16.1) (2024-11-15) + + + + +### Bug Fixes: + +* Signatures: Fix signature stored filters + +## [v1.16.0](https://github.com/wanderer-industries/wanderer/compare/v1.15.5...v1.16.0) (2024-11-15) + + + + +### Features: + +* Signatures: Add additional filters support to signature list, show description icon + +## [v1.15.4](https://github.com/wanderer-industries/wanderer/compare/v1.15.3...v1.15.4) (2024-11-14) + + + + +### Bug Fixes: + +* Core: Untracked characters still tracked on map (#63) + +## [v1.15.1](https://github.com/wanderer-industries/wanderer/compare/v1.15.0...v1.15.1) (2024-11-07) + + + + +### Bug Fixes: + +* Dev: Update .devcontainer instructions + +## [v1.15.0](https://github.com/wanderer-industries/wanderer/compare/v1.14.1...v1.15.0) (2024-11-07) + + + + +### Features: + +* Connections: Add connection mark EOL time (#56) + +## [v1.14.1](https://github.com/wanderer-industries/wanderer/compare/v1.14.0...v1.14.1) (2024-11-06) + + + + +### Bug Fixes: + +* Core: Fix character tracking permissions + +## [v1.14.0](https://github.com/wanderer-industries/wanderer/compare/v1.13.12...v1.14.0) (2024-11-05) + + + + +### Features: + +* ACL: Add an ability to assign member role without DnD + +## [v1.13.12](https://github.com/wanderer-industries/wanderer/compare/v1.13.11...v1.13.12) (2024-11-04) + + + + +### Bug Fixes: + +* Map: Fix system revert issues + +## [v1.13.11](https://github.com/wanderer-industries/wanderer/compare/v1.13.10...v1.13.11) (2024-11-02) + + + + +### Bug Fixes: + +* Map: Fix system revert issues + +## [v1.13.10](https://github.com/wanderer-industries/wanderer/compare/v1.13.9...v1.13.10) (2024-11-01) + + + + +### Bug Fixes: + +* Map: Fix system revert issues + +## [v1.13.0](https://github.com/wanderer-industries/wanderer/compare/v1.12.11...v1.13.0) (2024-10-28) + + + + +### Features: + +* Core: Use ESI /characters/affiliation API + +## [v1.12.4](https://github.com/wanderer-industries/wanderer/compare/v1.12.3...v1.12.4) (2024-10-21) + + + + +### Bug Fixes: + +* Map: Fix systems cleanup + +## [v1.12.3](https://github.com/wanderer-industries/wanderer/compare/v1.12.2...v1.12.3) (2024-10-18) + + + + +### Bug Fixes: + +* Map: Fix regression issues + +## [v1.12.1](https://github.com/wanderer-industries/wanderer/compare/v1.12.0...v1.12.1) (2024-10-16) + + + + +### Bug Fixes: + +* Map: Fix system add error after map page refresh + +## [v1.12.0](https://github.com/wanderer-industries/wanderer/compare/v1.11.5...v1.12.0) (2024-10-16) + + + + +### Features: + +* Map: Prettify user settings + +## [v1.11.0](https://github.com/wanderer-industries/wanderer/compare/v1.10.0...v1.11.0) (2024-10-14) + + + + +### Features: + +* Map: Add map level option to store custom labels + +## [v1.10.0](https://github.com/wanderer-industries/wanderer/compare/v1.9.0...v1.10.0) (2024-10-13) + + + + +### Features: + +* Map: Link signature on splash + +## [v1.5.0](https://github.com/wanderer-industries/wanderer/compare/v1.4.0...v1.5.0) (2024-10-11) + + + + +### Features: + +* Map: Follow Character on Map and auto select their current system + +## [v1.3.6](https://github.com/wanderer-industries/wanderer/compare/v1.3.5...v1.3.6) (2024-10-09) + + + + +### Bug Fixes: + +* Signatures: Signatures update fixes + +## [v1.3.0](https://github.com/wanderer-industries/wanderer/compare/v1.2.10...v1.3.0) (2024-10-07) + + + + +### Features: + +* Map: Fix default sort + +* Map: Remove resizible and fix styles of column sorting + +* Map: Revision of sorting from also adding ability to sort all columns + +## [v1.2.6](https://github.com/wanderer-industries/wanderer/compare/v1.2.5...v1.2.6) (2024-10-05) + + + + +### Bug Fixes: + +* Core: Stability & performance improvements + +## [v1.2.5](https://github.com/wanderer-industries/wanderer/compare/v1.2.4...v1.2.5) (2024-10-04) + + + + +### Bug Fixes: + +* Core: Add system "true security" correction + +## [v1.2.4](https://github.com/wanderer-industries/wanderer/compare/v1.2.3...v1.2.4) (2024-10-03) + + + + +### Bug Fixes: + +* Map: Remove duplicate connections + +## [v1.2.3](https://github.com/wanderer-industries/wanderer/compare/v1.2.2...v1.2.3) (2024-10-02) + + + + +### Bug Fixes: + +* Map: Fix map loading after select a different map. + +## [v1.2.1](https://github.com/wanderer-industries/wanderer/compare/v1.2.0...v1.2.1) (2024-10-02) + + + + +### Bug Fixes: + +* ACL: Fix allowing to save map/access list with empty owner set + +## [v1.2.0](https://github.com/wanderer-industries/wanderer/compare/v1.1.0...v1.2.0) (2024-09-29) + + + + +### Features: + +* Map: Add ability to open jump planner from routes + +## [v1.1.0](https://github.com/wanderer-industries/wanderer/compare/v1.0.23...v1.1.0) (2024-09-29) + + + + +### Features: + +* Map: Add highlighting for imperial space systems depends on faction + +## [v1.0.23](https://github.com/wanderer-industries/wanderer/compare/v1.0.22...v1.0.23) (2024-09-25) + + + + +### Bug Fixes: + +* Map: Main map doesn't load back after refreshing/switching pages + diff --git a/Dockerfile b/Dockerfile index 66bccee4..11fa5613 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,21 +21,17 @@ RUN mkdir config # to ensure any relevant config change will trigger the dependencies # to be re-compiled. COPY config/config.exs config/${MIX_ENV}.exs config/ - COPY priv priv - COPY lib lib - COPY assets assets -RUN mix compile - RUN mix assets.deploy +RUN mix compile # Changes to config/runtime.exs don't require recompiling the code COPY config/runtime.exs config/ - COPY rel rel + RUN mix release # start a new build stage so that the final image will only contain diff --git a/assets/js/hooks/Mapper/common-styles/prime-fixes/fix-tabs.scss b/assets/js/hooks/Mapper/common-styles/prime-fixes/fix-tabs.scss index e815724d..610d0420 100644 --- a/assets/js/hooks/Mapper/common-styles/prime-fixes/fix-tabs.scss +++ b/assets/js/hooks/Mapper/common-styles/prime-fixes/fix-tabs.scss @@ -1,7 +1,7 @@ .vertical-tabs-container { display: flex; width: 100%; - min-height: 300px; + min-height: 400px; .p-tabview { width: 100%; @@ -68,6 +68,28 @@ } } + + &.color-warn { + @apply bg-yellow-600/5 border-r-yellow-600/20; + + &:hover { + @apply bg-yellow-600/10 border-r-yellow-600/40; + } + + + &.p-tabview-selected { + @apply bg-yellow-600/10 border-r-yellow-600; + + .p-tabview-nav-link { + @apply text-yellow-600; + } + + &:hover { + @apply bg-yellow-600/10 border-r-yellow-600; + } + + } + } } } diff --git a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/ContextMenuSystem.tsx b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/ContextMenuSystem.tsx index dd7f7190..3984ed71 100644 --- a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/ContextMenuSystem.tsx +++ b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/ContextMenuSystem.tsx @@ -19,7 +19,7 @@ export interface ContextMenuSystemProps { onSystemStatus(val: number): void; onSystemLabels(val: string): void; onCustomLabelDialog(): void; - onTogglePing(type: PingType, solar_system_id: string, hasPing: boolean): void; + onTogglePing(type: PingType, solar_system_id: string, ping_id: string | undefined, hasPing: boolean): void; onWaypointSet: WaypointSetContextHandler; } diff --git a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/useContextMenuSystemItems.tsx b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/useContextMenuSystemItems.tsx index 66af65b5..e3315325 100644 --- a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/useContextMenuSystemItems.tsx +++ b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystem/useContextMenuSystemItems.tsx @@ -109,7 +109,7 @@ export const useContextMenuSystemItems = ({ { separator: true }, { - command: () => onTogglePing(PingType.Rally, systemId, hasPing), + command: () => onTogglePing(PingType.Rally, systemId, ping?.id, hasPing), disabled: !isShowPingBtn, template: () => { const iconClasses = clsx({ diff --git a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystemMultiple/useContextMenuSystemMultipleHandlers.ts b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystemMultiple/useContextMenuSystemMultipleHandlers.ts index ffa5105f..f79b0bc6 100644 --- a/assets/js/hooks/Mapper/components/contexts/ContextMenuSystemMultiple/useContextMenuSystemMultipleHandlers.ts +++ b/assets/js/hooks/Mapper/components/contexts/ContextMenuSystemMultiple/useContextMenuSystemMultipleHandlers.ts @@ -1,17 +1,24 @@ import { Node } from 'reactflow'; -import { useCallback, useRef, useState } from 'react'; +import { useCallback, useMemo, useRef, useState } from 'react'; import { ContextMenu } from 'primereact/contextmenu'; import { SolarSystemRawType } from '@/hooks/Mapper/types'; import { ctxManager } from '@/hooks/Mapper/utils/contextManager.ts'; import { NodeSelectionMouseHandler } from '@/hooks/Mapper/components/contexts/types.ts'; import { useDeleteSystems } from '@/hooks/Mapper/components/contexts/hooks'; +import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; export const useContextMenuSystemMultipleHandlers = () => { + const { + data: { pings }, + } = useMapRootState(); + const contextMenuRef = useRef(null); const [systems, setSystems] = useState[]>(); const { deleteSystems } = useDeleteSystems(); + const ping = useMemo(() => (pings.length === 1 ? pings[0] : undefined), [pings]); + const handleSystemMultipleContext: NodeSelectionMouseHandler = (ev, systems_) => { setSystems(systems_); ev.preventDefault(); @@ -24,13 +31,17 @@ export const useContextMenuSystemMultipleHandlers = () => { return; } - const sysToDel = systems.filter(x => !x.data.locked).map(x => x.id); + const sysToDel = systems + .filter(x => !x.data.locked) + .filter(x => x.id !== ping?.solar_system_id) + .map(x => x.id); + if (sysToDel.length === 0) { return; } deleteSystems(sysToDel); - }, [deleteSystems, systems]); + }, [deleteSystems, systems, ping]); return { handleSystemMultipleContext, diff --git a/assets/js/hooks/Mapper/components/helpers/parseMapUserSettings.ts b/assets/js/hooks/Mapper/components/helpers/parseMapUserSettings.ts index 532d1b9c..b31f6113 100644 --- a/assets/js/hooks/Mapper/components/helpers/parseMapUserSettings.ts +++ b/assets/js/hooks/Mapper/components/helpers/parseMapUserSettings.ts @@ -1,6 +1,6 @@ import { MapUserSettings, SettingsWithVersion } from '@/hooks/Mapper/mapRootProvider/types.ts'; -const REQUIRED_KEYS = [ +export const REQUIRED_KEYS = [ 'widgets', 'interface', 'onTheMap', diff --git a/assets/js/hooks/Mapper/components/hooks/index.ts b/assets/js/hooks/Mapper/components/hooks/index.ts index f5bba5bd..755e0c26 100644 --- a/assets/js/hooks/Mapper/components/hooks/index.ts +++ b/assets/js/hooks/Mapper/components/hooks/index.ts @@ -1,3 +1,4 @@ export * from './useSystemInfo'; export * from './useGetOwnOnlineCharacters'; export * from './useElementWidth'; +export * from './useDetectSettingsChanged'; diff --git a/assets/js/hooks/Mapper/components/hooks/useDetectSettingsChanged.ts b/assets/js/hooks/Mapper/components/hooks/useDetectSettingsChanged.ts new file mode 100644 index 00000000..f8693d72 --- /dev/null +++ b/assets/js/hooks/Mapper/components/hooks/useDetectSettingsChanged.ts @@ -0,0 +1,23 @@ +import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; +import { useEffect, useState } from 'react'; + +export const useDetectSettingsChanged = () => { + const { + storedSettings: { + interfaceSettings, + settingsRoutes, + settingsLocal, + settingsSignatures, + settingsOnTheMap, + settingsKills, + }, + } = useMapRootState(); + const [counter, setCounter] = useState(0); + + useEffect( + () => setCounter(x => x + 1), + [interfaceSettings, settingsRoutes, settingsLocal, settingsSignatures, settingsOnTheMap, settingsKills], + ); + + return counter; +}; diff --git a/assets/js/hooks/Mapper/components/map/components/SolarSystemNode/SolarSystemNodeTheme.tsx b/assets/js/hooks/Mapper/components/map/components/SolarSystemNode/SolarSystemNodeTheme.tsx index 6254483c..24bfb5d2 100644 --- a/assets/js/hooks/Mapper/components/map/components/SolarSystemNode/SolarSystemNodeTheme.tsx +++ b/assets/js/hooks/Mapper/components/map/components/SolarSystemNode/SolarSystemNodeTheme.tsx @@ -21,7 +21,9 @@ import { KillsCounter } from '@/hooks/Mapper/components/map/components/KillsCoun export const SolarSystemNodeTheme = memo((props: NodeProps) => { const nodeVars = useSolarSystemNode(props); const { localCounterCharacters } = useLocalCounter(nodeVars); - const { killsCount: localKillsCount, killsActivityType: localKillsActivityType } = useNodeKillsCount(nodeVars.solarSystemId); + const { killsCount: localKillsCount, killsActivityType: localKillsActivityType } = useNodeKillsCount( + nodeVars.solarSystemId, + ); // console.log('JOipP', `render ${nodeVars.id}`, render++); diff --git a/assets/js/hooks/Mapper/components/mapInterface/components/Comments/components/MarkdownComment/MarkdownComment.tsx b/assets/js/hooks/Mapper/components/mapInterface/components/Comments/components/MarkdownComment/MarkdownComment.tsx index 029953e5..973e5a92 100644 --- a/assets/js/hooks/Mapper/components/mapInterface/components/Comments/components/MarkdownComment/MarkdownComment.tsx +++ b/assets/js/hooks/Mapper/components/mapInterface/components/Comments/components/MarkdownComment/MarkdownComment.tsx @@ -14,6 +14,7 @@ import { PrimeIcons } from 'primereact/api'; import { ConfirmPopup } from 'primereact/confirmpopup'; import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; import { OutCommand } from '@/hooks/Mapper/types'; +import { useConfirmPopup } from '@/hooks/Mapper/hooks'; const TOOLTIP_PROPS = { content: 'Remove comment', position: TooltipPosition.top }; @@ -28,8 +29,7 @@ export const MarkdownComment = ({ text, time, characterEveId, id }: MarkdownComm const char = useGetCacheCharacter(characterEveId); const [hovered, setHovered] = useState(false); - const cpRemoveBtnRef = useRef(); - const [cpRemoveVisible, setCpRemoveVisible] = useState(false); + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); const { outCommand } = useMapRootState(); const ref = useRef({ outCommand, id }); @@ -45,9 +45,6 @@ export const MarkdownComment = ({ text, time, characterEveId, id }: MarkdownComm const handleMouseEnter = useCallback(() => setHovered(true), []); const handleMouseLeave = useCallback(() => setHovered(false), []); - const handleShowCP = useCallback(() => setCpRemoveVisible(true), []); - const handleHideCP = useCallback(() => setCpRemoveVisible(false), []); - return ( <> } {hovered && ( // @ts-ignore -
+
)} @@ -85,9 +82,9 @@ export const MarkdownComment = ({ text, time, characterEveId, id }: MarkdownComm { const toast = useRef(null); const [isShow, setIsShow, isShowRef] = useRefState(false); - - const cpRemoveBtnRef = useRef(); - const [cpRemoveVisible, setCpRemoveVisible] = useState(false); + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); const { storedSettings: { interfaceSettings }, @@ -98,9 +97,6 @@ export const PingsInterface = ({ hasLeftOffset }: PingsInterfaceProps) => { const ping = useMemo(() => (pings.length === 1 ? pings[0] : null), [pings]); - const handleShowCP = useCallback(() => setCpRemoveVisible(true), []); - const handleHideCP = useCallback(() => setCpRemoveVisible(false), []); - const navigateTo = useCallback(() => { if (!ping) { return; @@ -242,11 +238,11 @@ export const PingsInterface = ({ hasLeftOffset }: PingsInterfaceProps) => { /> {/*@ts-ignore*/} -
+
{/* TODO ADD solar system menu*/} @@ -272,9 +268,9 @@ export const PingsInterface = ({ hasLeftOffset }: PingsInterfaceProps) => { /> { diff --git a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts index b25ca016..98783a11 100644 --- a/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts +++ b/assets/js/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/hooks/useSystemSignaturesData.ts @@ -76,15 +76,10 @@ export const useSystemSignaturesData = ({ if (removed.length > 0) { await processRemovedSignatures(removed, added, updated); - // Only show pending deletions if: - // 1. Lazy deletion is enabled AND - // 2. Deletion timing is not immediate (> 0) + // Show pending deletions if lazy deletion is enabled + // The deletion timing controls how long the countdown lasts, not whether lazy delete is active if (onSignatureDeleted && lazyDeleteValue) { - const timeoutMs = getDeletionTimeoutMs(settings); - - if (timeoutMs > 0) { - onSignatureDeleted(removed); - } + onSignatureDeleted(removed); } } diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/MapSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/MapSettings.tsx index 7989d5b2..2b6e6aeb 100644 --- a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/MapSettings.tsx +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/MapSettings.tsx @@ -3,7 +3,7 @@ import { Dialog } from 'primereact/dialog'; import { useCallback, useRef, useState } from 'react'; import { TabPanel, TabView } from 'primereact/tabview'; import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; -import { OutCommand } from '@/hooks/Mapper/types'; +import { OutCommand, UserPermission } from '@/hooks/Mapper/types'; import { CONNECTIONS_CHECKBOXES_PROPS, SIGNATURES_CHECKBOXES_PROPS, SYSTEMS_CHECKBOXES_PROPS } from './constants.ts'; import { MapSettingsProvider, @@ -12,7 +12,10 @@ import { import { WidgetsSettings } from './components/WidgetsSettings'; import { CommonSettings } from './components/CommonSettings'; import { SettingsListItem } from './types.ts'; -import { ImportExport } from '@/hooks/Mapper/components/mapRootContent/components/MapSettings/components/ImportExport.tsx'; +import { ImportExport } from './components/ImportExport.tsx'; +import { ServerSettings } from './components/ServerSettings.tsx'; +import { AdminSettings } from './components/AdminSettings.tsx'; +import { useMapCheckPermissions } from '@/hooks/Mapper/mapRootProvider/hooks/api'; export interface MapSettingsProps { visible: boolean; @@ -24,6 +27,7 @@ export const MapSettingsComp = ({ visible, onHide }: MapSettingsProps) => { const { outCommand } = useMapRootState(); const { renderSettingItem, setUserRemoteSettings } = useMapSettings(); + const isAdmin = useMapCheckPermissions([UserPermission.ADMIN_MAP]); const refVars = useRef({ outCommand, onHide, visible }); refVars.current = { outCommand, onHide, visible }; @@ -58,7 +62,7 @@ export const MapSettingsComp = ({ visible, onHide }: MapSettingsProps) => { header="Map user settings" visible draggable={false} - style={{ width: '550px' }} + style={{ width: '600px' }} onShow={handleShow} onHide={handleHide} > @@ -92,6 +96,16 @@ export const MapSettingsComp = ({ visible, onHide }: MapSettingsProps) => { + + + + + + {isAdmin && ( + + + + )}
diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/AdminSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/AdminSettings.tsx new file mode 100644 index 00000000..ab60c5fb --- /dev/null +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/AdminSettings.tsx @@ -0,0 +1,128 @@ +import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { Toast } from 'primereact/toast'; +import { Button } from 'primereact/button'; +import { callToastError, callToastSuccess, callToastWarn } from '@/hooks/Mapper/helpers'; +import { OutCommand } from '@/hooks/Mapper/types'; +import { ConfirmPopup } from 'primereact/confirmpopup'; +import { useConfirmPopup } from '@/hooks/Mapper/hooks'; +import { MapUserSettings, RemoteAdminSettingsResponse } from '@/hooks/Mapper/mapRootProvider/types.ts'; +import { parseMapUserSettings } from '@/hooks/Mapper/components/helpers'; +import fastDeepEqual from 'fast-deep-equal'; +import { useDetectSettingsChanged } from '@/hooks/Mapper/components/hooks'; + +export const AdminSettings = () => { + const { + storedSettings: { getSettingsForExport }, + outCommand, + } = useMapRootState(); + + const settingsChanged = useDetectSettingsChanged(); + + const [currentRemoteSettings, setCurrentRemoteSettings] = useState(null); + + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); + const toast = useRef(null); + + const hasSettingsForExport = useMemo(() => !!getSettingsForExport(), [getSettingsForExport]); + + const refVars = useRef({ currentRemoteSettings, getSettingsForExport }); + refVars.current = { currentRemoteSettings, getSettingsForExport }; + + useEffect(() => { + const load = async () => { + let res: RemoteAdminSettingsResponse | undefined; + try { + res = await outCommand({ type: OutCommand.getDefaultSettings, data: null }); + } catch (error) { + // do nothing + } + + if (!res || res.default_settings == null) { + return; + } + + setCurrentRemoteSettings(parseMapUserSettings(res.default_settings)); + }; + + load(); + }, [outCommand]); + + const isDirty = useMemo(() => { + const { currentRemoteSettings, getSettingsForExport } = refVars.current; + const localCurrent = parseMapUserSettings(getSettingsForExport()); + + return !fastDeepEqual(currentRemoteSettings, localCurrent); + // eslint-disable-next-line + }, [settingsChanged, currentRemoteSettings]); + + const handleSync = useCallback(async () => { + const settings = getSettingsForExport(); + + if (!settings) { + callToastWarn(toast.current, 'No settings to save'); + + return; + } + + let response: { success: boolean } | undefined; + + try { + response = await outCommand({ + type: OutCommand.saveDefaultSettings, + data: { settings }, + }); + } catch (err) { + callToastError(toast.current, 'Something went wrong while saving settings'); + console.error('ERROR: ', err); + return; + } + + if (!response || !response.success) { + callToastError(toast.current, 'Settings not saved - dont not why it'); + return; + } + + setCurrentRemoteSettings(parseMapUserSettings(settings)); + + callToastSuccess(toast.current, 'Settings saved successfully'); + }, [getSettingsForExport, outCommand]); + + return ( +
+
+
+
+ + {!isDirty && *Local and remote are identical.} + + + *Will save your current settings as the default for all new users of this map. This action will overwrite any + existing default settings. + +
+ + + + +
+ ); +}; diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/CommonSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/CommonSettings.tsx index 02b72f2b..74a51761 100644 --- a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/CommonSettings.tsx +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/CommonSettings.tsx @@ -7,9 +7,14 @@ import { import { useMapSettings } from '@/hooks/Mapper/components/mapRootContent/components/MapSettings/MapSettingsProvider.tsx'; import { SettingsListItem } from '@/hooks/Mapper/components/mapRootContent/components/MapSettings/types.ts'; import { useCallback } from 'react'; +import { Button } from 'primereact/button'; +import { TooltipPosition, WdTooltipWrapper } from '@/hooks/Mapper/components/ui-kit'; +import { ConfirmPopup } from 'primereact/confirmpopup'; +import { useConfirmPopup } from '@/hooks/Mapper/hooks'; export const CommonSettings = () => { const { renderSettingItem } = useMapSettings(); + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); const renderSettingsList = useCallback( (list: SettingsListItem[]) => { @@ -18,6 +23,8 @@ export const CommonSettings = () => { [renderSettingItem], ); + const handleResetSettings = () => {}; + return (
@@ -29,6 +36,33 @@ export const CommonSettings = () => {
{renderSettingItem(MINI_MAP_PLACEMENT)}
{renderSettingItem(PINGS_PLACEMENT)}
{renderSettingItem(THEME_SETTING)}
+ +
+ +
+
+ +
+ +
); }; diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/DefaultSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/DefaultSettings.tsx new file mode 100644 index 00000000..b554a48f --- /dev/null +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/DefaultSettings.tsx @@ -0,0 +1,90 @@ +import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; +import { useCallback, useRef, useState } from 'react'; +import { Toast } from 'primereact/toast'; +import { Button } from 'primereact/button'; +import { OutCommand } from '@/hooks/Mapper/types'; +import { Divider } from 'primereact/divider'; +import { callToastError, callToastSuccess, callToastWarn } from '@/hooks/Mapper/helpers'; + +type SaveDefaultSettingsReturn = { success: boolean; error: string }; + +export const DefaultSettings = () => { + const { + outCommand, + storedSettings: { getSettingsForExport }, + data: { userPermissions }, + } = useMapRootState(); + + const [loading, setLoading] = useState(false); + const toast = useRef(null); + + const refVars = useRef({ getSettingsForExport, outCommand }); + refVars.current = { getSettingsForExport, outCommand }; + + const handleSaveAsDefault = useCallback(async () => { + const settings = refVars.current.getSettingsForExport(); + if (!settings) { + callToastWarn(toast.current, 'No settings to save'); + return; + } + + setLoading(true); + + let response: SaveDefaultSettingsReturn; + try { + response = await refVars.current.outCommand({ + type: OutCommand.saveDefaultSettings, + data: { settings }, + }); + } catch (error) { + console.error('Save default settings error:', error); + callToastError(toast.current, 'Failed to save default settings'); + setLoading(false); + return; + } + + if (response.success) { + callToastSuccess(toast.current, 'Default settings saved successfully'); + setLoading(false); + return; + } + + callToastError(toast.current, response.error || 'Failed to save default settings'); + setLoading(false); + }, []); + + if (!userPermissions?.admin_map) { + return null; + } + + return ( + <> + +
+

Default Settings (Admin Only)

+ +
+
+
+ + + *Will save your current settings as the default for all new users of this map. This action will overwrite + any existing default settings. + +
+ + +
+ + ); +}; diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/ServerSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/ServerSettings.tsx new file mode 100644 index 00000000..b1ea9182 --- /dev/null +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/ServerSettings.tsx @@ -0,0 +1,97 @@ +import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import { Toast } from 'primereact/toast'; +import { parseMapUserSettings } from '@/hooks/Mapper/components/helpers'; +import { Button } from 'primereact/button'; +import { OutCommand } from '@/hooks/Mapper/types'; +import { createDefaultWidgetSettings } from '@/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts'; +import { callToastSuccess } from '@/hooks/Mapper/helpers'; +import { ConfirmPopup } from 'primereact/confirmpopup'; +import { useConfirmPopup } from '@/hooks/Mapper/hooks'; +import { RemoteAdminSettingsResponse } from '@/hooks/Mapper/mapRootProvider/types.ts'; + +export const ServerSettings = () => { + const { + storedSettings: { applySettings }, + outCommand, + } = useMapRootState(); + + const [hasSettings, setHasSettings] = useState(false); + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); + const toast = useRef(null); + + const handleSync = useCallback(async () => { + let res: RemoteAdminSettingsResponse | undefined; + try { + res = await outCommand({ type: OutCommand.getDefaultSettings, data: null }); + } catch (error) { + // do nothing + } + + if (res?.default_settings == null) { + applySettings(createDefaultWidgetSettings()); + return; + } + + try { + applySettings(parseMapUserSettings(res.default_settings)); + callToastSuccess(toast.current, 'Settings synchronized successfully'); + } catch (error) { + applySettings(createDefaultWidgetSettings()); + } + }, [applySettings, outCommand]); + + useEffect(() => { + const load = async () => { + let res: RemoteAdminSettingsResponse | undefined; + try { + res = await outCommand({ type: OutCommand.getDefaultSettings, data: null }); + } catch (error) { + // do nothing + } + + if (res?.default_settings == null) { + return; + } + + setHasSettings(true); + }; + + load(); + }, [outCommand]); + + return ( +
+
+
+
+ {!hasSettings && ( + *Default settings was not set by map administrator. + )} + *Will apply admin settings which set as Default for map. +
+ + + + +
+ ); +}; diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/WidgetsSettings.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/WidgetsSettings.tsx index ed92749d..ac6151c9 100644 --- a/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/WidgetsSettings.tsx +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/MapSettings/components/WidgetsSettings.tsx @@ -28,6 +28,9 @@ export const WidgetsSettings = ({}: WidgetsSettingsProps) => { /> ))}
+ +
+
diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/OldSettingsDialog.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/OldSettingsDialog.tsx index fd61df48..ade7c6c2 100644 --- a/assets/js/hooks/Mapper/components/mapRootContent/components/OldSettingsDialog.tsx +++ b/assets/js/hooks/Mapper/components/mapRootContent/components/OldSettingsDialog.tsx @@ -1,7 +1,7 @@ import { Dialog } from 'primereact/dialog'; import { Button } from 'primereact/button'; import { ConfirmPopup } from 'primereact/confirmpopup'; -import { useCallback, useRef, useState } from 'react'; +import { useCallback, useRef } from 'react'; import { MapUserSettings } from '@/hooks/Mapper/mapRootProvider/types.ts'; import { DEFAULT_KILLS_WIDGET_SETTINGS, @@ -15,6 +15,7 @@ import { DEFAULT_SIGNATURE_SETTINGS } from '@/hooks/Mapper/constants/signatures. import { Toast } from 'primereact/toast'; import { useMapRootState } from '@/hooks/Mapper/mapRootProvider'; import { saveTextFile } from '@/hooks/Mapper/utils'; +import { useConfirmPopup } from '@/hooks/Mapper/hooks'; const createSettings = function (lsSettings: string | null, defaultValues: T) { return { @@ -24,10 +25,7 @@ const createSettings = function (lsSettings: string | null, defaultValues: T) }; export const OldSettingsDialog = () => { - const cpRemoveBtnRef = useRef(); - const [cpRemoveVisible, setCpRemoveVisible] = useState(false); - const handleShowCP = useCallback(() => setCpRemoveVisible(true), []); - const handleHideCP = useCallback(() => setCpRemoveVisible(false), []); + const { cfShow, cfHide, cfVisible, cfRef } = useConfirmPopup(); const toast = useRef(null); const { @@ -143,8 +141,8 @@ export const OldSettingsDialog = () => {
diff --git a/assets/js/hooks/Mapper/helpers/index.ts b/assets/js/hooks/Mapper/helpers/index.ts index 2b55ee5a..37b7b8e6 100644 --- a/assets/js/hooks/Mapper/helpers/index.ts +++ b/assets/js/hooks/Mapper/helpers/index.ts @@ -2,3 +2,4 @@ export * from './sortWHClasses'; export * from './parseSignatures'; export * from './getSystemById'; export * from './getEveImageUrl'; +export * from './toastHelpers'; diff --git a/assets/js/hooks/Mapper/helpers/toastHelpers.ts b/assets/js/hooks/Mapper/helpers/toastHelpers.ts new file mode 100644 index 00000000..818e3b46 --- /dev/null +++ b/assets/js/hooks/Mapper/helpers/toastHelpers.ts @@ -0,0 +1,28 @@ +import { Toast } from 'primereact/toast'; + +export const callToastWarn = (toast: Toast | null, msg: string, life = 3000) => { + toast?.show({ + severity: 'warn', + summary: 'Warning', + detail: msg, + life, + }); +}; + +export const callToastError = (toast: Toast | null, msg: string, life = 3000) => { + toast?.show({ + severity: 'error', + summary: 'Error', + detail: msg, + life, + }); +}; + +export const callToastSuccess = (toast: Toast | null, msg: string, life = 3000) => { + toast?.show({ + severity: 'success', + summary: 'Success', + detail: msg, + life, + }); +}; diff --git a/assets/js/hooks/Mapper/hooks/index.ts b/assets/js/hooks/Mapper/hooks/index.ts index aacf143e..6cb2efae 100644 --- a/assets/js/hooks/Mapper/hooks/index.ts +++ b/assets/js/hooks/Mapper/hooks/index.ts @@ -3,3 +3,4 @@ export * from './useHotkey'; export * from './usePageVisibility'; export * from './useSkipContextMenu'; export * from './useThrottle'; +export * from './useConfirmPopup'; diff --git a/assets/js/hooks/Mapper/hooks/useConfirmPopup.ts b/assets/js/hooks/Mapper/hooks/useConfirmPopup.ts new file mode 100644 index 00000000..aa0fa685 --- /dev/null +++ b/assets/js/hooks/Mapper/hooks/useConfirmPopup.ts @@ -0,0 +1,10 @@ +import { useCallback, useRef, useState } from 'react'; + +export const useConfirmPopup = () => { + const cfRef = useRef(); + const [cfVisible, setCfVisible] = useState(false); + const cfShow = useCallback(() => setCfVisible(true), []); + const cfHide = useCallback(() => setCfVisible(false), []); + + return { cfRef, cfVisible, cfShow, cfHide }; +}; diff --git a/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx b/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx index ba2aa53a..4e8f1f99 100644 --- a/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx +++ b/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx @@ -131,6 +131,7 @@ export interface MapRootContextProps { hasOldSettings: boolean; getSettingsForExport(): string | undefined; applySettings(settings: MapUserSettings): boolean; + resetSettings(settings: MapUserSettings): void; checkOldSettings(): void; }; } @@ -175,6 +176,7 @@ const MapRootContext = createContext({ hasOldSettings: false, getSettingsForExport: () => '', applySettings: () => false, + resetSettings: () => null, checkOldSettings: () => null, }, }); @@ -196,7 +198,7 @@ const MapRootHandlers = forwardRef(({ children }: WithChildren, fwdRef: Forwarde export const MapRootProvider = ({ children, fwdRef, outCommand }: MapRootProviderProps) => { const { update, ref } = useContextStore({ ...INITIAL_DATA }); - const storedSettings = useMapUserSettings(ref); + const storedSettings = useMapUserSettings(ref, outCommand); const { windowsSettings, toggleWidgetVisibility, updateWidgetSettings, resetWidgets } = useStoreWidgets(storedSettings); diff --git a/assets/js/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts b/assets/js/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts new file mode 100644 index 00000000..9e6d8693 --- /dev/null +++ b/assets/js/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts @@ -0,0 +1,30 @@ +import { MapUserSettings } from '@/hooks/Mapper/mapRootProvider/types.ts'; +import { + DEFAULT_KILLS_WIDGET_SETTINGS, + DEFAULT_ON_THE_MAP_SETTINGS, + DEFAULT_ROUTES_SETTINGS, + DEFAULT_WIDGET_LOCAL_SETTINGS, + getDefaultWidgetProps, + STORED_INTERFACE_DEFAULT_VALUES, +} from '@/hooks/Mapper/mapRootProvider/constants.ts'; +import { DEFAULT_SIGNATURE_SETTINGS } from '@/hooks/Mapper/constants/signatures.ts'; + +// TODO - we need provide and compare version +const createWidgetSettingsWithVersion = (settings: T) => { + return { + version: 0, + settings, + }; +}; + +export const createDefaultWidgetSettings = (): MapUserSettings => { + return { + killsWidget: createWidgetSettingsWithVersion(DEFAULT_KILLS_WIDGET_SETTINGS), + localWidget: createWidgetSettingsWithVersion(DEFAULT_WIDGET_LOCAL_SETTINGS), + widgets: createWidgetSettingsWithVersion(getDefaultWidgetProps()), + routes: createWidgetSettingsWithVersion(DEFAULT_ROUTES_SETTINGS), + onTheMap: createWidgetSettingsWithVersion(DEFAULT_ON_THE_MAP_SETTINGS), + signaturesWidget: createWidgetSettingsWithVersion(DEFAULT_SIGNATURE_SETTINGS), + interface: createWidgetSettingsWithVersion(STORED_INTERFACE_DEFAULT_VALUES), + }; +}; diff --git a/assets/js/hooks/Mapper/mapRootProvider/hooks/useActualizeRemoteMapSettings.ts b/assets/js/hooks/Mapper/mapRootProvider/hooks/useActualizeRemoteMapSettings.ts new file mode 100644 index 00000000..53f56617 --- /dev/null +++ b/assets/js/hooks/Mapper/mapRootProvider/hooks/useActualizeRemoteMapSettings.ts @@ -0,0 +1,66 @@ +import { OutCommand, OutCommandHandler } from '@/hooks/Mapper/types'; +import { Dispatch, SetStateAction, useCallback, useEffect, useRef } from 'react'; +import { + MapUserSettings, + MapUserSettingsStructure, + RemoteAdminSettingsResponse, +} from '@/hooks/Mapper/mapRootProvider/types.ts'; +import { createDefaultWidgetSettings } from '@/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts'; +import { parseMapUserSettings } from '@/hooks/Mapper/components/helpers'; + +interface UseActualizeRemoteMapSettingsProps { + outCommand: OutCommandHandler; + mapUserSettings: MapUserSettingsStructure; + applySettings: (val: MapUserSettings) => void; + setMapUserSettings: Dispatch>; + map_slug: string | null; +} + +export const useActualizeRemoteMapSettings = ({ + outCommand, + mapUserSettings, + setMapUserSettings, + applySettings, + map_slug, +}: UseActualizeRemoteMapSettingsProps) => { + const refVars = useRef({ applySettings, mapUserSettings, setMapUserSettings, map_slug }); + refVars.current = { applySettings, mapUserSettings, setMapUserSettings, map_slug }; + + const actualizeRemoteMapSettings = useCallback(async () => { + const { applySettings } = refVars.current; + + let res: RemoteAdminSettingsResponse | undefined; + try { + res = await outCommand({ type: OutCommand.getDefaultSettings, data: null }); + } catch (error) { + // do nothing + } + + if (res?.default_settings == null) { + applySettings(createDefaultWidgetSettings()); + return; + } + + try { + applySettings(parseMapUserSettings(res.default_settings)); + } catch (error) { + applySettings(createDefaultWidgetSettings()); + } + }, [outCommand]); + + useEffect(() => { + const { mapUserSettings } = refVars.current; + + // INFO: Do nothing if slug is not set + if (map_slug == null) { + return; + } + + // INFO: Do nothing if user have already data + if (map_slug in mapUserSettings) { + return; + } + + actualizeRemoteMapSettings(); + }, [actualizeRemoteMapSettings, map_slug]); +}; diff --git a/assets/js/hooks/Mapper/mapRootProvider/hooks/useMapUserSettings.ts b/assets/js/hooks/Mapper/mapRootProvider/hooks/useMapUserSettings.ts index 6e4a2ef7..560b927d 100644 --- a/assets/js/hooks/Mapper/mapRootProvider/hooks/useMapUserSettings.ts +++ b/assets/js/hooks/Mapper/mapRootProvider/hooks/useMapUserSettings.ts @@ -1,44 +1,16 @@ import useLocalStorageState from 'use-local-storage-state'; import { MapUserSettings, MapUserSettingsStructure } from '@/hooks/Mapper/mapRootProvider/types.ts'; -import { - DEFAULT_KILLS_WIDGET_SETTINGS, - DEFAULT_ON_THE_MAP_SETTINGS, - DEFAULT_ROUTES_SETTINGS, - DEFAULT_WIDGET_LOCAL_SETTINGS, - getDefaultWidgetProps, - STORED_INTERFACE_DEFAULT_VALUES, -} from '@/hooks/Mapper/mapRootProvider/constants.ts'; import { useCallback, useEffect, useRef, useState } from 'react'; -import { DEFAULT_SIGNATURE_SETTINGS } from '@/hooks/Mapper/constants/signatures'; import { MapRootData } from '@/hooks/Mapper/mapRootProvider'; import { useSettingsValueAndSetter } from '@/hooks/Mapper/mapRootProvider/hooks/useSettingsValueAndSetter.ts'; import fastDeepEqual from 'fast-deep-equal'; - -// import { actualizeSettings } from '@/hooks/Mapper/mapRootProvider/helpers'; - -// TODO - we need provide and compare version -const createWidgetSettingsWithVersion = (settings: T) => { - return { - version: 0, - settings, - }; -}; - -const createDefaultWidgetSettings = (): MapUserSettings => { - return { - killsWidget: createWidgetSettingsWithVersion(DEFAULT_KILLS_WIDGET_SETTINGS), - localWidget: createWidgetSettingsWithVersion(DEFAULT_WIDGET_LOCAL_SETTINGS), - widgets: createWidgetSettingsWithVersion(getDefaultWidgetProps()), - routes: createWidgetSettingsWithVersion(DEFAULT_ROUTES_SETTINGS), - onTheMap: createWidgetSettingsWithVersion(DEFAULT_ON_THE_MAP_SETTINGS), - signaturesWidget: createWidgetSettingsWithVersion(DEFAULT_SIGNATURE_SETTINGS), - interface: createWidgetSettingsWithVersion(STORED_INTERFACE_DEFAULT_VALUES), - }; -}; +import { OutCommandHandler } from '@/hooks/Mapper/types'; +import { useActualizeRemoteMapSettings } from '@/hooks/Mapper/mapRootProvider/hooks/useActualizeRemoteMapSettings.ts'; +import { createDefaultWidgetSettings } from '@/hooks/Mapper/mapRootProvider/helpers/createDefaultWidgetSettings.ts'; const EMPTY_OBJ = {}; -export const useMapUserSettings = ({ map_slug }: MapRootData) => { +export const useMapUserSettings = ({ map_slug }: MapRootData, outCommand: OutCommandHandler) => { const [isReady, setIsReady] = useState(false); const [hasOldSettings, setHasOldSettings] = useState(false); @@ -49,19 +21,25 @@ export const useMapUserSettings = ({ map_slug }: MapRootData) => { const ref = useRef({ mapUserSettings, setMapUserSettings, map_slug }); ref.current = { mapUserSettings, setMapUserSettings, map_slug }; - useEffect(() => { - const { mapUserSettings, setMapUserSettings } = ref.current; - if (map_slug === null) { - return; + const applySettings = useCallback((settings: MapUserSettings) => { + const { map_slug, mapUserSettings, setMapUserSettings } = ref.current; + + if (map_slug == null) { + return false; } - if (!(map_slug in mapUserSettings)) { - setMapUserSettings({ - ...mapUserSettings, - [map_slug]: createDefaultWidgetSettings(), - }); + if (fastDeepEqual(settings, mapUserSettings[map_slug])) { + return false; } - }, [map_slug]); + + setMapUserSettings(old => ({ + ...old, + [map_slug]: settings, + })); + return true; + }, []); + + useActualizeRemoteMapSettings({ outCommand, applySettings, mapUserSettings, setMapUserSettings, map_slug }); const [interfaceSettings, setInterfaceSettings] = useSettingsValueAndSetter( mapUserSettings, @@ -178,23 +156,9 @@ export const useMapUserSettings = ({ map_slug }: MapRootData) => { return JSON.stringify(ref.current.mapUserSettings[map_slug]); }, []); - const applySettings = useCallback((settings: MapUserSettings) => { - const { map_slug, mapUserSettings, setMapUserSettings } = ref.current; - - if (map_slug == null) { - return false; - } - - if (fastDeepEqual(settings, mapUserSettings[map_slug])) { - return false; - } - - setMapUserSettings(old => ({ - ...old, - [map_slug]: settings, - })); - return true; - }, []); + const resetSettings = useCallback(() => { + applySettings(createDefaultWidgetSettings()); + }, [applySettings]); return { isReady, @@ -217,6 +181,7 @@ export const useMapUserSettings = ({ map_slug }: MapRootData) => { getSettingsForExport, applySettings, + resetSettings, checkOldSettings, }; }; diff --git a/assets/js/hooks/Mapper/mapRootProvider/types.ts b/assets/js/hooks/Mapper/mapRootProvider/types.ts index eb685f08..ba76a770 100644 --- a/assets/js/hooks/Mapper/mapRootProvider/types.ts +++ b/assets/js/hooks/Mapper/mapRootProvider/types.ts @@ -85,3 +85,7 @@ export type MapUserSettings = { export type MapUserSettingsStructure = { [mapId: string]: MapUserSettings; }; + +export type WdResponse = T; + +export type RemoteAdminSettingsResponse = { default_settings?: string }; diff --git a/assets/js/hooks/Mapper/types/mapHandlers.ts b/assets/js/hooks/Mapper/types/mapHandlers.ts index b33702ae..ecd70802 100644 --- a/assets/js/hooks/Mapper/types/mapHandlers.ts +++ b/assets/js/hooks/Mapper/types/mapHandlers.ts @@ -269,6 +269,8 @@ export enum OutCommand { showTracking = 'show_tracking', getUserSettings = 'get_user_settings', updateUserSettings = 'update_user_settings', + saveDefaultSettings = 'save_default_settings', + getDefaultSettings = 'get_default_settings', unlinkSignature = 'unlink_signature', searchSystems = 'search_systems', undoDeleteSignatures = 'undo_delete_signatures', diff --git a/assets/static/images/news/2025/07-27-settings/admin_settings.png b/assets/static/images/news/2025/07-27-settings/admin_settings.png new file mode 100644 index 00000000..7d878937 Binary files /dev/null and b/assets/static/images/news/2025/07-27-settings/admin_settings.png differ diff --git a/assets/static/images/news/2025/07-27-settings/common_settings.png b/assets/static/images/news/2025/07-27-settings/common_settings.png new file mode 100644 index 00000000..42e3181b Binary files /dev/null and b/assets/static/images/news/2025/07-27-settings/common_settings.png differ diff --git a/assets/static/images/news/2025/07-27-settings/server_settings.png b/assets/static/images/news/2025/07-27-settings/server_settings.png new file mode 100644 index 00000000..4a1bfd25 Binary files /dev/null and b/assets/static/images/news/2025/07-27-settings/server_settings.png differ diff --git a/assets/yarn.lock b/assets/yarn.lock index 9e78afc2..e1c376d5 100644 --- a/assets/yarn.lock +++ b/assets/yarn.lock @@ -2,403 +2,305 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.2.0": version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-validator-identifier" "^7.27.1" js-tokens "^4.0.0" - picocolors "^1.0.0" + picocolors "^1.1.1" -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/compat-data@^7.27.2": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790" + integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== -"@babel/compat-data@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.5.tgz#df93ac37f4417854130e21d72c66ff3d4b897fc7" - integrity sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg== - -"@babel/core@^7.14.8": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.8", "@babel/core@^7.23.9", "@babel/core@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.0.tgz#55dad808d5bf3445a108eefc88ea3fdf034749a4" + integrity sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.0" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.6" + "@babel/parser" "^7.28.0" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.28.0" + "@babel/types" "^7.28.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/core@^7.26.0": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.7.tgz#0439347a183b97534d52811144d763a17f9d2b24" - integrity sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA== +"@babel/generator@^7.28.0", "@babel/generator@^7.7.2": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.0.tgz#9cc2f7bd6eb054d77dc66c2664148a0c5118acd2" + integrity sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg== dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" - "@babel/helper-compilation-targets" "^7.26.5" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.7" - "@babel/parser" "^7.26.7" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.26.7" - "@babel/types" "^7.26.7" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== - dependencies: - "@babel/types" "^7.24.5" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/generator@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.5.tgz#e44d4ab3176bbcaf78a5725da5f1dc28802a9458" - integrity sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw== - dependencies: - "@babel/parser" "^7.26.5" - "@babel/types" "^7.26.5" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" + "@babel/parser" "^7.28.0" + "@babel/types" "^7.28.0" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-compilation-targets@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" - integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== - dependencies: - "@babel/compat-data" "^7.26.5" - "@babel/helper-validator-option" "^7.25.9" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== +"@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== dependencies: - "@babel/types" "^7.22.5" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" -"@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helpers@^7.27.6": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.2.tgz#80f0918fecbfebea9af856c419763230040ee850" + integrity sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw== dependencies: - "@babel/types" "^7.24.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.2" -"@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" + integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g== dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/types" "^7.28.0" -"@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-plugin-utils@^7.25.9": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35" - integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== - -"@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/types" "^7.24.5" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: - "@babel/types" "^7.24.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/helpers@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.7.tgz#fd1d2a7c431b6e39290277aacfd8367857c576a4" - integrity sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A== +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.7" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/helper-validator-identifier" "^7.24.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== - -"@babel/parser@^7.25.9", "@babel/parser@^7.26.5", "@babel/parser@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.7.tgz#e114cd099e5f7d17b05368678da0fb9f69b3385c" - integrity sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w== +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: - "@babel/types" "^7.26.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-jsx-self@^7.14.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz" - integrity sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w== +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-self@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz#c0b6cae9c1b73967f7f9eb2fca9536ba2fad2858" - integrity sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-transform-react-jsx-source@^7.14.5": - version "7.24.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz" - integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA== +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-source@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz#4c6b8daa520b5f155b5fb55547d7c9fa91417503" - integrity sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg== +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.12.5": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz" - integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.18.6": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.10.tgz#a07b4d8fa27af131a633d7b3524db803eb4764c2" - integrity sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw== +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.18.9": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz" - integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz" - integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: - regenerator-runtime "^0.14.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== +"@babel/plugin-transform-react-jsx-self@^7.14.5", "@babel/plugin-transform-react-jsx-self@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" + integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== +"@babel/plugin-transform-react-jsx-source@^7.14.5", "@babel/plugin-transform-react-jsx-source@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" + integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.2.tgz#2ae5a9d51cc583bd1f5673b3bb70d6d819682473" + integrity sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA== + +"@babel/template@^7.27.2", "@babel/template@^7.3.3": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" + integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.0" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.0" debug "^4.3.1" - globals "^11.1.0" -"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.7.tgz#99a0a136f6a75e7fb8b0a1ace421e0b25994b8bb" - integrity sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.28.0", "@babel/types@^7.28.2", "@babel/types@^7.3.3": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b" + integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ== dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.5" - "@babel/parser" "^7.26.7" - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.7" - debug "^4.3.1" - globals "^11.1.0" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": - version "7.24.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== - dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" - to-fast-properties "^2.0.0" - -"@babel/types@^7.25.9", "@babel/types@^7.26.5", "@babel/types@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.7.tgz#5e2b89c0768e874d4d061961f3a5a153d71dc17a" - integrity sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@codemirror/autocomplete@^6.0.0", "@codemirror/autocomplete@^6.7.1": version "6.18.6" @@ -411,9 +313,9 @@ "@lezer/common" "^1.0.0" "@codemirror/commands@^6.0.0", "@codemirror/commands@^6.1.0": - version "6.8.0" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.8.0.tgz#92f200b66f852939bd6ebb90d48c2d9e9c813d64" - integrity sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ== + version "6.8.1" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.8.1.tgz#639f5559d2f33f2582a2429c58cb0c1b925c7a30" + integrity sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw== dependencies: "@codemirror/language" "^6.0.0" "@codemirror/state" "^6.4.0" @@ -447,9 +349,9 @@ "@lezer/html" "^1.3.0" "@codemirror/lang-javascript@^6.0.0": - version "6.2.3" - resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.2.3.tgz#d705c359dc816afcd3bcdf120a559f83d31d4cda" - integrity sha512-8PR3vIWg7pSu7ur8A07pGiYHgy3hHj+mRYRCSG8q+mPIrl0F02rgpGv+DsQTHRTc30rydOsf5PZ7yjKFg2Ackw== + version "6.2.4" + resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.2.4.tgz#eef2227d1892aae762f3a0f212f72bec868a02c5" + integrity sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA== dependencies: "@codemirror/autocomplete" "^6.0.0" "@codemirror/language" "^6.6.0" @@ -460,9 +362,9 @@ "@lezer/javascript" "^1.0.0" "@codemirror/lang-markdown@^6.3.2": - version "6.3.2" - resolved "https://registry.yarnpkg.com/@codemirror/lang-markdown/-/lang-markdown-6.3.2.tgz#841a922c9305c035678600de5187c1b7a80f6c21" - integrity sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA== + version "6.3.4" + resolved "https://registry.yarnpkg.com/@codemirror/lang-markdown/-/lang-markdown-6.3.4.tgz#c1c021ba65ba21c4e9b1f6d5add809b4c9e02c8d" + integrity sha512-fBm0BO03azXnTAsxhONDYHi/qWSI+uSEIpzKM7h/bkIc9fHnFp9y7KTMXKON0teNT97pFhc1a9DQTtWBYEZ7ug== dependencies: "@codemirror/autocomplete" "^6.7.1" "@codemirror/lang-html" "^6.0.0" @@ -473,9 +375,9 @@ "@lezer/markdown" "^1.0.0" "@codemirror/language@^6.0.0", "@codemirror/language@^6.3.0", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0": - version "6.11.0" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.11.0.tgz#5ae90972601497f4575f30811519d720bf7232c9" - integrity sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ== + version "6.11.2" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.11.2.tgz#90d2d094cfbd14263bc5354ebd2445ee4e81bdc3" + integrity sha512-p44TsNArL4IVXDTbapUmEkAlvWs2CFQbcfc0ymDsis1kH2wh0gcY96AS29c/vp2d0y2Tquk1EDSaawpzilUiAw== dependencies: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.23.0" @@ -485,18 +387,18 @@ style-mod "^4.0.0" "@codemirror/lint@^6.0.0": - version "6.8.4" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.4.tgz#7d8aa5d1a6dec89ffcc23ad45ddca2e12e90982d" - integrity sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A== + version "6.8.5" + resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.5.tgz#9edaa808e764e28e07665b015951934c8ec3a418" + integrity sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA== dependencies: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.35.0" crelt "^1.0.5" "@codemirror/search@^6.0.0": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.10.tgz#7367bfc88094d078b91c752bc74140fb565b55ee" - integrity sha512-RMdPdmsrUf53pb2VwflKGHEe1XVM07hI7vV2ntgw1dmqhimpatSJKva4VA9h4TLUDOD4EIF02201oZurpnEFsg== + version "6.5.11" + resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.11.tgz#a324ffee36e032b7f67aa31c4fb9f3e6f9f3ed63" + integrity sha512-KmWepDE6jUdL6n8cAAqIpRmLPBZ5ZKnicE8oGU/s3QrAVID+0VhLFrzUucVKHG5035/BSykhExDL/Xm7dHthiA== dependencies: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.0.0" @@ -510,9 +412,9 @@ "@marijn/find-cluster-break" "^1.0.0" "@codemirror/theme-one-dark@^6.0.0", "@codemirror/theme-one-dark@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz#fcef9f9cfc17a07836cb7da17c9f6d7231064df8" - integrity sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA== + version "6.1.3" + resolved "https://registry.yarnpkg.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.3.tgz#1dbb73f6e73c53c12ad2aed9f48c263c4e63ea37" + integrity sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA== dependencies: "@codemirror/language" "^6.0.0" "@codemirror/state" "^6.0.0" @@ -520,144 +422,145 @@ "@lezer/highlight" "^1.0.0" "@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0": - version "6.36.4" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.36.4.tgz#d47d38b92a22cc40647bfb9cc97944e13d44942d" - integrity sha512-ZQ0V5ovw/miKEXTvjgzRyjnrk9TwriUB1k4R5p7uNnHR9Hus+D1SXHGdJshijEzPFjU25xea/7nhIeSqYFKdbA== + version "6.38.1" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.38.1.tgz#74214434351719ec0710431363a85f7a01e80a73" + integrity sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ== dependencies: "@codemirror/state" "^6.5.0" + crelt "^1.0.6" style-mod "^4.1.0" w3c-keyname "^2.2.4" -"@esbuild/aix-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" - integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== -"@esbuild/android-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" - integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== -"@esbuild/android-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" - integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== -"@esbuild/android-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" - integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== -"@esbuild/darwin-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" - integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== -"@esbuild/darwin-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" - integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== -"@esbuild/freebsd-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" - integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== -"@esbuild/freebsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" - integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== -"@esbuild/linux-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" - integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== -"@esbuild/linux-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" - integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== -"@esbuild/linux-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" - integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== -"@esbuild/linux-loong64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" - integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== -"@esbuild/linux-mips64el@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" - integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== -"@esbuild/linux-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" - integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== -"@esbuild/linux-riscv64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" - integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== -"@esbuild/linux-s390x@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" - integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== -"@esbuild/linux-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" - integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== -"@esbuild/netbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" - integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== -"@esbuild/openbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" - integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== -"@esbuild/sunos-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" - integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== -"@esbuild/win32-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" - integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== -"@esbuild/win32-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" - integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== -"@esbuild/win32-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" - integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== dependencies: - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== "@eslint/eslintrc@^2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" @@ -670,63 +573,277 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== "@formkit/auto-animate@0.7.0": version "0.7.0" - resolved "https://registry.npmjs.org/@formkit/auto-animate/-/auto-animate-0.7.0.tgz" + resolved "https://registry.yarnpkg.com/@formkit/auto-animate/-/auto-animate-0.7.0.tgz#7a68df578e972d63d999378571ce6e012d9059ae" integrity sha512-RczHUr0AhRPssREoNdRjLfk2b/id9/DFnbIq18QM8L7E4zNV3XH+WO480EZ46BQHDEsv76YPJ0JbG2Y2i3GfXw== -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^2.0.2" + "@humanwhocodes/object-schema" "^2.0.3" debug "^4.3.1" minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.2": +"@humanwhocodes/object-schema@^2.0.3": version "2.0.3" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" + 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" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + 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" + +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.12" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" + integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" + integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": + version "0.3.29" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" + integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -737,13 +854,13 @@ integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== "@lezer/css@^1.1.0", "@lezer/css@^1.1.7": - version "1.1.10" - resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.1.10.tgz#99cef68b26bfdefb76e269b9ee13b0de28edd8ed" - integrity sha512-V5/89eDapjeAkWPBpWEfQjZ1Hag3aYUUJOL8213X0dFRuXJ4BXa5NKl9USzOnaLod4AOpmVCkduir2oKwZYZtg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.3.0.tgz#296f298814782c2fad42a936f3510042cdcd2034" + integrity sha512-pBL7hup88KbI7hXnZV3PQsn43DHy6TWyzuyk2AO9UyoXcDltvIdqWKE1dLL/45JVZ+YZkHe1WVHqO6wugZZWcw== dependencies: "@lezer/common" "^1.2.0" "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" + "@lezer/lr" "^1.3.0" "@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": version "1.2.1" @@ -762,9 +879,9 @@ "@lezer/lr" "^1.0.0" "@lezer/javascript@^1.0.0": - version "1.4.21" - resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.4.21.tgz#8ebf7d1f891c70e3d00864f5a03ac42c75d19492" - integrity sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.5.1.tgz#2a424a6ec29f1d4ef3c34cbccc5447e373618ad8" + integrity sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw== dependencies: "@lezer/common" "^1.2.0" "@lezer/highlight" "^1.1.3" @@ -778,9 +895,9 @@ "@lezer/common" "^1.0.0" "@lezer/markdown@^1.0.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@lezer/markdown/-/markdown-1.4.2.tgz#39abb22dc3289a52dc313e235d80929df0ee075a" - integrity sha512-iYewCigG/517D0xJPQd7RGaCjZAFwROiH8T9h7OTtz0bRVtkxzFhGBFJ9JGKgBBs4uuo1cvxzyQ5iKhDLMcLUQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/@lezer/markdown/-/markdown-1.4.3.tgz#a742ed5e782ac4913a621dfd1e6a8e409f4dd589" + integrity sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg== dependencies: "@lezer/common" "^1.0.0" "@lezer/highlight" "^1.0.0" @@ -792,7 +909,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -800,25 +917,119 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== +"@parcel/watcher-android-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" + integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== + +"@parcel/watcher-darwin-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67" + integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + +"@parcel/watcher-darwin-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" + integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== + +"@parcel/watcher-freebsd-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" + integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== + +"@parcel/watcher-linux-arm-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" + integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== + +"@parcel/watcher-linux-arm-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" + integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== + +"@parcel/watcher-linux-arm64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" + integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== + +"@parcel/watcher-linux-arm64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" + integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== + +"@parcel/watcher-linux-x64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" + integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== + +"@parcel/watcher-linux-x64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" + integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== + +"@parcel/watcher-win32-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" + integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== + +"@parcel/watcher-win32-ia32@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" + integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== + +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== + +"@parcel/watcher@^2.4.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.1" + "@parcel/watcher-darwin-arm64" "2.5.1" + "@parcel/watcher-darwin-x64" "2.5.1" + "@parcel/watcher-freebsd-x64" "2.5.1" + "@parcel/watcher-linux-arm-glibc" "2.5.1" + "@parcel/watcher-linux-arm-musl" "2.5.1" + "@parcel/watcher-linux-arm64-glibc" "2.5.1" + "@parcel/watcher-linux-arm64-musl" "2.5.1" + "@parcel/watcher-linux-x64-glibc" "2.5.1" + "@parcel/watcher-linux-x64-musl" "2.5.1" + "@parcel/watcher-win32-arm64" "2.5.1" + "@parcel/watcher-win32-ia32" "2.5.1" + "@parcel/watcher-win32-x64" "2.5.1" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pkgr/core@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" + integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== "@reactflow/background@11.3.14": version "11.3.14" - resolved "https://registry.npmjs.org/@reactflow/background/-/background-11.3.14.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/background/-/background-11.3.14.tgz#778ca30174f3de77fc321459ab3789e66e71a699" integrity sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA== dependencies: "@reactflow/core" "11.11.4" @@ -827,7 +1038,7 @@ "@reactflow/controls@11.2.14": version "11.2.14" - resolved "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.14.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/controls/-/controls-11.2.14.tgz#508ed2c40d23341b3b0919dd11e76fd49cf850c7" integrity sha512-MiJp5VldFD7FrqaBNIrQ85dxChrG6ivuZ+dcFhPQUwOK3HfYgX2RHdBua+gx+40p5Vw5It3dVNp/my4Z3jF0dw== dependencies: "@reactflow/core" "11.11.4" @@ -836,7 +1047,7 @@ "@reactflow/core@11.11.4": version "11.11.4" - resolved "https://registry.npmjs.org/@reactflow/core/-/core-11.11.4.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/core/-/core-11.11.4.tgz#89bd86d1862aa1416f3f49926cede7e8c2aab6a7" integrity sha512-H4vODklsjAq3AMq6Np4LE12i1I4Ta9PrDHuBR9GmL8uzTt2l2jh4CiQbEMpvMDcp7xi4be0hgXj+Ysodde/i7Q== dependencies: "@types/d3" "^7.4.0" @@ -851,7 +1062,7 @@ "@reactflow/minimap@11.7.14": version "11.7.14" - resolved "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.14.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/minimap/-/minimap-11.7.14.tgz#298d7a63cb1da06b2518c99744f716560c88ca73" integrity sha512-mpwLKKrEAofgFJdkhwR5UQ1JYWlcAAL/ZU/bctBkuNTT1yqV+y0buoNVImsRehVYhJwffSWeSHaBR5/GJjlCSQ== dependencies: "@reactflow/core" "11.11.4" @@ -864,7 +1075,7 @@ "@reactflow/node-resizer@2.2.14": version "2.2.14" - resolved "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.14.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/node-resizer/-/node-resizer-2.2.14.tgz#1810c0ce51aeb936f179466a6660d1e02c7a77a8" integrity sha512-fwqnks83jUlYr6OHcdFEedumWKChTHRGw/kbCxj0oqBd+ekfs+SIp4ddyNU0pdx96JIm5iNFS0oNrmEiJbbSaA== dependencies: "@reactflow/core" "11.11.4" @@ -875,150 +1086,189 @@ "@reactflow/node-toolbar@1.3.14": version "1.3.14" - resolved "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.14.tgz" + resolved "https://registry.yarnpkg.com/@reactflow/node-toolbar/-/node-toolbar-1.3.14.tgz#c6ffc76f82acacdce654f2160dc9852162d6e7c9" integrity sha512-rbynXQnH/xFNu4P9H+hVqlEUafDCkEoCy0Dg9mG22Sg+rY/0ck6KkrAQrYrTgXusd+cEJOMK0uOOFCK2/5rSGQ== dependencies: "@reactflow/core" "11.11.4" classcat "^5.0.3" zustand "^4.4.1" +"@rolldown/pluginutils@1.0.0-beta.27": + version "1.0.0-beta.27" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz#47d2bf4cef6d470b22f5831b420f8964e0bf755f" + integrity sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA== + "@rollup/pluginutils@^4.1.1": version "4.2.1" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== dependencies: estree-walker "^2.0.1" picomatch "^2.2.2" "@rollup/pluginutils@^5.1.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== + version "5.2.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.2.0.tgz#eac25ca5b0bdda4ba735ddaca5fbf26bd435f602" + integrity sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" - picomatch "^2.3.1" + picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" - integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== +"@rollup/rollup-android-arm-eabi@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz#292e25953d4988d3bd1af0f5ebbd5ee4d65c90b4" + integrity sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA== -"@rollup/rollup-android-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" - integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== +"@rollup/rollup-android-arm64@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz#053b3def3451e6fc1a9078188f22799e868d7c59" + integrity sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ== -"@rollup/rollup-darwin-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz" - integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== +"@rollup/rollup-darwin-arm64@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz#98d90445282dec54fd05440305a5e8df79a91ece" + integrity sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ== -"@rollup/rollup-darwin-x64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz#f64fc51ed12b19f883131ccbcea59fc68cbd6c0b" - integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== +"@rollup/rollup-darwin-x64@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz#fe05f95a736423af5f9c3a59a70f41ece52a1f20" + integrity sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA== -"@rollup/rollup-linux-arm-gnueabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" - integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== +"@rollup/rollup-freebsd-arm64@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz#41e1fbdc1f8c3dc9afb6bc1d6e3fb3104bd81eee" + integrity sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg== -"@rollup/rollup-linux-arm-musleabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" - integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== +"@rollup/rollup-freebsd-x64@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz#69131e69cb149d547abb65ef3b38fc746c940e24" + integrity sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw== -"@rollup/rollup-linux-arm64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" - integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== +"@rollup/rollup-linux-arm-gnueabihf@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz#977ded91c7cf6fc0d9443bb9c0a064e45a805267" + integrity sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA== -"@rollup/rollup-linux-arm64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" - integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== +"@rollup/rollup-linux-arm-musleabihf@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz#dc034fc3c0f0eb5c75b6bc3eca3b0b97fd35f49a" + integrity sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ== -"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" - integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== +"@rollup/rollup-linux-arm64-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz#5e92613768d3de3ffcabc965627dd0a59b3e7dfc" + integrity sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng== -"@rollup/rollup-linux-riscv64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" - integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== +"@rollup/rollup-linux-arm64-musl@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz#2a44f88e83d28b646591df6e50aa0a5a931833d8" + integrity sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg== -"@rollup/rollup-linux-s390x-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" - integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== +"@rollup/rollup-linux-loongarch64-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz#bd5897e92db7fbf7dc456f61d90fff96c4651f2e" + integrity sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA== -"@rollup/rollup-linux-x64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" - integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== +"@rollup/rollup-linux-ppc64-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz#a7065025411c14ad9ec34cc1cd1414900ec2a303" + integrity sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw== + +"@rollup/rollup-linux-riscv64-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz#17f9c0c675e13ef4567cfaa3730752417257ccc3" + integrity sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ== + +"@rollup/rollup-linux-riscv64-musl@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz#bc6ed3db2cedc1ba9c0a2183620fe2f792c3bf3f" + integrity sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw== + +"@rollup/rollup-linux-s390x-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz#440c4f6753274e2928e06d2a25613e5a1cf97b41" + integrity sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA== + +"@rollup/rollup-linux-x64-gnu@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz#1e936446f90b2574ea4a83b4842a762cc0a0aed3" + integrity sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA== "@rollup/rollup-linux-x64-gnu@4.9.5": version "4.9.5" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz#85946ee4d068bd12197aeeec2c6f679c94978a49" integrity sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA== -"@rollup/rollup-linux-x64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" - integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== +"@rollup/rollup-linux-x64-musl@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz#c6f304dfba1d5faf2be5d8b153ccbd8b5d6f1166" + integrity sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA== -"@rollup/rollup-win32-arm64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" - integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== +"@rollup/rollup-win32-arm64-msvc@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz#b4ad4a79219892aac112ed1c9d1356cad0566ef5" + integrity sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g== -"@rollup/rollup-win32-ia32-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" - integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== +"@rollup/rollup-win32-ia32-msvc@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz#b1b22eb2a9568048961e4a6f540438b4a762aa62" + integrity sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ== -"@rollup/rollup-win32-x64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" - integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== +"@rollup/rollup-win32-x64-msvc@4.46.2": + version "4.46.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz#87079f137b5fdb75da11508419aa998cc8cc3d8b" + integrity sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg== "@shopify/draggable@^1.1.3": - version "1.1.3" - resolved "https://registry.npmjs.org/@shopify/draggable/-/draggable-1.1.3.tgz" - integrity sha512-okZG6FTOX1HpfToN2uFVXTicum+NtHFGEY+0MFkZsdChP5qvLSlkffQormMxoDQVIDsK+jso3yz03tteIJ/A0w== + version "1.1.4" + resolved "https://registry.yarnpkg.com/@shopify/draggable/-/draggable-1.1.4.tgz#e3a4f1dae67681ac516d00a8f94987fac39c77e3" + integrity sha512-EkXxBtQH119pGpLWhhhIPEdaeirGcVwkh6Nft1nqbMdM4N6b4r4v9wCmR1/r2gjTwu888I6qGI0VSlhoYivbYw== -"@sindresorhus/merge-streams@^2.1.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz" - integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" "@tailwindcss/aspect-ratio@^0.4.2": version "0.4.2" - resolved "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz" + resolved "https://registry.yarnpkg.com/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz#9ffd52fee8e3c8b20623ff0dcb29e5c21fb0a9ba" integrity sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ== "@tailwindcss/forms@^0.5.7": - version "0.5.7" - resolved "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz" - integrity sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw== + version "0.5.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.10.tgz#0a1cd67b6933402f1985a04595bd24f9785aa302" + integrity sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw== dependencies: mini-svg-data-uri "^1.2.3" "@tailwindcss/typography@^0.5.13": - version "0.5.13" - resolved "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz" - integrity sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw== + version "0.5.16" + resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.16.tgz#a926c8f44d5c439b2915e231cad80058850047c6" + integrity sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA== dependencies: lodash.castarray "^4.4.0" lodash.isplainobject "^4.0.6" lodash.merge "^4.6.2" postcss-selector-parser "6.0.10" -"@types/babel__core@^7.20.5": +"@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -1028,59 +1278,59 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*": - version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" + integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.28.2" "@types/d3-array@*": version "3.2.1" - resolved "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.1.tgz#1f6658e3d2006c4fceac53fde464166859f8b8c5" integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg== "@types/d3-axis@*": version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.6.tgz#e760e5765b8188b1defa32bc8bb6062f81e4c795" integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw== dependencies: "@types/d3-selection" "*" "@types/d3-brush@*": version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.6.tgz#c2f4362b045d472e1b186cdbec329ba52bdaee6c" integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A== dependencies: "@types/d3-selection" "*" "@types/d3-chord@*": version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.6.tgz#1706ca40cf7ea59a0add8f4456efff8f8775793d" integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg== "@types/d3-color@*": version "3.1.3" - resolved "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== "@types/d3-contour@*": version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.6.tgz#9ada3fa9c4d00e3a5093fed0356c7ab929604231" integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== dependencies: "@types/d3-array" "*" @@ -1088,136 +1338,136 @@ "@types/d3-delaunay@*": version "6.0.4" - resolved "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1" integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== "@types/d3-dispatch@*": - version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz" - integrity sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz#ef004d8a128046cfce434d17182f834e44ef95b2" + integrity sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA== "@types/d3-drag@*", "@types/d3-drag@^3.0.1": version "3.0.7" - resolved "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.7.tgz#b13aba8b2442b4068c9a9e6d1d82f8bcea77fc02" integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ== dependencies: "@types/d3-selection" "*" "@types/d3-dsv@*": version "3.0.7" - resolved "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz#0a351f996dc99b37f4fa58b492c2d1c04e3dac17" integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g== "@types/d3-ease@*": version "3.0.2" - resolved "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b" integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA== "@types/d3-fetch@*": version "3.0.7" - resolved "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz#c04a2b4f23181aa376f30af0283dbc7b3b569980" integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA== dependencies: "@types/d3-dsv" "*" "@types/d3-force@*": - version "3.0.9" - resolved "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz" - integrity sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.10.tgz#6dc8fc6e1f35704f3b057090beeeb7ac674bff1a" + integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== "@types/d3-format@*": version "3.0.4" - resolved "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.4.tgz#b1e4465644ddb3fdf3a263febb240a6cd616de90" integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g== "@types/d3-geo@*": version "3.1.0" - resolved "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.1.0.tgz#b9e56a079449174f0a2c8684a9a4df3f60522440" integrity sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ== dependencies: "@types/geojson" "*" "@types/d3-hierarchy@*": version "3.1.7" - resolved "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz#6023fb3b2d463229f2d680f9ac4b47466f71f17b" integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg== "@types/d3-interpolate@*": version "3.0.4" - resolved "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== dependencies: "@types/d3-color" "*" "@types/d3-path@*": - version "3.1.0" - resolved "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz" - integrity sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a" + integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg== "@types/d3-polygon@*": version "3.0.2" - resolved "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz#dfae54a6d35d19e76ac9565bcb32a8e54693189c" integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA== "@types/d3-quadtree@*": version "3.0.6" - resolved "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz#d4740b0fe35b1c58b66e1488f4e7ed02952f570f" integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg== "@types/d3-random@*": version "3.0.3" - resolved "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.3.tgz#ed995c71ecb15e0cd31e22d9d5d23942e3300cfb" integrity sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ== "@types/d3-scale-chromatic@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz" - integrity sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#dc6d4f9a98376f18ea50bad6c39537f1b5463c39" + integrity sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ== "@types/d3-scale@*": - version "4.0.8" - resolved "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz" - integrity sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ== + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb" + integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw== dependencies: "@types/d3-time" "*" "@types/d3-selection@*", "@types/d3-selection@^3.0.3": - version "3.0.10" - resolved "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz" - integrity sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg== + version "3.0.11" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.11.tgz#bd7a45fc0a8c3167a631675e61bc2ca2b058d4a3" + integrity sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w== "@types/d3-shape@*": - version "3.1.6" - resolved "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz" - integrity sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA== + version "3.1.7" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.7.tgz#2b7b423dc2dfe69c8c93596e673e37443348c555" + integrity sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg== dependencies: "@types/d3-path" "*" "@types/d3-time-format@*": version "4.0.3" - resolved "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz#d6bc1e6b6a7db69cccfbbdd4c34b70632d9e9db2" integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg== "@types/d3-time@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz" - integrity sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f" + integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g== "@types/d3-timer@*": version "3.0.2" - resolved "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70" integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== "@types/d3-transition@*": - version "3.0.8" - resolved "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz" - integrity sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ== + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.9.tgz#1136bc57e9ddb3c390dccc9b5ff3b7d2b8d94706" + integrity sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg== dependencies: "@types/d3-selection" "*" "@types/d3-zoom@*", "@types/d3-zoom@^3.0.1": version "3.0.8" - resolved "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz" + resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz#dccb32d1c56b1e1c6e0f1180d994896f038bc40b" integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw== dependencies: "@types/d3-interpolate" "*" @@ -1225,7 +1475,7 @@ "@types/d3@^7.4.0": version "7.4.3" - resolved "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.3.tgz#d4550a85d08f4978faf0a4c36b848c61eaac07e2" integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== dependencies: "@types/d3-array" "*" @@ -1273,15 +1523,22 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/geojson@*": - version "7946.0.14" - resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz" - integrity sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg== + version "7946.0.16" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.16.tgz#8ebe53d69efada7044454e3305c19017d97ced2a" + integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" "@types/hast@^3.0.0": version "3.0.4" @@ -1290,29 +1547,56 @@ dependencies: "@types/unist" "*" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.12": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + "@types/json-schema@^7.0.12": version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/lodash.debounce@^4.0.9": version "4.0.9" - resolved "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz" + resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz#0f5f21c507bce7521b5e30e7a24440975ac860a5" integrity sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ== dependencies: "@types/lodash" "*" "@types/lodash.isequal@^4.5.8": version "4.5.8" - resolved "https://registry.npmjs.org/@types/lodash.isequal/-/lodash.isequal-4.5.8.tgz" + resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.8.tgz#b30bb6ff6a5f6c19b3daf389d649ac7f7a250499" integrity sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA== dependencies: "@types/lodash" "*" "@types/lodash@*": - version "4.17.7" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz" - integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.20.tgz#1ca77361d7363432d29f5e55950d9ec1e1c6ea93" + integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA== "@types/mdast@^4.0.0": version "4.0.4" @@ -1326,54 +1610,50 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== +"@types/node@*": + version "24.2.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.2.1.tgz#83e41543f0a518e006594bb394e2cd961de56727" + integrity sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ== + dependencies: + undici-types "~7.10.0" + "@types/prop-types@*": - version "15.7.11" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "15.7.15" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" + integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== "@types/react-dom@^18.3.1": - version "18.3.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" - integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== + version "18.3.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f" + integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== "@types/react-transition-group@^4.4.1": - version "4.4.10" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.0" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz" - integrity sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== "@types/react@^18.3.12": - version "18.3.18" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b" - integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ== + version "18.3.23" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.23.tgz#86ae6f6b95a48c418fecdaccc8069e0fbb63696a" + integrity sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w== dependencies: "@types/prop-types" "*" csstype "^3.0.2" "@types/resize-observer-browser@^0.1.7": version "0.1.11" - resolved "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.11.tgz" + resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.11.tgz#d3c98d788489d8376b7beac23863b1eebdd3c13c" integrity sha512-cNw5iH8JkMkb3QkCoe7DaZiawbDQEUX8t7iuQaRTyLOyQCR2h+ibBD4GJt7p5yhUHrlOeL7ZtbxNHeipqNsBzQ== -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" + integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/unist@*", "@types/unist@^3.0.0": version "3.0.3" @@ -1385,9 +1665,21 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/eslint-plugin@^6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== dependencies: "@eslint-community/regexpp" "^4.5.1" @@ -1404,7 +1696,7 @@ "@typescript-eslint/parser@^6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== dependencies: "@typescript-eslint/scope-manager" "6.21.0" @@ -1415,7 +1707,7 @@ "@typescript-eslint/scope-manager@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== dependencies: "@typescript-eslint/types" "6.21.0" @@ -1423,7 +1715,7 @@ "@typescript-eslint/type-utils@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== dependencies: "@typescript-eslint/typescript-estree" "6.21.0" @@ -1433,12 +1725,12 @@ "@typescript-eslint/types@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== "@typescript-eslint/typescript-estree@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== dependencies: "@typescript-eslint/types" "6.21.0" @@ -1452,7 +1744,7 @@ "@typescript-eslint/utils@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" @@ -1465,16 +1757,16 @@ "@typescript-eslint/visitor-keys@6.21.0": version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== dependencies: "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@uiw/codemirror-extensions-basic-setup@4.23.10": - version "4.23.10" - resolved "https://registry.yarnpkg.com/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.23.10.tgz#e5d901e860a039ac61d955af26a12866e9dc356c" - integrity sha512-zpbmSeNs3OU/f/Eyd6brFnjsBUYwv2mFjWxlAsIRSwTlW+skIT60rQHFBSfsj/5UVSxSLWVeUYczN7AyXvgTGQ== +"@uiw/codemirror-extensions-basic-setup@4.24.2": + version "4.24.2" + resolved "https://registry.yarnpkg.com/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.24.2.tgz#07393837a46f9340cdc9e0b2cde1e2cb87e857eb" + integrity sha512-wW/gjLRvVUeYyhdh2TApn25cvdcR+Rhg6R/j3eTOvXQzU1HNzNYCVH4YKVIfgtfdM/Xs+N8fkk+rbr1YvBppCg== dependencies: "@codemirror/autocomplete" "^6.0.0" "@codemirror/commands" "^6.0.0" @@ -1485,30 +1777,25 @@ "@codemirror/view" "^6.0.0" "@uiw/react-codemirror@^4.23.10": - version "4.23.10" - resolved "https://registry.yarnpkg.com/@uiw/react-codemirror/-/react-codemirror-4.23.10.tgz#2e34aec4f65f901ed8e9b8a22e28f2177addce69" - integrity sha512-AbN4eVHOL4ckRuIXpZxkzEqL/1ChVA+BSdEnAKjIB68pLQvKsVoYbiFP8zkXkYc4+Fcgq5KbAjvYqdo4ewemKw== + version "4.24.2" + resolved "https://registry.yarnpkg.com/@uiw/react-codemirror/-/react-codemirror-4.24.2.tgz#fef46b32c52e1ba54dd26caf626fd51d7f37b087" + integrity sha512-kp7DhTq4RR+M2zJBQBrHn1dIkBrtOskcwJX4vVsKGByReOvfMrhqRkGTxYMRDTX6x75EG2mvBJPDKYcUQcHWBw== dependencies: "@babel/runtime" "^7.18.6" "@codemirror/commands" "^6.1.0" "@codemirror/state" "^6.1.1" "@codemirror/theme-one-dark" "^6.0.0" - "@uiw/codemirror-extensions-basic-setup" "4.23.10" + "@uiw/codemirror-extensions-basic-setup" "4.24.2" codemirror "^6.0.0" -"@ungap/structured-clone@^1.0.0": +"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - "@vitejs/plugin-react-refresh@^1.3.6": version "1.3.6" - resolved "https://registry.npmjs.org/@vitejs/plugin-react-refresh/-/plugin-react-refresh-1.3.6.tgz" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-refresh/-/plugin-react-refresh-1.3.6.tgz#19818392db01e81746cfeb04e096ab3010e79fe3" integrity sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA== dependencies: "@babel/core" "^7.14.8" @@ -1518,29 +1805,30 @@ react-refresh "^0.10.0" "@vitejs/plugin-react@^4.3.3": - version "4.3.4" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20" - integrity sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz#647af4e7bb75ad3add578e762ad984b90f4a24b9" + integrity sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA== dependencies: - "@babel/core" "^7.26.0" - "@babel/plugin-transform-react-jsx-self" "^7.25.9" - "@babel/plugin-transform-react-jsx-source" "^7.25.9" + "@babel/core" "^7.28.0" + "@babel/plugin-transform-react-jsx-self" "^7.27.1" + "@babel/plugin-transform-react-jsx-source" "^7.27.1" + "@rolldown/pluginutils" "1.0.0-beta.27" "@types/babel__core" "^7.20.5" - react-refresh "^0.14.2" + react-refresh "^0.17.0" acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.4.0, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1548,33 +1836,48 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - 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== - dependencies: - color-convert "^1.9.0" +ansi-regex@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== -anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -1582,42 +1885,51 @@ anymatch@~3.1.2: arg@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" -array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.8" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.9" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" + integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + get-intrinsic "^1.3.0" + is-string "^1.1.1" + math-intrinsics "^1.1.0" array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlast@^1.2.4: +array.prototype.findlast@^1.2.5: version "1.2.5" - resolved "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== dependencies: call-bind "^1.0.7" @@ -1628,79 +1940,136 @@ array.prototype.findlast@^1.2.4: es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz" - integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== - dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.1.0" + es-abstract "^1.23.5" es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== +array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + version "10.4.21" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" + integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" + browserslist "^4.24.4" + caniuse-lite "^1.0.30001702" fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.0" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" available-typed-arrays@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== dependencies: possible-typed-array-names "^1.0.0" +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" + integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@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-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + bail@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" @@ -1708,109 +2077,134 @@ bail@^2.0.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + version "1.1.12" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +browserslist@^4.24.0, browserslist@^4.24.4: + version "4.25.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.2.tgz#90c1507143742d743544ae6e92bca3348adff667" + integrity sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.24.0: - version "4.24.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" - integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== - dependencies: - caniuse-lite "^1.0.30001688" - electron-to-chromium "^1.5.73" + caniuse-lite "^1.0.30001733" + electron-to-chromium "^1.5.199" node-releases "^2.0.19" - update-browserslist-db "^1.1.1" + update-browserslist-db "^1.1.3" -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +bs-logger@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001696" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001696.tgz" - integrity sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ== +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001688: - version "1.0.30001697" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz#040bbbb54463c4b4b3377c716b34a322d16e6fc7" - integrity sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ== +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001733: + version "1.0.30001734" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001734.tgz#f97e08599e2d75664543ae4b6ef25dc2183c5cc6" + integrity sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A== ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^4.0.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + character-entities-html4@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" @@ -1833,12 +2227,12 @@ character-reference-invalid@^2.0.0: child_process@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/child_process/-/child_process-1.0.2.tgz#b1f7e7fc73d25e7fd1d455adc94e143830182b5a" integrity sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.3.0, chokidar@^3.5.3: +chokidar@^3.3.0, chokidar@^3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -1851,14 +2245,31 @@ child_process@^1.0.2: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" + integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== + classcat@^5.0.3, classcat@^5.0.4: version "5.0.5" - resolved "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz" + resolved "https://registry.yarnpkg.com/classcat/-/classcat-5.0.5.tgz#8c209f359a93ac302404a10161b501eba9c09c77" integrity sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w== cliui@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -1867,13 +2278,18 @@ cliui@^8.0.1: clsx@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + codemirror@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29" - integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.2.tgz#4d3fea1ad60b6753f97ca835f2f48c6936a8946e" + integrity sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw== dependencies: "@codemirror/autocomplete" "^6.0.0" "@codemirror/commands" "^6.0.0" @@ -1883,28 +2299,21 @@ codemirror@^6.0.0: "@codemirror/state" "^6.0.0" "@codemirror/view" "^6.0.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== comma-separated-tokens@^2.0.0: @@ -1914,28 +2323,41 @@ comma-separated-tokens@^2.0.0: commander@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -crelt@^1.0.5: +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +crelt@^1.0.5, crelt@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -1943,7 +2365,7 @@ cross-spawn@^7.0.2: css-selector-tokenizer@^0.8: version "0.8.0" - resolved "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd" integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg== dependencies: cssesc "^3.0.0" @@ -1951,32 +2373,32 @@ css-selector-tokenizer@^0.8: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== csstype@^3.0.2: version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== culori@^3: version "3.3.0" - resolved "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/culori/-/culori-3.3.0.tgz#e33530adbd124d53bd6550394397e695eaaed739" integrity sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ== "d3-color@1 - 3": version "3.1.0" - resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== "d3-dispatch@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== "d3-drag@2 - 3", d3-drag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== dependencies: d3-dispatch "1 - 3" @@ -1984,29 +2406,29 @@ culori@^3: "d3-ease@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== "d3-interpolate@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== dependencies: d3-color "1 - 3" "d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== "d3-timer@1 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== "d3-transition@2 - 3": version "3.0.1" - resolved "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== dependencies: d3-color "1 - 3" @@ -2017,7 +2439,7 @@ culori@^3: d3-zoom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== dependencies: d3-dispatch "1 - 3" @@ -2027,96 +2449,109 @@ d3-zoom@^3.0.0: d3-transition "2 - 3" daisyui@^4.11.1: - version "4.11.1" - resolved "https://registry.npmjs.org/daisyui/-/daisyui-4.11.1.tgz" - integrity sha512-obT9CUbQdW6eoHwSeT5VwaRrWlwrM4OT5qlfdJ0oQlSIEYhwnEl2+L2fwu5PioLbitwuMdYC2X8I1cyy8Pf6LQ== + version "4.12.24" + resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-4.12.24.tgz#f98d26f8032335d4bfacb85f75af75341815dae8" + integrity sha512-JYg9fhQHOfXyLadrBrEqCDM6D5dWCSSiM6eTNCRrBRzx/VlOCrLS8eDfIw9RVvs64v2mJdLooKXY8EwQzoszAA== dependencies: css-selector-tokenizer "^0.8" culori "^3" picocolors "^1" postcss-js "^4" -data-view-buffer@^1.0.1: +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -debug@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: ms "^2.1.3" -debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - decode-named-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" - integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== + version "1.2.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz#25c32ae6dd5e21889549d40f676030e9514cc0ed" + integrity sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q== dependencies: character-entities "^2.0.0" +dedent@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.6.0.tgz#79d52d6389b1ffa67d2bcef59ba51847a9d503b2" + integrity sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA== + deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" -dependency-graph@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz" - integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== +dependency-graph@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-1.0.0.tgz#bb5e85aec1310bc13b22dbd76e3196c4ee4c10d2" + integrity sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg== dequal@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" @@ -2126,226 +2561,261 @@ devlop@^1.0.0, devlop@^1.1.0: didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -electron-to-chromium@^1.4.668: - version "1.4.722" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.722.tgz" - integrity sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ== +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" -electron-to-chromium@^1.5.73: - version "1.5.91" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.91.tgz#cf5567f6853062493242133aefd4dc8dc8440abd" - integrity sha512-sNSHHyq048PFmZY4S90ax61q+gLCs0X0YmcOII9wG9S2XwbVr+h4VW2wWhnbp/Eys3cCwTxVF292W3qPaxIapQ== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.5.199: + version "1.5.199" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.199.tgz#4d8be9c78362c05f095eb7392e9a54f1fb14fd3a" + integrity sha512-3gl0S7zQd88kCAZRO/DnxtBKuhMO4h0EaQIN3YgZfV6+pW+5+bf2AdQeHNESCoaQqo/gjGVYEf2YM4O5HJQqpQ== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: - version "1.23.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + is-arrayish "^0.2.1" + +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" + integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" + is-data-view "^1.0.2" is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-iterator-helpers@^1.0.17: - version "1.0.19" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz" - integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.3" + es-abstract "^1.23.6" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" + get-intrinsic "^1.2.6" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.2" - safe-array-concat "^1.1.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" es-module-lexer@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - get-intrinsic "^1.2.4" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" has-tostringtag "^1.0.2" - hasown "^2.0.1" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== +es-shim-unscopables@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" -esbuild@^0.20.1: - version "0.20.2" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" - integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== optionalDependencies: - "@esbuild/aix-ppc64" "0.20.2" - "@esbuild/android-arm" "0.20.2" - "@esbuild/android-arm64" "0.20.2" - "@esbuild/android-x64" "0.20.2" - "@esbuild/darwin-arm64" "0.20.2" - "@esbuild/darwin-x64" "0.20.2" - "@esbuild/freebsd-arm64" "0.20.2" - "@esbuild/freebsd-x64" "0.20.2" - "@esbuild/linux-arm" "0.20.2" - "@esbuild/linux-arm64" "0.20.2" - "@esbuild/linux-ia32" "0.20.2" - "@esbuild/linux-loong64" "0.20.2" - "@esbuild/linux-mips64el" "0.20.2" - "@esbuild/linux-ppc64" "0.20.2" - "@esbuild/linux-riscv64" "0.20.2" - "@esbuild/linux-s390x" "0.20.2" - "@esbuild/linux-x64" "0.20.2" - "@esbuild/netbsd-x64" "0.20.2" - "@esbuild/openbsd-x64" "0.20.2" - "@esbuild/sunos-x64" "0.20.2" - "@esbuild/win32-arm64" "0.20.2" - "@esbuild/win32-ia32" "0.20.2" - "@esbuild/win32-x64" "0.20.2" + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escalade@^3.2.0: +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: @@ -2354,75 +2824,75 @@ escape-string-regexp@^5.0.0: integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== eslint-config-prettier@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + version "9.1.2" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz#90deb4fa0259592df774b600dbd1d2249a78ce91" + integrity sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ== eslint-plugin-prettier@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== + version "5.5.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#9d61c4ea11de5af704d4edf108c82ccfa7f2e61c" + integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + synckit "^0.11.7" eslint-plugin-react-hooks@^4.6.0: version "4.6.2" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react-refresh@^0.4.6: - version "0.4.7" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz" - integrity sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw== + version "0.4.20" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz#3bbfb5c8637e28d19ce3443686445e502ecd18ba" + integrity sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA== eslint-plugin-react@^7.34.1: - version "7.34.1" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz" - integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== + version "7.37.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" + integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== dependencies: - array-includes "^3.1.7" - array.prototype.findlast "^1.2.4" - array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" - array.prototype.tosorted "^1.1.3" + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.17" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - object.hasown "^1.1.3" - object.values "^1.1.7" + object.entries "^1.1.9" + object.fromentries "^2.0.8" + object.values "^1.2.1" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.10" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.57.0: - version "8.57.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -2459,30 +2929,35 @@ eslint@^8.57.0: espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-is-identifier-name@^3.0.0: @@ -2492,21 +2967,52 @@ estree-util-is-identifier-name@^3.0.0: estree-walker@^2.0.1, estree-walker@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== estree-walker@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -2514,64 +3020,84 @@ extend@^3.0.0: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastparse@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fdir@^6.4.4: + version "6.4.6" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" + integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== + file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -2579,7 +3105,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" @@ -2587,25 +3113,33 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: - is-callable "^1.1.3" + is-callable "^1.2.7" + +foreground-child@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== + dependencies: + cross-spawn "^7.0.6" + signal-exit "^4.0.1" fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fs-extra@^10.0.0: version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -2613,9 +3147,9 @@ fs-extra@^10.0.0: universalify "^2.0.0" fs-extra@^11.0.0: - version "11.2.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.1.tgz#ba7a1f97a85f94c6db2e52ff69570db3671d5a74" + integrity sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -2623,98 +3157,118 @@ fs-extra@^11.0.0: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2, fsevents@~2.3.3: +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" -get-stdin@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz" - integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== dependencies: - call-bind "^1.0.5" + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@7.1.6: - version "7.1.6" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" -glob@^7.1.3: +glob@^7.1.3, glob@^7.1.4: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -2724,21 +3278,16 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globals@^13.19.0: version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: +globalthis@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: define-properties "^1.2.1" @@ -2746,7 +3295,7 @@ globalthis@^1.0.3: globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -2756,84 +3305,72 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^14.0.0: - version "14.0.1" - resolved "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz" - integrity sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== - dependencies: - "@sindresorhus/merge-streams" "^2.1.0" - fast-glob "^3.3.2" - ignore "^5.2.4" - path-type "^5.0.0" - slash "^5.1.0" - unicorn-magic "^0.1.0" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +handlebars@^4.7.8: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" @@ -2867,41 +3404,59 @@ hast-util-whitespace@^3.0.0: "@types/hast" "^3.0.0" heroicons@^2.0.18: - version "2.1.3" - resolved "https://registry.npmjs.org/heroicons/-/heroicons-2.1.3.tgz" - integrity sha512-Fom8AaUho83oeGPCne9oo1F6A+2r4BPmY59qOkML4LIu+xQNS/yv8OmcrxCuiVs7X42oTRAnFbOJHGDwIlI8HA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/heroicons/-/heroicons-2.2.0.tgz#f1f554155152b4ec4d1b7165363d7c583690f77d" + integrity sha512-yOwvztmNiBWqR946t+JdgZmyzEmnRMC2nxvHFC90bF1SUttwB6yJKYeme1JeEcBfobdOs827nCyiWBS2z/brog== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-url-attributes@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.1.tgz#83b052cd5e437071b756cd74ae70f708870c2d87" integrity sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ== -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -immutable@^4.0.0: - version "4.3.6" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immutable@^5.0.2: + version "5.1.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.3.tgz#e6486694c8b76c37c063cca92399fa64098634d4" + integrity sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg== import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -2909,7 +3464,7 @@ inflight@^1.0.4: inherits@2: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inline-style-parser@0.2.4: @@ -2917,14 +3472,14 @@ inline-style-parser@0.2.4: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" is-alphabetical@^2.0.0: version "2.0.1" @@ -2939,68 +3494,81 @@ is-alphanumerical@^2.0.0: is-alphabetical "^2.0.0" is-decimal "^2.0.0" -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - has-tostringtag "^1.0.0" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== +is-core-module@^2.13.0, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-decimal@^2.0.0: version "2.0.1" @@ -3009,31 +3577,39 @@ is-decimal@^2.0.0: is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + is-generator-function@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -3045,34 +3621,35 @@ is-hexadecimal@^2.0.0: is-map@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== is-negative-zero@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^4.0.0: @@ -3081,116 +3658,550 @@ is-plain-obj@^4.0.0: integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-reference@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.3.tgz#9ef7bf9029c70a67b2152da4adf57c23d718910f" + integrity sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw== dependencies: - "@types/estree" "*" + "@types/estree" "^1.0.6" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-set@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: +is-shared-array-buffer@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.3" -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - which-typed-array "^1.1.14" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" is-weakmap@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -jiti@^1.19.1: - version "1.21.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== + dependencies: + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + 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" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +jiti@^1.21.6: + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - jsesc@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" @@ -3198,27 +4209,32 @@ jsesc@^3.0.2: json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -3227,7 +4243,7 @@ jsonfile@^6.0.1: "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== dependencies: array-includes "^3.1.6" @@ -3237,72 +4253,84 @@ jsonfile@^6.0.1: keyv@^4.5.3: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - -lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== +lilconfig@^3.0.0, lilconfig@^3.1.1, lilconfig@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== "live_select@file:../deps/live_select": version "1.5.4" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.castarray@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== longest-streak@^3.0.0: @@ -3312,44 +4340,66 @@ longest-streak@^3.0.0: loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - magic-string@^0.25.7: version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== dependencies: sourcemap-codec "^1.4.8" magic-string@^0.30.5: - version "0.30.10" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz" - integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" + "@jridgewell/sourcemap-codec" "^1.5.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" markdown-table@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + mdast-util-find-and-replace@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" @@ -3540,14 +4590,19 @@ mdast-util-to-string@^4.0.0: merge-options@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== dependencies: is-plain-obj "^2.1.0" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromark-core-commonmark@^2.0.0: @@ -3823,43 +4878,60 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mini-svg-data-uri@^1.2.3: version "1.4.4" - resolved "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz" + resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== minimatch@9.0.3: version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== dependencies: brace-expansion "^2.0.1" minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.5: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + morphdom@2.7.4: version "2.7.4" resolved "https://registry.yarnpkg.com/morphdom/-/morphdom-2.7.4.tgz#c61d511e935cc25ca588dfaa752461f27865865e" integrity sha512-ATTbWMgGa+FaMU3FhnFYB6WgulCqwf6opOll4CBzmVDTLvPMmUPrEv8CudmLPK0MESa64+6B89fWOxP3+YIlxQ== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -3867,32 +4939,37 @@ ms@^2.1.3: mz@^2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.19: version "2.0.19" @@ -3901,56 +4978,66 @@ node-releases@^2.0.19: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.7: - version "1.1.8" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz" - integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== - dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" -object.fromentries@^2.0.7: +object.entries@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" + integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-object-atoms "^1.1.1" + +object.fromentries@^2.0.8: version "2.0.8" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: call-bind "^1.0.7" @@ -3958,60 +5045,92 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.hasown@^1.1.3: - version "1.1.4" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz" - integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== +object.values@^1.1.6, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.values@^1.1.6, object.values@^1.1.7: - version "1.2.0" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" -p-limit@^3.0.2: +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" @@ -4029,36 +5148,49 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path-type@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz" - integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== - "phoenix@file:../deps/phoenix": version "1.7.20" @@ -4070,57 +5202,63 @@ path-type@^5.0.0: dependencies: morphdom "2.7.4" -picocolors@^1, picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.1.1: +picocolors@^1, picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + pify@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== +pirates@^4.0.1, pirates@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== postcss-cli@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz" - integrity sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA== + version "11.0.1" + resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-11.0.1.tgz#341188ff7b26b19b206ca923ae2bd979751e7da7" + integrity sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g== dependencies: chokidar "^3.3.0" - dependency-graph "^0.11.0" + dependency-graph "^1.0.0" fs-extra "^11.0.0" - get-stdin "^9.0.0" - globby "^14.0.0" picocolors "^1.0.0" postcss-load-config "^5.0.0" postcss-reporter "^7.0.0" pretty-hrtime "^1.0.3" read-cache "^1.0.0" slash "^5.0.0" + tinyglobby "^0.2.12" yargs "^17.0.0" postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -4128,9 +5266,9 @@ postcss-import@^15.1.0: resolve "^1.1.7" postcss-import@^16.1.0: - version "16.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-16.1.0.tgz" - integrity sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg== + version "16.1.1" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-16.1.1.tgz#cfbe79e6c9232b0dbbe1c18f35308825cfe8ff2a" + integrity sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ== dependencies: postcss-value-parser "^4.0.0" read-cache "^1.0.0" @@ -4138,14 +5276,14 @@ postcss-import@^16.1.0: postcss-js@^4, postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" -postcss-load-config@^4.0.1: +postcss-load-config@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: lilconfig "^3.0.0" @@ -4153,22 +5291,22 @@ postcss-load-config@^4.0.1: postcss-load-config@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-5.1.0.tgz#4ded23410da973e05edae9d41fa99bb5c1d5477f" integrity sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA== dependencies: lilconfig "^3.1.1" yaml "^2.4.2" -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== +postcss-nested@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== dependencies: - postcss-selector-parser "^6.0.11" + postcss-selector-parser "^6.1.1" postcss-reporter@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-7.1.0.tgz#5ec476d224e2fe25a054e3c66d9b2901d4fab422" integrity sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA== dependencies: picocolors "^1.0.0" @@ -4176,64 +5314,73 @@ postcss-reporter@^7.0.0: postcss-selector-parser@6.0.10: version "6.0.10" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.11: - version "6.0.13" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== +postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.23, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== +postcss@^8.4.38, postcss@^8.4.43, postcss@^8.4.47: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" pretty-hrtime@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== primeflex@^3.3.1: version "3.3.1" - resolved "https://registry.npmjs.org/primeflex/-/primeflex-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/primeflex/-/primeflex-3.3.1.tgz#361dddf6eb5db50d733e4cddd4b6e376a3d7bd68" integrity sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ== primeicons@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/primeicons/-/primeicons-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/primeicons/-/primeicons-7.0.0.tgz#6b25c3fdcb29bb745a3035bdc1ed5902f4a419cf" integrity sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw== primereact@10.6.5: @@ -4249,9 +5396,17 @@ prism-themes@^1.9.0: resolved "https://registry.yarnpkg.com/prism-themes/-/prism-themes-1.9.0.tgz#19c034f3205f1e28d75d89728e54ccd745f7e3dd" integrity sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw== +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -4259,18 +5414,23 @@ prop-types@^15.6.2, prop-types@^15.8.1: react-is "^16.13.1" property-information@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.0.0.tgz#3508a6d6b0b8eb3ca6eb2c6623b164d2ed2ab112" - integrity sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg== + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== react-dom@18.3.1, react-dom@^18.3.1: @@ -4282,9 +5442,9 @@ react-dom@18.3.1, react-dom@^18.3.1: scheduler "^0.23.2" react-error-boundary@^4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz" - integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== + version "4.1.2" + resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.1.2.tgz#bc750ad962edb8b135d6ae922c046051eb58f289" + integrity sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag== dependencies: "@babel/runtime" "^7.12.5" @@ -4295,7 +5455,7 @@ react-event-hook@^3.1.2: react-flow-renderer@^10.3.17: version "10.3.17" - resolved "https://registry.npmjs.org/react-flow-renderer/-/react-flow-renderer-10.3.17.tgz" + resolved "https://registry.yarnpkg.com/react-flow-renderer/-/react-flow-renderer-10.3.17.tgz#06d6ecef5559ba5d3e64d2c8dcb74c43071d62b1" integrity sha512-bywiqVErlh5kCDqw3x0an5Ur3mT9j9CwJsDwmhmz4i1IgYM1a0SPqqEhClvjX+s5pU4nHjmVaGXWK96pwsiGcQ== dependencies: "@babel/runtime" "^7.18.9" @@ -4308,15 +5468,20 @@ react-flow-renderer@^10.3.17: zustand "^3.7.2" react-hook-form@^7.53.1: - version "7.53.1" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.53.1.tgz#3f2cd1ed2b3af99416a4ac674da2d526625add67" - integrity sha512-6aiQeBda4zjcuaugWvim9WsGqisoUk+etmFEsSUMm451/Ic8L/UAb7sRtMj3V+Hdzm6mMjU1VhiSzYUZeBm0Vg== + version "7.62.0" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.62.0.tgz#2d81e13c2c6b6d636548e440818341ca753218d0" + integrity sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA== react-is@^16.13.1: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-markdown@^10.0.1: version "10.1.0" resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-10.1.0.tgz#e22bc20faddbc07605c15284255653c0f3bad5ca" @@ -4336,17 +5501,17 @@ react-markdown@^10.0.1: react-refresh@^0.10.0: version "0.10.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.10.0.tgz#2f536c9660c0b9b1d500684d9e52a65e7404f7e3" integrity sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ== -react-refresh@^0.14.2: - version "0.14.2" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz" - integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== +react-refresh@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.17.0.tgz#b7e579c3657f23d04eccbe4ad2e58a8ed51e7e53" + integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== react-transition-group@^4.4.1, react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -4356,7 +5521,7 @@ react-transition-group@^4.4.1, react-transition-group@^4.4.5: react-usestateref@^1.0.9: version "1.0.9" - resolved "https://registry.npmjs.org/react-usestateref/-/react-usestateref-1.0.9.tgz" + resolved "https://registry.yarnpkg.com/react-usestateref/-/react-usestateref-1.0.9.tgz#d40bc54db116e786b6b2bb1cd20fe06e7f8187f3" integrity sha512-t8KLsI7oje0HzfzGhxFXzuwbf1z9vhBM1ptHLUIHhYqZDKFuI5tzdhEVxSNzUkYxwF8XdpOErzHlKxvP7sTERw== react@18.3.1, react@^18.3.1: @@ -4380,45 +5545,48 @@ reactflow@^11.11.4: read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.23.1" + es-abstract "^1.23.9" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== +regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.8" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" remark-breaks@^4.0.0: version "4.0.0" @@ -4452,9 +5620,9 @@ remark-parse@^11.0.0: unified "^11.0.0" remark-rehype@^11.0.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.1.tgz#f864dd2947889a11997c0a2667cd6b38f685bca7" - integrity sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ== + version "11.1.2" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -4473,26 +5641,43 @@ remark-stringify@^11.0.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.1.7, resolve@^1.22.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== + +resolve@^1.1.7, resolve@^1.20.0, resolve@^1.22.8: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.5: version "2.0.0-next.5" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: is-core-module "^2.13.0" @@ -4500,20 +5685,20 @@ resolve@^2.0.0-next.5: supports-preserve-symlinks-flag "^1.0.0" reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rollup-plugin-external-globals@^0.10.0: version "0.10.0" - resolved "https://registry.npmjs.org/rollup-plugin-external-globals/-/rollup-plugin-external-globals-0.10.0.tgz" + resolved "https://registry.yarnpkg.com/rollup-plugin-external-globals/-/rollup-plugin-external-globals-0.10.0.tgz#665df31f3f871579cc39747756b7721d8eb894b3" integrity sha512-RXlupZrmn97AaaS5dWnktkjM+Iy+od0E+8L0mUkMIs3iuoUXNJebueQocQKV7Ircd54fSGGmkBaXwNzY05J1yQ== dependencies: "@rollup/pluginutils" "^5.1.0" @@ -4521,72 +5706,87 @@ rollup-plugin-external-globals@^0.10.0: is-reference "^3.0.2" magic-string "^0.30.5" -rollup@^4.13.0: - version "4.17.2" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz" - integrity sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ== +rollup@^4.20.0: + version "4.46.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.46.2.tgz#09b1a45d811e26d09bed63dc3ecfb6831c16ce32" + integrity sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg== dependencies: - "@types/estree" "1.0.5" + "@types/estree" "1.0.8" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.17.2" - "@rollup/rollup-android-arm64" "4.17.2" - "@rollup/rollup-darwin-arm64" "4.17.2" - "@rollup/rollup-darwin-x64" "4.17.2" - "@rollup/rollup-linux-arm-gnueabihf" "4.17.2" - "@rollup/rollup-linux-arm-musleabihf" "4.17.2" - "@rollup/rollup-linux-arm64-gnu" "4.17.2" - "@rollup/rollup-linux-arm64-musl" "4.17.2" - "@rollup/rollup-linux-powerpc64le-gnu" "4.17.2" - "@rollup/rollup-linux-riscv64-gnu" "4.17.2" - "@rollup/rollup-linux-s390x-gnu" "4.17.2" - "@rollup/rollup-linux-x64-gnu" "4.17.2" - "@rollup/rollup-linux-x64-musl" "4.17.2" - "@rollup/rollup-win32-arm64-msvc" "4.17.2" - "@rollup/rollup-win32-ia32-msvc" "4.17.2" - "@rollup/rollup-win32-x64-msvc" "4.17.2" + "@rollup/rollup-android-arm-eabi" "4.46.2" + "@rollup/rollup-android-arm64" "4.46.2" + "@rollup/rollup-darwin-arm64" "4.46.2" + "@rollup/rollup-darwin-x64" "4.46.2" + "@rollup/rollup-freebsd-arm64" "4.46.2" + "@rollup/rollup-freebsd-x64" "4.46.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.46.2" + "@rollup/rollup-linux-arm-musleabihf" "4.46.2" + "@rollup/rollup-linux-arm64-gnu" "4.46.2" + "@rollup/rollup-linux-arm64-musl" "4.46.2" + "@rollup/rollup-linux-loongarch64-gnu" "4.46.2" + "@rollup/rollup-linux-ppc64-gnu" "4.46.2" + "@rollup/rollup-linux-riscv64-gnu" "4.46.2" + "@rollup/rollup-linux-riscv64-musl" "4.46.2" + "@rollup/rollup-linux-s390x-gnu" "4.46.2" + "@rollup/rollup-linux-x64-gnu" "4.46.2" + "@rollup/rollup-linux-x64-musl" "4.46.2" + "@rollup/rollup-win32-arm64-msvc" "4.46.2" + "@rollup/rollup-win32-ia32-msvc" "4.46.2" + "@rollup/rollup-win32-x64-msvc" "4.46.2" fsevents "~2.3.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - is-regex "^1.1.4" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" sass-loader@^14.2.1: version "14.2.1" - resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-14.2.1.tgz#db9ad96b56dc1c1ea546101e76375d5b008fec70" integrity sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ== dependencies: neo-async "^2.6.2" sass@^1.77.2: - version "1.77.2" - resolved "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz" - integrity sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA== + version "1.90.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.90.0.tgz#d6fc2be49c7c086ce86ea0b231a35bf9e33cb84b" + integrity sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q== dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" + chokidar "^4.0.0" + immutable "^5.0.2" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" scheduler@^0.23.2: version "0.23.2" @@ -4595,21 +5795,19 @@ scheduler@^0.23.2: dependencies: loose-envify "^1.1.0" -semver@^6.3.1: +semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.5.4: - version "7.6.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" +semver@^7.5.3, semver@^7.5.4, semver@^7.7.2: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: define-data-property "^1.1.4" @@ -4619,9 +5817,9 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1, set-function-name@^2.0.2: +set-function-name@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: define-data-property "^1.1.4" @@ -4629,46 +5827,113 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^5.0.0, slash@^5.1.0: +slash@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== sourcemap-codec@^1.4.8: version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== space-separated-tokens@^2.0.0: @@ -4676,55 +5941,114 @@ space-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 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" -string.prototype.matchall@^4.0.10: - version "4.0.11" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - call-bind "^1.0.7" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.6" es-errors "^1.3.0" es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" set-function-name "^2.0.2" - side-channel "^1.0.6" + side-channel "^1.1.0" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== dependencies: - call-bind "^1.0.7" + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" string.prototype.trimstart@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: call-bind "^1.0.7" @@ -4739,16 +6063,40 @@ stringify-entities@^4.0.0: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-mod@^4.0.0, style-mod@^4.1.0: @@ -4757,126 +6105,142 @@ style-mod@^4.0.0, style-mod@^4.1.0: integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== style-to-js@^1.0.0: - version "1.1.16" - resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.16.tgz#e6bd6cd29e250bcf8fa5e6591d07ced7575dbe7a" - integrity sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw== + version "1.1.17" + resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.17.tgz#488b1558a8c1fd05352943f088cc3ce376813d83" + integrity sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA== dependencies: - style-to-object "1.0.8" + style-to-object "1.0.9" -style-to-object@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.8.tgz#67a29bca47eaa587db18118d68f9d95955e81292" - integrity sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g== +style-to-object@1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.9.tgz#35c65b713f4a6dba22d3d0c61435f965423653f0" + integrity sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw== dependencies: inline-style-parser "0.2.4" -sucrase@^3.32.0: - version "3.34.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz" - integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== +sucrase@^3.35.0: + version "3.35.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" commander "^4.0.0" - glob "7.1.6" + glob "^10.3.10" lines-and-columns "^1.1.6" mz "^2.7.0" pirates "^4.0.1" ts-interface-checker "^0.1.9" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.11.7: + version "0.11.11" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.11.tgz#c0b619cf258a97faa209155d9cd1699b5c998cb0" + integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw== dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" + "@pkgr/core" "^0.2.9" tailwindcss@^3.3.6: - version "3.3.6" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.6.tgz" - integrity sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw== + version "3.4.17" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.17.tgz#ae8406c0f96696a631c790768ff319d46d5e5a63" + integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" - chokidar "^3.5.3" + chokidar "^3.6.0" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.3.0" + fast-glob "^3.3.2" glob-parent "^6.0.2" is-glob "^4.0.3" - jiti "^1.19.1" - lilconfig "^2.1.0" - micromatch "^4.0.5" + jiti "^1.21.6" + lilconfig "^3.1.3" + micromatch "^4.0.8" normalize-path "^3.0.0" object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" + picocolors "^1.1.1" + postcss "^8.4.47" postcss-import "^15.1.0" postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" + postcss-load-config "^4.0.2" + postcss-nested "^6.2.0" + postcss-selector-parser "^6.1.2" + resolve "^1.22.8" + sucrase "^3.35.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenby@^1.3.4: version "1.3.4" - resolved "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz" + resolved "https://registry.yarnpkg.com/thenby/-/thenby-1.3.4.tgz#81581f6e1bb324c6dedeae9bfc28e59b1a2201cc" integrity sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ== thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" -to-fast-properties@^2.0.0: - 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== +tinyglobby@^0.2.12: + version "0.2.14" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" + integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== + dependencies: + fdir "^6.4.4" + picomatch "^4.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" topbar@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/topbar/-/topbar-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/topbar/-/topbar-3.0.0.tgz#7353f10852778f6352feac2f92015b673b5e96eb" integrity sha512-mhczD7KfYi1anfoMPKRdl0wPSWiYc0YOK4KyycYs3EaNT15pVVNDG5CtfgZcEBWIPJEdfR7r8K4hTXDD2ECBVQ== trim-lines@^3.0.0: @@ -4890,95 +6254,126 @@ trough@^2.0.0: integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +ts-jest@^29.1.2: + version "29.4.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.1.tgz#42d33beb74657751d315efb9a871fe99e3b9b519" + integrity sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw== + dependencies: + bs-logger "^0.2.6" + fast-json-stable-stringify "^2.1.0" + handlebars "^4.7.8" + json5 "^2.2.3" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.7.2" + type-fest "^4.41.0" + yargs-parser "^21.1.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^4.41.0: + version "4.41.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" + integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typescript@^5.2.2: - version "5.4.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + version "5.9.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" + integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" -unicorn-magic@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz" - integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== +undici-types@~7.10.0: + version "7.10.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350" + integrity sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag== unified@^11.0.0: version "11.0.5" @@ -5033,51 +6428,52 @@ unist-util-visit@^5.0.0: universalify@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-browserslist-db@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580" - integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" picocolors "^1.1.1" uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" use-local-storage-state@^19.3.1: - version "19.3.1" - resolved "https://registry.npmjs.org/use-local-storage-state/-/use-local-storage-state-19.3.1.tgz" - integrity sha512-y3Z1dODXvZXZB4qtLDNN8iuXbsYD6TAxz61K58GWB9/yKwrNG9ynI0GzCTHi/Je1rMiyOwMimz0oyFsZn+Kj7Q== + version "19.5.0" + resolved "https://registry.yarnpkg.com/use-local-storage-state/-/use-local-storage-state-19.5.0.tgz#25bf46dd45b491020c03db516b46a4ff93b3a923" + integrity sha512-sUJAyFvsmqMpBhdwaRr7GTKkkoxb6PWeNVvpBDrLuwQF1PpbJRKIbOYeLLeqJI7B3wdfFlLLCBbmOdopiSTBOw== -use-sync-external-store@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +use-sync-external-store@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +v8-to-istanbul@^9.0.1: + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + vfile-message@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" - integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + version "4.0.3" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4" + integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== dependencies: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" @@ -5092,7 +6488,7 @@ vfile@^6.0.0: vite-plugin-cdn-import@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/vite-plugin-cdn-import/-/vite-plugin-cdn-import-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/vite-plugin-cdn-import/-/vite-plugin-cdn-import-1.0.1.tgz#6fed7e6109f16efce60973134f5e65ec09019b20" integrity sha512-lgjLxgwFSKvJLbqjVBirUZ0rQo00GpUGJzRpgQu8RyBw9LA7jaqG6fUMQzBC9qWmTGabPC3iOzwCcoi7PseRAQ== dependencies: rollup-plugin-external-globals "^0.10.0" @@ -5100,7 +6496,7 @@ vite-plugin-cdn-import@^1.0.1: vite-plugin-externals@^0.6.2: version "0.6.2" - resolved "https://registry.npmjs.org/vite-plugin-externals/-/vite-plugin-externals-0.6.2.tgz" + resolved "https://registry.yarnpkg.com/vite-plugin-externals/-/vite-plugin-externals-0.6.2.tgz#b2201588ff4156696f7422bf649ec630bb6eb10b" integrity sha512-R5oVY8xDJjLXLTs2XDYzvYbc/RTZuIwOx2xcFbYf+/VXB6eJuatDgt8jzQ7kZ+IrgwQhe6tU8U2fTyy72C25CQ== dependencies: acorn "^8.4.0" @@ -5109,13 +6505,13 @@ vite-plugin-externals@^0.6.2: magic-string "^0.25.7" vite@^5.0.5: - version "5.2.11" - resolved "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz" - integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ== + version "5.4.19" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959" + integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA== dependencies: - esbuild "^0.20.1" - postcss "^8.4.38" - rollup "^4.13.0" + esbuild "^0.21.3" + postcss "^8.4.43" + rollup "^4.20.0" optionalDependencies: fsevents "~2.3.3" @@ -5124,38 +6520,46 @@ w3c-keyname@^2.2.4: resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + makeerror "1.0.12" -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" - is-regex "^1.1.4" + is-regex "^1.2.1" is-weakref "^1.0.2" isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" -which-collection@^1.0.1: +which-collection@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== dependencies: is-map "^2.0.3" @@ -5163,71 +6567,99 @@ which-collection@^1.0.1: is-weakmap "^2.0.2" is-weakset "^2.0.3" -which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: - version "1.1.15" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wrap-ansi@^7.0.0: +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - -yaml@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz" - integrity sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA== +yaml@^2.3.4, yaml@^2.4.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79" + integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.0.0: +yargs@^17.0.0, yargs@^17.3.1: version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" @@ -5240,20 +6672,20 @@ yargs@^17.0.0: yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zustand@^3.7.2: version "3.7.2" - resolved "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d" integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA== zustand@^4.4.1: - version "4.5.2" - resolved "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz" - integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g== + version "4.5.7" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.7.tgz#7d6bb2026a142415dd8be8891d7870e6dbe65f55" + integrity sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw== dependencies: - use-sync-external-store "1.2.0" + use-sync-external-store "^1.2.2" zwitch@^2.0.0: version "2.0.4" diff --git a/clean_changelog.py b/clean_changelog.py new file mode 100644 index 00000000..f13e5753 --- /dev/null +++ b/clean_changelog.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python3 +""" +Script to clean up CHANGELOG.md by removing empty version entries. +An empty version entry has only a version header followed by empty lines, +without any actual content (### Bug Fixes: or ### Features: sections). +""" + +import re + +def clean_changelog(): + with open('./CHANGELOG.md', 'r') as f: + content = f.read() + + # Split content into sections based on version headers + version_pattern = r'^## \[v\d+\.\d+\.\d+\].*?\([^)]+\)$' + + # Find all version headers with their positions + matches = list(re.finditer(version_pattern, content, re.MULTILINE)) + + # Build new content by keeping only non-empty versions + new_content = "" + + # Keep the header (everything before first version) + if matches: + new_content += content[:matches[0].start()] + else: + # No versions found, keep original + return content + + for i, match in enumerate(matches): + version_start = match.start() + + # Find the end of this version section (start of next version or end of file) + if i + 1 < len(matches): + version_end = matches[i + 1].start() + else: + version_end = len(content) + + version_section = content[version_start:version_end] + + # Check if this version has actual content + # Look for ### Bug Fixes: or ### Features: followed by actual content + has_content = False + + # Split the section into lines + lines = version_section.split('\n') + + # Look for content sections + in_content_section = False + for line in lines: + line_stripped = line.strip() + + # Check if we're entering a content section + if line_stripped.startswith('### Bug Fixes:') or line_stripped.startswith('### Features:'): + in_content_section = True + continue + + # If we're in a content section and find non-empty content + if in_content_section: + if line_stripped and not line_stripped.startswith('###') and not line_stripped.startswith('##'): + # This is actual content (not just another header) + if line_stripped.startswith('*') or len(line_stripped) > 0: + has_content = True + break + elif line_stripped.startswith('##'): + # We've reached the next version, stop looking + break + + # Only keep versions with actual content + if has_content: + new_content += version_section + + return new_content + +if __name__ == "__main__": + cleaned_content = clean_changelog() + + # Write the cleaned content back to the file + with open('./CHANGELOG.md', 'w') as f: + f.write(cleaned_content) + + print("CHANGELOG.md has been cleaned up successfully!") diff --git a/config/config.exs b/config/config.exs index b1e4e228..af136952 100644 --- a/config/config.exs +++ b/config/config.exs @@ -102,6 +102,23 @@ config :error_tracker, repo: WandererApp.Repo, otp_app: :wanderer_app +# Security Audit Configuration +config :wanderer_app, WandererApp.SecurityAudit, + enabled: true, + # Set to true in production for better performance + async: false, + batch_size: 100, + flush_interval: 5000, + log_level: :info, + threat_detection: %{ + enabled: true, + max_failed_attempts: 5, + max_permission_denials: 10, + window_seconds: 300, + bulk_operation_threshold: 10000 + }, + retention_days: 90 + config :git_ops, mix_project: Mix.Project.get!(), changelog_file: "CHANGELOG.md", diff --git a/config/prod.exs b/config/prod.exs index 95ab04ab..95c4aa3d 100644 --- a/config/prod.exs +++ b/config/prod.exs @@ -27,5 +27,8 @@ config :swoosh, local: false config :logger, level: :info +# Enable async security audit processing in production +config :wanderer_app, WandererApp.SecurityAudit, async: true + # Runtime production configuration, including reading # of environment variables, is done on config/runtime.exs. diff --git a/lib/wanderer_app/api.ex b/lib/wanderer_app/api.ex index c2ee1a3e..7dcf9266 100644 --- a/lib/wanderer_app/api.ex +++ b/lib/wanderer_app/api.ex @@ -28,6 +28,7 @@ defmodule WandererApp.Api do resource WandererApp.Api.MapSubscription resource WandererApp.Api.MapTransaction resource WandererApp.Api.MapUserSettings + resource WandererApp.Api.MapDefaultSettings resource WandererApp.Api.User resource WandererApp.Api.ShipTypeInfo resource WandererApp.Api.UserActivity diff --git a/lib/wanderer_app/api/map.ex b/lib/wanderer_app/api/map.ex index ff01f215..c940d731 100644 --- a/lib/wanderer_app/api/map.ex +++ b/lib/wanderer_app/api/map.ex @@ -20,8 +20,7 @@ defmodule WandererApp.Api.Map do includes([ :owner, :characters, - :acls, - :transactions + :acls ]) # Enable filtering and sorting @@ -342,7 +341,7 @@ defmodule WandererApp.Api.Map do end has_many :transactions, WandererApp.Api.MapTransaction do - public? true + public? false end end end diff --git a/lib/wanderer_app/api/map_default_settings.ex b/lib/wanderer_app/api/map_default_settings.ex new file mode 100644 index 00000000..68ba21a4 --- /dev/null +++ b/lib/wanderer_app/api/map_default_settings.ex @@ -0,0 +1,145 @@ +defmodule WandererApp.Api.MapDefaultSettings do + @moduledoc """ + Resource for storing default map settings that admins can configure. + These settings will be applied to new users when they first access the map. + """ + + use Ash.Resource, + domain: WandererApp.Api, + data_layer: AshPostgres.DataLayer, + extensions: [AshJsonApi.Resource] + + postgres do + repo(WandererApp.Repo) + table("map_default_settings") + end + + json_api do + type "map_default_settings" + + includes([ + :map, + :created_by, + :updated_by + ]) + + routes do + base("/map_default_settings") + + get(:read) + index(:read) + post(:create) + patch(:update) + delete(:destroy) + end + end + + code_interface do + define(:create, action: :create) + define(:update, action: :update) + define(:destroy, action: :destroy) + define(:get_by_map_id, action: :get_by_map_id) + end + + actions do + default_accept [ + :map_id, + :settings + ] + + defaults [:read, :destroy] + + create :create do + primary?(true) + accept [:map_id, :settings] + + change relate_actor(:created_by) + change relate_actor(:updated_by) + + change fn changeset, _context -> + changeset + |> validate_json_settings() + end + end + + update :update do + primary?(true) + accept [:settings] + + # Required for managing relationships + require_atomic? false + + change relate_actor(:updated_by) + + change fn changeset, _context -> + changeset + |> validate_json_settings() + end + end + + read :get_by_map_id do + argument :map_id, :uuid, allow_nil?: false + + filter expr(map_id == ^arg(:map_id)) + + prepare fn query, _context -> + Ash.Query.limit(query, 1) + end + end + end + + attributes do + uuid_primary_key :id + + attribute :settings, :string do + allow_nil? false + constraints min_length: 2 + description "JSON string containing the default map settings" + end + + create_timestamp(:inserted_at) + update_timestamp(:updated_at) + end + + relationships do + belongs_to :map, WandererApp.Api.Map do + primary_key? false + allow_nil? false + public? true + end + + belongs_to :created_by, WandererApp.Api.Character do + allow_nil? true + public? true + end + + belongs_to :updated_by, WandererApp.Api.Character do + allow_nil? true + public? true + end + end + + identities do + identity :unique_map_settings, [:map_id] + end + + defp validate_json_settings(changeset) do + case Ash.Changeset.get_attribute(changeset, :settings) do + nil -> + changeset + + settings -> + case Jason.decode(settings) do + {:ok, _} -> + changeset + + {:error, _} -> + Ash.Changeset.add_error( + changeset, + field: :settings, + message: "must be valid JSON" + ) + end + end + end +end diff --git a/lib/wanderer_app/api/map_subscription.ex b/lib/wanderer_app/api/map_subscription.ex index 97599eec..8517c7ed 100644 --- a/lib/wanderer_app/api/map_subscription.ex +++ b/lib/wanderer_app/api/map_subscription.ex @@ -31,6 +31,8 @@ defmodule WandererApp.Api.MapSubscription do end code_interface do + define(:create, action: :create) + define(:by_id, get_by: [:id], action: :read @@ -39,6 +41,15 @@ defmodule WandererApp.Api.MapSubscription do define(:all_active, action: :all_active) define(:all_by_map, action: :all_by_map) define(:active_by_map, action: :active_by_map) + define(:destroy, action: :destroy) + define(:cancel, action: :cancel) + define(:expire, action: :expire) + + define(:update_plan, action: :update_plan) + define(:update_characters_limit, action: :update_characters_limit) + define(:update_hubs_limit, action: :update_hubs_limit) + define(:update_active_till, action: :update_active_till) + define(:update_auto_renew, action: :update_auto_renew) end actions do @@ -51,7 +62,7 @@ defmodule WandererApp.Api.MapSubscription do :auto_renew? ] - defaults [:read] + defaults [:create, :read, :update, :destroy] read :all_active do prepare build(sort: [updated_at: :asc]) diff --git a/lib/wanderer_app/api/map_system_comment.ex b/lib/wanderer_app/api/map_system_comment.ex index 34869947..5f05be4d 100644 --- a/lib/wanderer_app/api/map_system_comment.ex +++ b/lib/wanderer_app/api/map_system_comment.ex @@ -31,6 +31,9 @@ defmodule WandererApp.Api.MapSystemComment do end code_interface do + define(:create, action: :create) + define(:destroy, action: :destroy) + define(:by_id, get_by: [:id], action: :read @@ -46,7 +49,7 @@ defmodule WandererApp.Api.MapSystemComment do :text ] - defaults [:read] + defaults [:read, :destroy] create :create do primary? true diff --git a/lib/wanderer_app/api/map_system_signature.ex b/lib/wanderer_app/api/map_system_signature.ex index 41d310e8..7b26f530 100644 --- a/lib/wanderer_app/api/map_system_signature.ex +++ b/lib/wanderer_app/api/map_system_signature.ex @@ -28,8 +28,12 @@ defmodule WandererApp.Api.MapSystemSignature do end code_interface do - define(:create, action: :create) define(:all_active, action: :all_active) + define(:create, action: :create) + define(:update, action: :update) + define(:update_linked_system, action: :update_linked_system) + define(:update_type, action: :update_type) + define(:update_group, action: :update_group) define(:by_id, get_by: [:id], diff --git a/lib/wanderer_app/api/map_transaction.ex b/lib/wanderer_app/api/map_transaction.ex index 5eedb800..222bb23a 100644 --- a/lib/wanderer_app/api/map_transaction.ex +++ b/lib/wanderer_app/api/map_transaction.ex @@ -29,19 +29,7 @@ defmodule WandererApp.Api.MapTransaction do :amount ] - defaults [:create] - - read :read do - primary?(true) - - pagination offset?: true, - default_limit: 25, - max_page_size: 100, - countable: true, - required?: false - - prepare build(sort: [inserted_at: :desc]) - end + defaults [:create, :read, :update, :destroy] read :by_map do argument(:map_id, :string, allow_nil?: false) diff --git a/lib/wanderer_app/api/map_user_settings.ex b/lib/wanderer_app/api/map_user_settings.ex index b6aaf645..5207f94b 100644 --- a/lib/wanderer_app/api/map_user_settings.ex +++ b/lib/wanderer_app/api/map_user_settings.ex @@ -33,11 +33,15 @@ defmodule WandererApp.Api.MapUserSettings do end code_interface do + define(:create, action: :create) + define(:by_user_id, get_by: [:map_id, :user_id], action: :read ) + define(:update_hubs, action: :update_hubs) + define(:update_settings, action: :update_settings) define(:update_following_character, action: :update_following_character) define(:update_main_character, action: :update_main_character) end @@ -49,7 +53,7 @@ defmodule WandererApp.Api.MapUserSettings do :settings ] - defaults [:read] + defaults [:create, :read, :update, :destroy] update :update_settings do accept [:settings] diff --git a/lib/wanderer_app/api/user_activity.ex b/lib/wanderer_app/api/user_activity.ex index 0267ecc8..f7a827d8 100644 --- a/lib/wanderer_app/api/user_activity.ex +++ b/lib/wanderer_app/api/user_activity.ex @@ -145,7 +145,12 @@ defmodule WandererApp.Api.UserActivity do :admin_action, :config_change, :bulk_operation, - :security_alert + :security_alert, + # Subscription events + :subscription_created, + :subscription_updated, + :subscription_deleted, + :subscription_unknown ] ) diff --git a/lib/wanderer_app/application.ex b/lib/wanderer_app/application.ex index 9e5ca033..0dc95f76 100644 --- a/lib/wanderer_app/application.ex +++ b/lib/wanderer_app/application.ex @@ -45,6 +45,9 @@ defmodule WandererApp.Application do Supervisor.child_spec({Cachex, name: :tracked_characters}, id: :tracked_characters_cache_worker ), + Supervisor.child_spec({Cachex, name: :wanderer_app_cache}, + id: :wanderer_app_cache_worker + ), {Registry, keys: :unique, name: WandererApp.MapRegistry}, {Registry, keys: :unique, name: WandererApp.Character.TrackerRegistry}, {PartitionSupervisor, @@ -60,6 +63,14 @@ defmodule WandererApp.Application do if Application.get_env(:wanderer_app, :environment) == :test do [] else + security_audit_children = + if Application.get_env(:wanderer_app, WandererApp.SecurityAudit, []) + |> Keyword.get(:async, false) do + [WandererApp.SecurityAudit.AsyncProcessor] + else + [] + end + [ WandererApp.Esi.InitClientsTask, WandererApp.Scheduler, @@ -68,7 +79,7 @@ defmodule WandererApp.Application do {WandererApp.Character.TrackerPoolSupervisor, []}, WandererApp.Character.TrackerManager, WandererApp.Map.Manager - ] + ] ++ security_audit_children end children = diff --git a/lib/wanderer_app/audit/request_context.ex b/lib/wanderer_app/audit/request_context.ex new file mode 100644 index 00000000..21a65e4d --- /dev/null +++ b/lib/wanderer_app/audit/request_context.ex @@ -0,0 +1,150 @@ +defmodule WandererApp.Audit.RequestContext do + @moduledoc """ + Provides utilities for extracting request context information + for audit logging purposes. + """ + + require Logger + + @doc """ + Extract the client's IP address from the connection. + + Simply returns the remote_ip from the connection. + """ + def get_ip_address(conn) do + conn.remote_ip + |> :inet.ntoa() + |> to_string() + rescue + error -> + Logger.warning("Failed to get IP address: #{inspect(error)}", + error: error, + stacktrace: __STACKTRACE__ + ) + + "unknown" + end + + @doc """ + Extract the user agent from the request headers. + """ + def get_user_agent(conn) do + get_header(conn, "user-agent") || "unknown" + end + + @doc """ + Extract or generate a session ID for the request. + """ + def get_session_id(conn) do + # Try to get from session + session_id = get_session(conn, :session_id) + + # Fall back to request ID + session_id || get_request_id(conn) + end + + @doc """ + Extract or generate a request ID for correlation. + """ + def get_request_id(conn) do + # Try standard request ID headers + get_header(conn, "x-request-id") || + get_header(conn, "x-correlation-id") || + Logger.metadata()[:request_id] || + generate_request_id() + end + + @doc """ + Build a complete request metadata map for audit logging. + """ + def build_request_metadata(conn) do + %{ + ip_address: get_ip_address(conn), + user_agent: get_user_agent(conn), + session_id: get_session_id(conn), + request_id: get_request_id(conn), + request_path: conn.request_path, + method: conn.method |> to_string() |> String.upcase(), + host: conn.host, + port: conn.port, + scheme: conn.scheme |> to_string() + } + end + + @doc """ + Extract user information from the connection. + + Returns a map with user_id and any additional user context. + """ + def get_user_info(conn) do + case conn.assigns[:current_user] do + %{id: user_id} = user -> + %{ + user_id: user_id, + username: Map.get(user, :username), + email: Map.get(user, :email) + } + + nil -> + %{user_id: nil} + end + end + + @doc """ + Build a minimal request details map for audit events. + + This is used by existing audit calls that expect specific fields. + """ + def build_request_details(conn) do + metadata = build_request_metadata(conn) + + %{ + ip_address: metadata.ip_address, + user_agent: metadata.user_agent, + session_id: metadata.session_id, + request_path: metadata.request_path, + method: metadata.method + } + end + + @doc """ + Set request context in the process dictionary for async logging. + """ + def set_request_context(conn) do + context = %{ + metadata: build_request_metadata(conn), + user_info: get_user_info(conn), + timestamp: DateTime.utc_now() + } + + Process.put(:audit_request_context, context) + conn + end + + @doc """ + Get request context from the process dictionary. + """ + def get_request_context do + Process.get(:audit_request_context) + end + + # Private functions + + defp get_header(conn, header) do + case Plug.Conn.get_req_header(conn, header) do + [value | _] -> value + [] -> nil + end + end + + defp get_session(conn, key) do + conn + |> Plug.Conn.get_session(key) + rescue + _ -> nil + end + + defp generate_request_id do + "req_#{:crypto.strong_rand_bytes(16) |> Base.url_encode64(padding: false)}" + end +end diff --git a/lib/wanderer_app/character.ex b/lib/wanderer_app/character.ex index 08fe9303..fa51c713 100644 --- a/lib/wanderer_app/character.ex +++ b/lib/wanderer_app/character.ex @@ -28,7 +28,7 @@ defmodule WandererApp.Character do Cachex.put(:character_cache, character_id, character) {:ok, character} - _ -> + error -> {:error, :not_found} end @@ -283,39 +283,44 @@ defmodule WandererApp.Character do |> case do {:ok, settings} when not is_nil(settings) -> character - |> Map.put(:online, false) - |> Map.merge(settings) + |> Map.merge(%{ + solar_system_id: settings.solar_system_id, + structure_id: settings.structure_id, + station_id: settings.station_id, + ship: settings.ship, + ship_name: settings.ship_name, + ship_item_id: settings.ship_item_id + }) _ -> character - |> Map.put(:online, false) |> Map.merge(@default_character_tracking_data) end - |> Map.merge(%{tracking_paused: tracking_paused}) + |> Map.merge(%{online: false, tracking_paused: tracking_paused}) end defp prepare_search_results(result) do {:ok, characters} = - _load_eve_info(Map.get(result, "character"), :get_character_info, &_map_character_info/1) + load_eve_info(Map.get(result, "character"), :get_character_info, &map_character_info/1) {:ok, corporations} = - _load_eve_info( + load_eve_info( Map.get(result, "corporation"), :get_corporation_info, - &_map_corporation_info/1 + &map_corporation_info/1 ) {:ok, alliances} = - _load_eve_info(Map.get(result, "alliance"), :get_alliance_info, &_map_alliance_info/1) + load_eve_info(Map.get(result, "alliance"), :get_alliance_info, &map_alliance_info/1) [[characters | corporations] | alliances] |> List.flatten() end - defp _load_eve_info(nil, _, _), do: {:ok, []} + defp load_eve_info(nil, _, _), do: {:ok, []} - defp _load_eve_info([], _, _), do: {:ok, []} + defp load_eve_info([], _, _), do: {:ok, []} - defp _load_eve_info(eve_ids, method, map_function), + defp load_eve_info(eve_ids, method, map_function), do: {:ok, Enum.map(eve_ids, fn eve_id -> @@ -331,7 +336,7 @@ defmodule WandererApp.Character do end) |> Enum.filter(fn result -> not is_nil(result) end)} - defp _map_alliance_info(info) do + defp map_alliance_info(info) do %{ label: info["name"], value: info["eve_id"] |> to_string(), @@ -339,7 +344,7 @@ defmodule WandererApp.Character do } end - defp _map_character_info(info) do + defp map_character_info(info) do %{ label: info["name"], value: info["eve_id"] |> to_string(), @@ -347,7 +352,7 @@ defmodule WandererApp.Character do } end - defp _map_corporation_info(info) do + defp map_corporation_info(info) do %{ label: info["name"], value: info["eve_id"] |> to_string(), diff --git a/lib/wanderer_app/character/tracker.ex b/lib/wanderer_app/character/tracker.ex index f8d64261..bdba32e5 100644 --- a/lib/wanderer_app/character/tracker.ex +++ b/lib/wanderer_app/character/tracker.ex @@ -188,7 +188,6 @@ defmodule WandererApp.Character.Tracker do _ -> # Monitor cache for potential evictions before ESI call - log_cache_stats("character_online_check", character_id, "online_forbidden") case WandererApp.Esi.get_character_online(eve_id, access_token: access_token, @@ -681,7 +680,6 @@ defmodule WandererApp.Character.Tracker do _ -> # Monitor cache for potential evictions before ESI call - log_cache_stats("character_location_check", character_id, "location_forbidden") case WandererApp.Esi.get_character_location(eve_id, access_token: access_token, @@ -1382,50 +1380,6 @@ defmodule WandererApp.Character.Tracker do end end - # Add cache monitoring for eviction detection - defp log_cache_stats(operation, character_id, cache_key) do - try do - # Check if critical cache entries are missing (could indicate eviction) - critical_keys = [ - "character:#{character_id}:last_online_time", - "character:#{character_id}:online_forbidden", - "character:#{character_id}:location_forbidden", - "character:#{character_id}:ship_forbidden" - ] - - missing_keys = - Enum.filter(critical_keys, fn key -> - not WandererApp.Cache.has_key?(key) - end) - - # Alert if multiple cache keys are missing - if length(missing_keys) > 2 do - Logger.warning("CACHE_EVICTION_SUSPECTED: Multiple critical cache keys missing", - operation: operation, - character_id: character_id, - cache_key: cache_key, - missing_keys: missing_keys, - missing_count: length(missing_keys) - ) - - # Emit telemetry - :telemetry.execute( - [:wanderer_app, :cache, :eviction_suspected], - %{ - missing_count: length(missing_keys) - }, - %{ - operation: operation, - character_id: character_id - } - ) - end - rescue - # Don't fail character tracking if cache monitoring fails - _ -> :ok - end - end - # Telemetry handler for database pool monitoring def handle_pool_query(_event_name, measurements, metadata, _config) do queue_time = measurements[:queue_time] diff --git a/lib/wanderer_app/esi/api_client.ex b/lib/wanderer_app/esi/api_client.ex index 19307f0b..43ba2598 100644 --- a/lib/wanderer_app/esi/api_client.ex +++ b/lib/wanderer_app/esi/api_client.ex @@ -792,7 +792,10 @@ defmodule WandererApp.Esi.ApiClient do expires_at_datetime = DateTime.from_unix!(expires_at) time_since_expiry = DateTime.diff(DateTime.utc_now(), expires_at_datetime, :second) - Logger.info("TOKEN_REFRESH_SUCCESS: Character token refreshed successfully", + Logger.debug( + fn -> + "TOKEN_REFRESH_SUCCESS: Character token refreshed successfully" + end, character_id: character_id, time_since_expiry_seconds: time_since_expiry, new_expires_at: token.expires_at diff --git a/lib/wanderer_app/external_events/event_filter.ex b/lib/wanderer_app/external_events/event_filter.ex index db00408a..187a38a7 100644 --- a/lib/wanderer_app/external_events/event_filter.ex +++ b/lib/wanderer_app/external_events/event_filter.ex @@ -34,7 +34,10 @@ defmodule WandererApp.ExternalEvents.EventFilter do # ACL events :acl_member_added, :acl_member_removed, - :acl_member_updated + :acl_member_updated, + # Rally point events + :rally_point_added, + :rally_point_removed ] @type event_type :: atom() diff --git a/lib/wanderer_app/kills/client.ex b/lib/wanderer_app/kills/client.ex index 3c0c7e49..3602ed2e 100644 --- a/lib/wanderer_app/kills/client.ex +++ b/lib/wanderer_app/kills/client.ex @@ -112,7 +112,10 @@ defmodule WandererApp.Kills.Client do end def handle_info(:connect, state) do - Logger.info("[Client] Initiating connection attempt (retry count: #{state.retry_count})") + Logger.debug(fn -> + "[Client] Initiating connection attempt (retry count: #{state.retry_count})" + end) + state = cancel_retry(state) new_state = attempt_connection(%{state | connecting: true}) {:noreply, new_state} @@ -214,9 +217,9 @@ defmodule WandererApp.Kills.Client do state :needs_reconnect -> - Logger.warning( + Logger.debug(fn -> "[Client] Connection unhealthy, triggering reconnect (retry count: #{state.retry_count})" - ) + end) # Don't reset retry count during health check failures if state.connected or state.connecting do @@ -228,9 +231,9 @@ defmodule WandererApp.Kills.Client do end :needs_reconnect_with_timestamp -> - Logger.warning( + Logger.debug(fn -> "[Client] Health check triggering reconnect (retry count: #{state.retry_count})" - ) + end) new_state = %{state | last_health_reconnect_attempt: System.system_time(:millisecond)} @@ -552,9 +555,9 @@ defmodule WandererApp.Kills.Client do # Check if we haven't received a message in the configured timeout System.system_time(:millisecond) - last_msg_time > @message_timeout -> - Logger.warning( + Logger.debug(fn -> "[Client] Health check: No messages received for 15+ minutes, reconnecting" - ) + end) :needs_reconnect diff --git a/lib/wanderer_app/map/map_audit.ex b/lib/wanderer_app/map/map_audit.ex index 9b1f4d20..189c2e7f 100644 --- a/lib/wanderer_app/map/map_audit.ex +++ b/lib/wanderer_app/map/map_audit.ex @@ -1,6 +1,9 @@ defmodule WandererApp.Map.Audit do @moduledoc """ Manager map subscription plans + + This module now delegates to SecurityAudit for consistency. + It maintains backward compatibility while using the centralized audit system. """ require Ash.Query @@ -13,19 +16,15 @@ defmodule WandererApp.Map.Audit do @audit_expired_seconds @month_seconds * 3 def track_map_subscription_event(event_type, metadata) do - case event_type do - "subscription.created" -> - track_map_event(event_type, metadata) + mapped_type = + case event_type do + "subscription.created" -> :subscription_created + "subscription.updated" -> :subscription_updated + "subscription.deleted" -> :subscription_deleted + _ -> :subscription_unknown + end - "subscription.updated" -> - track_map_event(event_type, metadata) - - "subscription.deleted" -> - track_map_event(event_type, metadata) - - _ -> - {:ok, nil} - end + track_map_event(mapped_type, metadata) end def archive() do @@ -40,191 +39,16 @@ defmodule WandererApp.Map.Audit do end def get_activity_query(map_id, period, activity) do - {from, to} = period |> get_period() - - query = - WandererApp.Api.UserActivity - |> Ash.Query.filter( - and: [ - [entity_id: map_id], - [inserted_at: [greater_than_or_equal: from]], - [inserted_at: [less_than_or_equal: to]] - ] - ) - - query = - activity - |> case do - "all" -> - query - - activity -> - query - |> Ash.Query.filter(event_type: activity) - end - - query - |> Ash.Query.sort(inserted_at: :desc) + SecurityAudit.get_map_activity_query(map_id, period, activity) end - @doc """ - Get combined activity including security events for a map. - """ - def get_combined_activity_query(map_id, period, activity) do - {from, to} = period |> get_period() - - # Get regular map activity - map_query = get_activity_query(map_id, period, activity) - - # Get security events related to this map - security_query = - WandererApp.Api.UserActivity - |> Ash.Query.filter(entity_type: :security_event) - |> Ash.Query.filter(inserted_at: [greater_than_or_equal: from]) - |> Ash.Query.filter(inserted_at: [less_than_or_equal: to]) - |> Ash.Query.sort(inserted_at: :desc) - - # Execute both queries and combine results - case {Ash.read(map_query), Ash.read(security_query)} do - {{:ok, map_activities}, {:ok, security_activities}} -> - # Combine and sort by timestamp - combined = - (map_activities ++ security_activities) - |> Enum.sort_by(& &1.inserted_at, {:desc, DateTime}) - - {:ok, combined} - - {{:error, _} = error, _} -> - error - - {_, {:error, _} = error} -> - error - end + def track_acl_event(event_type, metadata) do + SecurityAudit.track_acl_event(event_type, metadata) end - @doc """ - Get security events for a specific map. - """ - def get_security_events_for_map(map_id, period \\ "1D") do - {from, to} = period |> get_period() - - # Get security events that might be related to this map - # This could include data access events, permission denied events, etc. - SecurityAudit.get_events_in_range(from, to) - |> Enum.filter(fn event -> - case Jason.decode(event.event_data || "{}") do - {:ok, data} -> - # Check if the event data contains references to this map - data["resource_id"] == map_id || - data["entity_id"] == map_id || - data["map_id"] == map_id - - _ -> - false - end - end) + def track_map_event(event_type, metadata) do + SecurityAudit.track_map_event(event_type, metadata) end - def track_acl_event( - event_type, - %{user_id: user_id, acl_id: acl_id} = metadata - ) - when not is_nil(user_id) and not is_nil(acl_id), - do: - WandererApp.Api.UserActivity.new(%{ - user_id: user_id, - entity_type: :access_list, - entity_id: acl_id, - event_type: event_type, - event_data: metadata |> Map.drop([:user_id, :acl_id]) |> Jason.encode!() - }) - - def track_acl_event(_event_type, _metadata), do: {:ok, nil} - - def track_map_event( - event_type, - %{character_id: character_id, user_id: user_id, map_id: map_id} = metadata - ) - when not is_nil(character_id) and not is_nil(user_id) and not is_nil(map_id) do - # Log regular map activity - result = - WandererApp.Api.UserActivity.new(%{ - character_id: character_id, - user_id: user_id, - entity_type: :map, - entity_id: map_id, - event_type: event_type, - event_data: metadata |> Map.drop([:character_id, :user_id, :map_id]) |> Jason.encode!() - }) - - # Also log security-relevant map events - if security_relevant_event?(event_type) do - SecurityAudit.log_data_access( - "map", - map_id, - user_id, - event_type, - metadata - ) - end - - result - end - - def track_map_event(_event_type, _metadata), do: {:ok, nil} - - defp get_period("1H") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-1 * 3600, :second) - {start_date, now} - end - - defp get_period("1D") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-24 * 3600, :second) - {start_date, now} - end - - defp get_period("1W") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-24 * 3600 * 7, :second) - {start_date, now} - end - - defp get_period("1M") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-24 * 3600 * 31, :second) - {start_date, now} - end - - defp get_period("2M") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-24 * 3600 * 31 * 2, :second) - {start_date, now} - end - - defp get_period("3M") do - now = DateTime.utc_now() - start_date = now |> DateTime.add(-24 * 3600 * 31 * 3, :second) - {start_date, now} - end - - defp get_period(_), do: get_period("1H") - defp get_expired_at(), do: DateTime.utc_now() |> DateTime.add(-@audit_expired_seconds, :second) - - defp security_relevant_event?(event_type) do - # Define which map events should also be logged as security events - event_type in [ - :map_acl_added, - :map_acl_removed, - :map_acl_updated, - :map_acl_member_added, - :map_acl_member_removed, - :map_acl_member_updated, - :map_removed, - :character_added, - :character_removed - ] - end end diff --git a/lib/wanderer_app/map/server/map_server_pings_impl.ex b/lib/wanderer_app/map/server/map_server_pings_impl.ex index 702856b7..1faecba5 100644 --- a/lib/wanderer_app/map/server/map_server_pings_impl.ex +++ b/lib/wanderer_app/map/server/map_server_pings_impl.ex @@ -75,7 +75,7 @@ defmodule WandererApp.Map.Server.PingsImpl do ) do {:ok, character} = WandererApp.Character.get_character(character_id) - {:ok, %{system: %{solar_system_id: solar_system_id}} = ping} = + {:ok, %{system: %{id: system_id, name: system_name, solar_system_id: solar_system_id}} = ping} = WandererApp.MapPingsRepo.get_by_id(ping_id) :ok = WandererApp.MapPingsRepo.destroy(ping) @@ -89,12 +89,13 @@ defmodule WandererApp.Map.Server.PingsImpl do # Broadcast rally point removal events to external clients (webhooks/SSE) if type == 1 do WandererApp.ExternalEvents.broadcast(map_id, :rally_point_removed, %{ + id: ping_id, solar_system_id: solar_system_id, - system_id: system.id, + system_id: system_id, character_id: character_id, character_name: character.name, character_eve_id: character.eve_id, - system_name: system.name + system_name: system_name }) end @@ -102,7 +103,7 @@ defmodule WandererApp.Map.Server.PingsImpl do character_id: character_id, user_id: user_id, map_id: map_id, - solar_system_id: "#{solar_system_id}" + solar_system_id: solar_system_id }) state diff --git a/lib/wanderer_app/security_audit.ex b/lib/wanderer_app/security_audit.ex new file mode 100644 index 00000000..dc60851c --- /dev/null +++ b/lib/wanderer_app/security_audit.ex @@ -0,0 +1,898 @@ +defmodule WandererApp.SecurityAudit do + @moduledoc """ + Comprehensive security audit logging system. + + This module provides centralized logging for security-related events including: + - Authentication events (login, logout, failures) + - Authorization events (permission denied, privilege escalation) + - Data access events (sensitive queries, bulk exports) + - Configuration changes and admin actions + """ + + require Logger + require Ash.Query + + alias WandererApp.Api.UserActivity + + @doc """ + Log a security event with structured data. + + ## Examples + + iex> WandererApp.SecurityAudit.log_event(:auth_success, user_id, %{ + ...> ip_address: "192.168.1.100", + ...> user_agent: "Mozilla/5.0...", + ...> auth_method: "session" + ...> }) + :ok + """ + def log_event(event_type, user_id, details \\ %{}) do + audit_entry = %{ + event_type: event_type, + user_id: user_id, + timestamp: DateTime.utc_now(), + details: details, + severity: determine_severity(event_type), + session_id: details[:session_id], + ip_address: details[:ip_address], + user_agent: details[:user_agent] + } + + # Store in database + store_audit_entry(audit_entry) + + # Send to telemetry for monitoring + emit_telemetry_event(audit_entry) + + # Log to application logs + log_to_application_log(audit_entry) + + # Check for security alerts + check_security_alerts(audit_entry) + + :ok + end + + @doc """ + Log authentication events. + """ + def log_auth_event(event_type, user_id, request_details) do + # Start with the basic required fields + details = %{ + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + auth_method: request_details[:auth_method], + session_id: request_details[:session_id] + } + + # Merge any additional fields from request_details + details = Map.merge(details, request_details) + + log_event(event_type, user_id, details) + end + + @doc """ + Log data access events. + """ + def log_data_access(resource_type, resource_id, user_id, action, request_details \\ %{}) do + details = %{ + resource_type: resource_type, + resource_id: resource_id, + action: action, + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + session_id: request_details[:session_id] + } + + log_event(:data_access, user_id, details) + end + + @doc """ + Log permission denied events. + """ + def log_permission_denied( + resource_type, + resource_id, + user_id, + attempted_action, + request_details \\ %{} + ) do + details = %{ + resource_type: resource_type, + resource_id: resource_id, + attempted_action: attempted_action, + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + session_id: request_details[:session_id] + } + + log_event(:permission_denied, user_id, details) + end + + @doc """ + Log admin actions. + """ + def log_admin_action(action, user_id, target_resource, request_details \\ %{}) do + details = %{ + action: action, + target_resource: target_resource, + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + session_id: request_details[:session_id] + } + + log_event(:admin_action, user_id, details) + end + + @doc """ + Log configuration changes. + """ + def log_config_change(config_key, old_value, new_value, user_id, request_details \\ %{}) do + details = %{ + config_key: config_key, + old_value: sanitize_sensitive_data(old_value), + new_value: sanitize_sensitive_data(new_value), + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + session_id: request_details[:session_id] + } + + log_event(:config_change, user_id, details) + end + + @doc """ + Log bulk data operations. + """ + def log_bulk_operation(operation_type, record_count, user_id, request_details \\ %{}) do + details = %{ + operation_type: operation_type, + record_count: record_count, + ip_address: request_details[:ip_address], + user_agent: request_details[:user_agent], + session_id: request_details[:session_id] + } + + log_event(:bulk_operation, user_id, details) + end + + @doc """ + Get audit events for a specific user. + """ + def get_user_audit_events(user_id, limit \\ 100) do + UserActivity + |> Ash.Query.filter(user_id: user_id) + |> Ash.Query.filter(entity_type: :security_event) + |> Ash.Query.sort(inserted_at: :desc) + |> Ash.Query.limit(limit) + |> Ash.read!() + end + + @doc """ + Get recent security events. + """ + def get_recent_events(limit \\ 50) do + UserActivity + |> Ash.Query.filter(entity_type: :security_event) + |> Ash.Query.sort(inserted_at: :desc) + |> Ash.Query.limit(limit) + |> Ash.read!() + end + + @doc """ + Get security events by type. + """ + def get_events_by_type(event_type, limit \\ 50) do + UserActivity + |> Ash.Query.filter(entity_type: :security_event) + |> Ash.Query.filter(event_type: event_type) + |> Ash.Query.sort(inserted_at: :desc) + |> Ash.Query.limit(limit) + |> Ash.read!() + end + + @doc """ + Get security events within a time range. + """ + def get_events_in_range(from_datetime, to_datetime, limit \\ 100) do + UserActivity + |> Ash.Query.filter(entity_type: :security_event) + |> Ash.Query.filter(inserted_at: [greater_than_or_equal: from_datetime]) + |> Ash.Query.filter(inserted_at: [less_than_or_equal: to_datetime]) + |> Ash.Query.sort(inserted_at: :desc) + |> Ash.Query.limit(limit) + |> Ash.read!() + end + + @doc """ + Track map-related events (compatibility with Map.Audit). + """ + def track_map_event( + event_type, + %{character_id: character_id, user_id: user_id, map_id: map_id} = metadata + ) + when not is_nil(character_id) and not is_nil(user_id) and not is_nil(map_id) do + # Sanitize and prepare metadata + sanitized_metadata = + metadata + |> Map.drop([:character_id, :user_id, :map_id]) + |> sanitize_metadata() + + attrs = %{ + character_id: character_id, + user_id: user_id, + entity_type: :map, + entity_id: map_id, + event_type: normalize_event_type(event_type), + event_data: Jason.encode!(sanitized_metadata) + } + + case UserActivity.new(attrs) do + {:ok, activity} -> + {:ok, activity} + + {:error, error} -> + Logger.error("Failed to track map event", + error: inspect(error), + event_type: event_type, + map_id: map_id + ) + + {:error, error} + end + end + + def track_map_event(_event_type, _metadata), do: {:ok, nil} + + @doc """ + Track ACL-related events (compatibility with Map.Audit). + """ + def track_acl_event( + event_type, + %{user_id: user_id, acl_id: acl_id} = metadata + ) + when not is_nil(user_id) and not is_nil(acl_id) do + # Sanitize and prepare metadata + sanitized_metadata = + metadata + |> Map.drop([:user_id, :acl_id]) + |> sanitize_metadata() + + attrs = %{ + user_id: user_id, + entity_type: :access_list, + entity_id: acl_id, + event_type: normalize_event_type(event_type), + event_data: Jason.encode!(sanitized_metadata) + } + + case UserActivity.new(attrs) do + {:ok, activity} -> + {:ok, activity} + + {:error, error} -> + Logger.error("Failed to track ACL event", + error: inspect(error), + event_type: event_type, + acl_id: acl_id + ) + + {:error, error} + end + end + + def track_acl_event(_event_type, _metadata), do: {:ok, nil} + + @doc """ + Get activity query for maps (compatibility with Map.Audit). + """ + def get_map_activity_query(map_id, period, activity \\ "all") do + {from, to} = get_period(period) + + query = + UserActivity + |> Ash.Query.filter( + and: [ + [entity_id: map_id], + [inserted_at: [greater_than_or_equal: from]], + [inserted_at: [less_than_or_equal: to]] + ] + ) + + query = + case activity do + "all" -> + query + + activity -> + query + |> Ash.Query.filter(event_type: normalize_event_type(activity)) + end + + query + |> Ash.Query.sort(inserted_at: :desc) + end + + defp get_period("1H") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -1 * 3600, :second) + {start_date, now} + end + + defp get_period("1D") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -24 * 3600, :second) + {start_date, now} + end + + defp get_period("1W") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -24 * 3600 * 7, :second) + {start_date, now} + end + + defp get_period("1M") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -24 * 3600 * 31, :second) + {start_date, now} + end + + defp get_period("2M") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -24 * 3600 * 31 * 2, :second) + {start_date, now} + end + + defp get_period("3M") do + now = DateTime.utc_now() + start_date = DateTime.add(now, -24 * 3600 * 31 * 3, :second) + {start_date, now} + end + + defp get_period(_), do: get_period("1H") + + @doc """ + Check for suspicious patterns in user activity. + """ + def analyze_user_behavior(user_id, time_window \\ 3600) do + now = DateTime.utc_now() + from_time = DateTime.add(now, -time_window, :second) + + # Get recent activities + activities = + UserActivity + |> Ash.Query.filter(user_id: user_id) + |> Ash.Query.filter(entity_type: :security_event) + |> Ash.Query.filter(inserted_at: [greater_than_or_equal: from_time]) + |> Ash.Query.sort(inserted_at: :desc) + |> Ash.read!() + + # Analyze patterns + patterns = analyze_patterns(activities) + risk_score = calculate_risk_score(patterns) + recommendations = generate_recommendations(patterns, risk_score) + + %{ + risk_score: risk_score, + suspicious_patterns: patterns, + recommendations: recommendations, + activities_analyzed: length(activities), + time_window_seconds: time_window + } + end + + defp analyze_patterns(activities) do + patterns = [] + + # Count by event type + event_counts = Enum.frequencies_by(activities, & &1.event_type) + + # Check for multiple auth failures + auth_failures = Map.get(event_counts, :auth_failure, 0) + + patterns = + if auth_failures >= 3 do + [{:multiple_auth_failures, auth_failures} | patterns] + else + patterns + end + + # Check for permission denied spikes + permission_denied = Map.get(event_counts, :permission_denied, 0) + + patterns = + if permission_denied >= 5 do + [{:excessive_permission_denials, permission_denied} | patterns] + else + patterns + end + + # Check for rapid activity (more than 100 events in time window) + patterns = + if length(activities) > 100 do + [{:high_activity_volume, length(activities)} | patterns] + else + patterns + end + + # Check for geographic anomalies by analyzing unique IPs + unique_ips = + activities + |> Enum.map(fn activity -> + case Jason.decode(activity.event_data || "{}") do + {:ok, data} -> data["ip_address"] + _ -> nil + end + end) + |> Enum.reject(&is_nil/1) + |> Enum.uniq() + |> length() + + patterns = + if unique_ips > 5 do + [{:multiple_ip_addresses, unique_ips} | patterns] + else + patterns + end + + patterns + end + + defp calculate_risk_score(patterns) do + score = + Enum.reduce(patterns, 0, fn + {:multiple_auth_failures, count}, acc -> acc + count * 2 + {:excessive_permission_denials, count}, acc -> acc + count * 1.5 + {:high_activity_volume, _}, acc -> acc + 5 + {:multiple_ip_addresses, count}, acc -> acc + count * 3 + _, acc -> acc + end) + + cond do + score >= 20 -> :critical + score >= 10 -> :high + score >= 5 -> :medium + true -> :low + end + end + + defp generate_recommendations(patterns, risk_score) do + base_recommendations = + case risk_score do + :critical -> ["Immediate review required", "Consider blocking user temporarily"] + :high -> ["Monitor user activity closely", "Review recent actions"] + :medium -> ["Keep user under observation"] + :low -> [] + end + + pattern_recommendations = + Enum.flat_map(patterns, fn + {:multiple_auth_failures, _} -> + ["Reset user password", "Enable MFA"] + + {:excessive_permission_denials, _} -> + ["Review user permissions", "Check for compromised account"] + + {:high_activity_volume, _} -> + ["Check for automated activity", "Review API usage"] + + {:multiple_ip_addresses, _} -> + ["Verify user location changes", "Check for account sharing"] + + _ -> + [] + end) + + Enum.uniq(base_recommendations ++ pattern_recommendations) + end + + # Private functions + + defp store_audit_entry(audit_entry) do + # Handle async processing if enabled + if async_enabled?() do + WandererApp.SecurityAudit.AsyncProcessor.log_event(audit_entry) + else + do_store_audit_entry(audit_entry) + end + end + + @doc false + def do_store_audit_entry(audit_entry) do + # Ensure event_type is properly formatted + event_type = normalize_event_type(audit_entry.event_type) + + attrs = %{ + user_id: audit_entry.user_id, + character_id: nil, + entity_id: hash_identifier(audit_entry.session_id), + entity_type: :security_event, + event_type: event_type, + event_data: encode_event_data(audit_entry) + } + + case UserActivity.new(attrs) do + {:ok, _activity} -> + :ok + + {:error, error} -> + Logger.error("Failed to store security audit entry", + error: inspect(error), + event_type: event_type, + user_id: audit_entry.user_id + ) + + # Emit telemetry for monitoring + :telemetry.execute( + [:wanderer_app, :security_audit, :storage_error], + %{count: 1}, + %{event_type: event_type, error: error} + ) + + # Don't block the request, but track the failure + {:error, :storage_failed} + end + end + + defp hash_identifier(identifier) when is_binary(identifier) do + secret_salt = + Application.get_env(:wanderer_app, :secret_key_base) || + raise "SECRET_KEY_BASE not configured" + + :crypto.hash(:sha256, secret_salt <> identifier) + |> Base.encode16(case: :lower) + end + + defp hash_identifier(nil), do: generate_entity_id() + + defp normalize_event_type(event_type) when is_atom(event_type), do: event_type + + defp normalize_event_type(event_type) when is_binary(event_type) do + try do + String.to_existing_atom(event_type) + rescue + ArgumentError -> :security_alert + end + end + + defp normalize_event_type(_), do: :security_alert + + defp encode_event_data(audit_entry) do + sanitized_details = sanitize_for_json(audit_entry.details) + + data = + Map.merge(sanitized_details, %{ + timestamp: convert_datetime(audit_entry.timestamp), + severity: to_string(audit_entry.severity), + ip_address: audit_entry.ip_address, + user_agent: audit_entry.user_agent + }) + + case Jason.encode(data) do + {:ok, json} -> json + {:error, _} -> Jason.encode!(%{error: "Failed to encode audit data"}) + end + end + + defp sanitize_for_json(data) when is_map(data) do + data + |> Enum.reduce(%{}, fn {key, value}, acc -> + sanitized_key = to_string(key) + + # Skip sensitive fields + if sanitized_key in ~w(password secret token private_key api_key) do + acc + else + Map.put(acc, sanitized_key, sanitize_value(value)) + end + end) + end + + defp sanitize_for_json(data), do: sanitize_value(data) + + defp sanitize_metadata(metadata) do + # List of sensitive keys to remove from metadata + sensitive_keys = [:password, :token, :secret, :api_key, :private_key, :auth_token] + + metadata + |> Map.drop(sensitive_keys) + |> Enum.map(fn {k, v} -> + # Ensure keys are strings or atoms + key = if is_binary(k), do: k, else: to_string(k) + {key, sanitize_value(v)} + end) + |> Enum.into(%{}) + end + + defp sanitize_value(%DateTime{} = dt), do: DateTime.to_iso8601(dt) + defp sanitize_value(%NaiveDateTime{} = dt), do: NaiveDateTime.to_iso8601(dt) + defp sanitize_value(%Date{} = date), do: Date.to_iso8601(date) + defp sanitize_value(%Time{} = time), do: Time.to_iso8601(time) + + defp sanitize_value(atom) when is_atom(atom) and not is_nil(atom) and not is_boolean(atom), + do: to_string(atom) + + defp sanitize_value(list) when is_list(list), do: Enum.map(list, &sanitize_value/1) + defp sanitize_value(map) when is_map(map), do: sanitize_for_json(map) + defp sanitize_value(value), do: value + + defp convert_datetime(%DateTime{} = dt), do: DateTime.to_iso8601(dt) + defp convert_datetime(%NaiveDateTime{} = dt), do: NaiveDateTime.to_iso8601(dt) + defp convert_datetime(value), do: value + + defp generate_entity_id do + "audit_#{DateTime.utc_now() |> DateTime.to_unix(:microsecond)}_#{System.unique_integer([:positive])}" + end + + defp async_enabled? do + Application.get_env(:wanderer_app, __MODULE__, []) + |> Keyword.get(:async, false) + end + + defp emit_telemetry_event(audit_entry) do + :telemetry.execute( + [:wanderer_app, :security_audit], + %{count: 1}, + %{ + event_type: audit_entry.event_type, + severity: audit_entry.severity, + user_id: audit_entry.user_id + } + ) + end + + defp log_to_application_log(audit_entry) do + log_level = + case audit_entry.severity do + :critical -> :error + :high -> :warning + :medium -> :info + :low -> :debug + end + + Logger.log(log_level, "Security audit: #{audit_entry.event_type}", + user_id: audit_entry.user_id, + timestamp: audit_entry.timestamp, + details: audit_entry.details + ) + end + + defp check_security_alerts(audit_entry) do + case audit_entry.event_type do + :auth_failure -> + check_failed_login_attempts(audit_entry) + + :permission_denied -> + check_privilege_escalation_attempts(audit_entry) + + :bulk_operation -> + check_bulk_data_access(audit_entry) + + :security_alert -> + # Already a security alert, don't double-check + :ok + + _ -> + :ok + end + end + + defp check_failed_login_attempts(audit_entry) do + config = threat_detection_config() + + if config[:enabled] do + ip_address = audit_entry.ip_address || "unknown" + cache_key = "auth_failures:#{ip_address}" + window = config[:window_seconds] || 300 + max_attempts = config[:max_failed_attempts] || 5 + + # Increment counter in Cachex with TTL + count = + case Cachex.incr(:wanderer_app_cache, cache_key) do + {:ok, count} -> + # Set TTL on first increment + if count == 1 do + Cachex.expire(:wanderer_app_cache, cache_key, :timer.seconds(window)) + end + + count + + {:error, :no_key} -> + # Key doesn't exist, initialize it with TTL + case Cachex.put(:wanderer_app_cache, cache_key, 1, ttl: :timer.seconds(window)) do + {:ok, _} -> + 1 + + {:error, error} -> + Logger.error("Failed to initialize auth failure counter", + error: inspect(error), + cache_key: cache_key + ) + + 1 + end + + {:error, error} -> + # Other errors - log and return safe default + Logger.error("Failed to increment auth failure counter", + error: inspect(error), + cache_key: cache_key + ) + + 1 + end + + if count >= max_attempts do + Logger.warning("Potential brute force attack detected", + ip_address: ip_address, + attempts: count, + user_id: audit_entry.user_id + ) + + # Emit security alert + :telemetry.execute( + [:wanderer_app, :security_audit, :threat_detected], + %{count: 1}, + %{threat_type: :brute_force, ip_address: ip_address} + ) + + # Log a security alert event + log_event(:security_alert, audit_entry.user_id, %{ + threat_type: "brute_force", + ip_address: ip_address, + failed_attempts: count, + window_seconds: window + }) + end + end + + :ok + end + + defp check_privilege_escalation_attempts(audit_entry) do + config = threat_detection_config() + + if config[:enabled] && audit_entry.user_id do + cache_key = "privilege_escalation:#{audit_entry.user_id}" + window = config[:window_seconds] || 300 + max_denials = config[:max_permission_denials] || 10 + + count = + case Cachex.incr(:wanderer_app_cache, cache_key) do + {:ok, count} -> + if count == 1 do + Cachex.expire(:wanderer_app_cache, cache_key, :timer.seconds(window)) + end + + count + + {:error, :no_key} -> + # Key doesn't exist, initialize it with TTL + case Cachex.put(:wanderer_app_cache, cache_key, 1, ttl: :timer.seconds(window)) do + {:ok, _} -> + 1 + + {:error, error} -> + Logger.error("Failed to initialize privilege escalation counter", + error: inspect(error), + cache_key: cache_key + ) + + 1 + end + + {:error, error} -> + # Other errors - log and return safe default + Logger.error("Failed to increment privilege escalation counter", + error: inspect(error), + cache_key: cache_key + ) + + 1 + end + + if count >= max_denials do + Logger.warning("Potential privilege escalation attempt detected", + user_id: audit_entry.user_id, + denials: count, + resource_type: audit_entry.details[:resource_type] + ) + + :telemetry.execute( + [:wanderer_app, :security_audit, :threat_detected], + %{count: 1}, + %{threat_type: :privilege_escalation, user_id: audit_entry.user_id} + ) + end + end + + :ok + end + + defp check_bulk_data_access(audit_entry) do + config = threat_detection_config() + + if config[:enabled] && audit_entry.user_id do + record_count = audit_entry.details[:record_count] || 0 + threshold = config[:bulk_operation_threshold] || 10000 + + if record_count > threshold do + Logger.warning("Large bulk operation detected", + user_id: audit_entry.user_id, + operation_type: audit_entry.details[:operation_type], + record_count: record_count + ) + + :telemetry.execute( + [:wanderer_app, :security_audit, :bulk_operation], + %{record_count: record_count}, + %{user_id: audit_entry.user_id, operation_type: audit_entry.details[:operation_type]} + ) + end + end + + :ok + end + + defp threat_detection_config do + Application.get_env(:wanderer_app, __MODULE__, []) + |> Keyword.get(:threat_detection, %{}) + end + + defp determine_severity(event_type) do + case event_type do + :auth_failure -> :medium + :permission_denied -> :high + :privilege_escalation -> :critical + :config_change -> :high + :admin_action -> :medium + :bulk_operation -> :medium + :data_access -> :low + :auth_success -> :low + _ -> :medium + end + end + + defp sanitize_sensitive_data(value) when is_binary(value) do + # Patterns to detect sensitive data + sensitive_patterns = [ + ~r/password/i, + ~r/token/i, + ~r/secret/i, + ~r/api[_-]?key/i, + ~r/private[_-]?key/i, + ~r/access[_-]?key/i, + ~r/auth/i, + ~r/bearer\s+[a-zA-Z0-9\-_]+/i, + # Long hex strings (potential tokens) + ~r/[a-f0-9]{32,}/i + ] + + # Check if value contains sensitive patterns + is_sensitive = Enum.any?(sensitive_patterns, &Regex.match?(&1, value)) + + cond do + is_sensitive -> "[REDACTED]" + String.length(value) > 200 -> String.slice(value, 0, 200) <> "..." + true -> value + end + end + + defp sanitize_sensitive_data(value) when is_map(value) do + # Recursively sanitize map values + Map.new(value, fn {k, v} -> + key_str = to_string(k) + + if Regex.match?(~r/password|token|secret|key|auth/i, key_str) do + {k, "[REDACTED]"} + else + {k, sanitize_sensitive_data(v)} + end + end) + end + + defp sanitize_sensitive_data(value) when is_list(value) do + Enum.map(value, &sanitize_sensitive_data/1) + end + + defp sanitize_sensitive_data(value), do: value +end diff --git a/lib/wanderer_app/security_audit/async_processor.ex b/lib/wanderer_app/security_audit/async_processor.ex new file mode 100644 index 00000000..ee94072f --- /dev/null +++ b/lib/wanderer_app/security_audit/async_processor.ex @@ -0,0 +1,246 @@ +defmodule WandererApp.SecurityAudit.AsyncProcessor do + @moduledoc """ + GenServer for asynchronous batch processing of security audit events. + + This server buffers audit events in memory and periodically flushes them + to the database in batches for improved performance. + """ + + use GenServer + require Logger + + alias WandererApp.SecurityAudit + + @default_batch_size 100 + # 5 seconds + @default_flush_interval 5_000 + @max_buffer_size 1_000 + + defstruct [ + :batch_size, + :flush_interval, + :buffer, + :timer_ref, + :stats + ] + + # Client API + + @doc """ + Start the async processor. + """ + def start_link(opts \\ []) do + GenServer.start_link(__MODULE__, opts, name: __MODULE__) + end + + @doc """ + Log an event asynchronously. + """ + def log_event(audit_entry) do + GenServer.cast(__MODULE__, {:log_event, audit_entry}) + end + + @doc """ + Force a flush of the buffer. + """ + def flush do + GenServer.call(__MODULE__, :flush) + end + + @doc """ + Get current processor statistics. + """ + def get_stats do + GenServer.call(__MODULE__, :get_stats) + end + + # Server callbacks + + @impl true + def init(opts) do + config = Application.get_env(:wanderer_app, WandererApp.SecurityAudit, []) + + batch_size = Keyword.get(opts, :batch_size, config[:batch_size] || @default_batch_size) + + flush_interval = + Keyword.get(opts, :flush_interval, config[:flush_interval] || @default_flush_interval) + + state = %__MODULE__{ + batch_size: batch_size, + flush_interval: flush_interval, + buffer: [], + timer_ref: nil, + stats: %{ + events_processed: 0, + batches_flushed: 0, + errors: 0, + last_flush: nil + } + } + + # Schedule first flush + state = schedule_flush(state) + + {:ok, state} + end + + @impl true + def handle_cast({:log_event, audit_entry}, state) do + # Add to buffer + buffer = [audit_entry | state.buffer] + + # Update stats + stats = Map.update!(state.stats, :events_processed, &(&1 + 1)) + + # Check if we need to flush + cond do + length(buffer) >= state.batch_size -> + # Flush immediately if batch size reached + {:noreply, do_flush(%{state | buffer: buffer, stats: stats})} + + length(buffer) >= @max_buffer_size -> + # Force flush if max buffer size reached + Logger.warning("Security audit buffer overflow, forcing flush", + buffer_size: length(buffer), + max_size: @max_buffer_size + ) + + {:noreply, do_flush(%{state | buffer: buffer, stats: stats})} + + true -> + # Just add to buffer + {:noreply, %{state | buffer: buffer, stats: stats}} + end + end + + @impl true + def handle_call(:flush, _from, state) do + new_state = do_flush(state) + {:reply, :ok, new_state} + end + + @impl true + def handle_call(:get_stats, _from, state) do + stats = Map.put(state.stats, :current_buffer_size, length(state.buffer)) + {:reply, stats, state} + end + + @impl true + def handle_info(:flush_timer, state) do + state = + if length(state.buffer) > 0 do + do_flush(state) + else + state + end + + # Schedule next flush + state = schedule_flush(state) + + {:noreply, state} + end + + @impl true + def terminate(_reason, state) do + # Flush any remaining events on shutdown + if length(state.buffer) > 0 do + do_flush(state) + end + + :ok + end + + # Private functions + + defp schedule_flush(state) do + # Cancel existing timer if any + if state.timer_ref do + Process.cancel_timer(state.timer_ref) + end + + # Schedule new timer + timer_ref = Process.send_after(self(), :flush_timer, state.flush_interval) + + %{state | timer_ref: timer_ref} + end + + defp do_flush(state) when length(state.buffer) == 0 do + state + end + + defp do_flush(state) do + # Take events to flush (reverse to maintain order) + events = Enum.reverse(state.buffer) + + # Attempt to store events + case bulk_store_events(events) do + {:ok, count} -> + Logger.debug("Flushed #{count} security audit events") + + # Update stats + stats = + state.stats + |> Map.update!(:batches_flushed, &(&1 + 1)) + |> Map.put(:last_flush, DateTime.utc_now()) + + # Clear buffer + %{state | buffer: [], stats: stats} + + {:error, reason} -> + Logger.error("Failed to flush security audit events", + reason: inspect(reason), + event_count: length(events) + ) + + # Update error stats + stats = Map.update!(state.stats, :errors, &(&1 + 1)) + + # Implement backoff - keep events in buffer but don't grow indefinitely + buffer = + if length(state.buffer) > @max_buffer_size do + Logger.warning("Dropping oldest audit events due to repeated flush failures") + Enum.take(state.buffer, @max_buffer_size) + else + state.buffer + end + + %{state | buffer: buffer, stats: stats} + end + end + + defp bulk_store_events(events) do + # Process events in smaller chunks if necessary + events + # Ash bulk operations work better with smaller chunks + |> Enum.chunk_every(50) + |> Enum.reduce_while({:ok, 0}, fn chunk, {:ok, count} -> + case store_event_chunk(chunk) do + {:ok, chunk_count} -> + {:cont, {:ok, count + chunk_count}} + + {:error, _} = error -> + {:halt, error} + end + end) + end + + defp store_event_chunk(events) do + # Transform events to Ash attributes + records = + Enum.map(events, fn event -> + SecurityAudit.do_store_audit_entry(event) + end) + + # Count successful stores + successful = + Enum.count(records, fn + :ok -> true + _ -> false + end) + + {:ok, successful} + rescue + error -> + {:error, error} + end +end diff --git a/lib/wanderer_app/ueberauth/strategy/eve/oauth.ex b/lib/wanderer_app/ueberauth/strategy/eve/oauth.ex index 4ada22d8..895b63b4 100644 --- a/lib/wanderer_app/ueberauth/strategy/eve/oauth.ex +++ b/lib/wanderer_app/ueberauth/strategy/eve/oauth.ex @@ -45,17 +45,18 @@ defmodule WandererApp.Ueberauth.Strategy.Eve.OAuth do """ def authorize_url!(params \\ [], opts \\ []) do opts + |> Keyword.put(:redirect_uri, "#{WandererApp.Env.base_url()}/auth/eve/callback") |> client |> OAuth2.Client.authorize_url!(params) end def get(token, url, headers \\ [], opts \\ []) do [token: token] + |> Keyword.put(:redirect_uri, "#{WandererApp.Env.base_url()}/auth/eve/callback") |> client |> put_param("response_type", "code") |> put_param("client_id", client().client_id) |> put_param("state", "ccp_auth_response") - |> put_param("redirect_uri", "#{WandererApp.Env.base_url()}/auth/eve/callback") |> OAuth2.Client.get(url, headers, opts) end diff --git a/lib/wanderer_app_web/components/core_components.ex b/lib/wanderer_app_web/components/core_components.ex index 57273377..19ae39d8 100644 --- a/lib/wanderer_app_web/components/core_components.ex +++ b/lib/wanderer_app_web/components/core_components.ex @@ -65,8 +65,7 @@ defmodule WandererAppWeb.CoreComponents do phx-mounted={@show && show_modal(@id)} phx-remove={hide_modal(@id)} data-cancel={JS.exec(@on_cancel, "phx-remove")} - class="relative z-50 hidden overflow-visible" - class="" + class="relative z-[1000] hidden overflow-visible" > diff --git a/lib/wanderer_app_web/plugs/api_versioning.ex b/lib/wanderer_app_web/plugs/api_versioning.ex index 0054271d..02cf945f 100644 --- a/lib/wanderer_app_web/plugs/api_versioning.ex +++ b/lib/wanderer_app_web/plugs/api_versioning.ex @@ -13,6 +13,7 @@ defmodule WandererAppWeb.Plugs.ApiVersioning do import Plug.Conn alias WandererApp.SecurityAudit + alias WandererApp.Audit.RequestContext @supported_versions ["1"] @default_version "1" @@ -260,14 +261,13 @@ defmodule WandererAppWeb.Plugs.ApiVersioning do defp log_deprecation_usage(conn, version) do user_id = get_user_id(conn) + request_details = RequestContext.build_request_details(conn) - SecurityAudit.log_event(:deprecated_api_usage, user_id, %{ - version: version, - path: conn.request_path, - method: conn.method, - user_agent: get_user_agent(conn), - ip_address: get_peer_ip(conn) - }) + SecurityAudit.log_event( + :deprecated_api_usage, + user_id, + Map.put(request_details, :version, version) + ) conn end @@ -316,12 +316,15 @@ defmodule WandererAppWeb.Plugs.ApiVersioning do # Error handling defp handle_version_error(conn, reason, _opts) do - SecurityAudit.log_event(:api_version_error, get_user_id(conn), %{ - reason: reason, - path: conn.request_path, - method: conn.method, - headers: get_version_headers(conn) - }) + request_details = RequestContext.build_request_details(conn) + + SecurityAudit.log_event( + :api_version_error, + get_user_id(conn), + request_details + |> Map.put(:reason, reason) + |> Map.put(:headers, get_version_headers(conn)) + ) conn |> send_version_error(400, "Invalid API version", %{ @@ -376,35 +379,6 @@ defmodule WandererAppWeb.Plugs.ApiVersioning do end end - defp get_user_agent(conn) do - case get_req_header(conn, "user-agent") do - [user_agent] -> user_agent - [] -> "unknown" - end - end - - defp get_peer_ip(conn) do - case get_req_header(conn, "x-forwarded-for") do - [forwarded_for] -> - forwarded_for - |> String.split(",") - |> List.first() - |> String.trim() - - [] -> - case get_req_header(conn, "x-real-ip") do - [real_ip] -> - real_ip - - [] -> - case conn.remote_ip do - {a, b, c, d} -> "#{a}.#{b}.#{c}.#{d}" - _ -> "unknown" - end - end - end - end - defp get_version_headers(conn) do %{ "api-version" => get_req_header(conn, "api-version"), @@ -429,8 +403,6 @@ defmodule WandererAppWeb.Plugs.ApiVersioning do end defp get_breaking_changes(from_version, to_version) do - # Define breaking changes between versions - # Since we've consolidated to v1, most legacy versions are no longer supported %{ {"1.0", "1"} => [ "All API endpoints now use /api/v1/ prefix", diff --git a/lib/wanderer_app_web/plugs/request_validator.ex b/lib/wanderer_app_web/plugs/request_validator.ex index 7d776d7c..3533af42 100644 --- a/lib/wanderer_app_web/plugs/request_validator.ex +++ b/lib/wanderer_app_web/plugs/request_validator.ex @@ -14,6 +14,7 @@ defmodule WandererAppWeb.Plugs.RequestValidator do import Plug.Conn alias WandererApp.SecurityAudit + alias WandererApp.Audit.RequestContext # 10MB @max_request_size 10 * 1024 * 1024 @@ -344,13 +345,13 @@ defmodule WandererAppWeb.Plugs.RequestValidator do # Log security threat user_id = get_user_id(conn) - SecurityAudit.log_event(:security_alert, user_id, %{ - threats: threats, - ip_address: get_peer_ip(conn), - user_agent: get_user_agent(conn), - request_path: conn.request_path, - method: conn.method - }) + request_details = RequestContext.build_request_details(conn) + + SecurityAudit.log_event( + :security_alert, + user_id, + Map.put(request_details, :threats, threats) + ) conn |> send_validation_error(400, "Malicious content detected", %{ @@ -457,35 +458,6 @@ defmodule WandererAppWeb.Plugs.RequestValidator do end end - defp get_peer_ip(conn) do - case get_req_header(conn, "x-forwarded-for") do - [forwarded_for] -> - forwarded_for - |> String.split(",") - |> List.first() - |> String.trim() - - [] -> - case get_req_header(conn, "x-real-ip") do - [real_ip] -> - real_ip - - [] -> - case conn.remote_ip do - {a, b, c, d} -> "#{a}.#{b}.#{c}.#{d}" - _ -> "unknown" - end - end - end - end - - defp get_user_agent(conn) do - case get_req_header(conn, "user-agent") do - [user_agent] -> user_agent - [] -> "unknown" - end - end - defp send_validation_error(conn, status, message, details) do error_response = %{ error: message, @@ -504,14 +476,15 @@ defmodule WandererAppWeb.Plugs.RequestValidator do # Log the validation error user_id = get_user_id(conn) - SecurityAudit.log_event(:security_alert, user_id, %{ - error: "validation_error", - message: Exception.message(error), - ip_address: get_peer_ip(conn), - user_agent: get_user_agent(conn), - request_path: conn.request_path, - method: conn.method - }) + request_details = RequestContext.build_request_details(conn) + + SecurityAudit.log_event( + :security_alert, + user_id, + request_details + |> Map.put(:error, "validation_error") + |> Map.put(:message, Exception.message(error)) + ) conn |> send_validation_error(500, "Request validation failed", %{ diff --git a/lib/wanderer_app_web/presence.ex b/lib/wanderer_app_web/presence.ex index 8f5754d1..92fa0f75 100644 --- a/lib/wanderer_app_web/presence.ex +++ b/lib/wanderer_app_web/presence.ex @@ -31,8 +31,6 @@ defmodule WandererAppWeb.Presence do character_id end) - WandererApp.Cache.insert("map_#{map_id}:presence_updated", true) - WandererApp.Cache.insert( "map_#{map_id}:presence_character_ids", presence_tracked_character_ids @@ -43,6 +41,8 @@ defmodule WandererAppWeb.Presence do presence_data ) + WandererApp.Cache.insert("map_#{map_id}:presence_updated", true) + {:ok, state} end end diff --git a/mix.exs b/mix.exs index e781ee0e..473ef25d 100644 --- a/mix.exs +++ b/mix.exs @@ -3,7 +3,7 @@ defmodule WandererApp.MixProject do @source_url "https://github.com/wanderer-industries/wanderer" - @version "1.74.11" + @version "1.75.23" def project do [ diff --git a/priv/posts/2025/01-05-map-public-api.md b/priv/posts/2025/01-05-map-public-api.md index bb1160d3..6b60aaf8 100644 --- a/priv/posts/2025/01-05-map-public-api.md +++ b/priv/posts/2025/01-05-map-public-api.md @@ -21,8 +21,9 @@ As part of the Wanderer platform, a public API has been introduced to help users ## Authentication Each request to the Wanderer APIs that being with /api/map must include a valid API key in the `Authorization` header. The format is: - - Authorization: Bearer +``` +Authorization: Bearer +``` If the API key is missing or incorrect, you'll receive a `401 Unauthorized` response. diff --git a/priv/posts/2025/05-07-systems-connections-api.md b/priv/posts/2025/05-07-systems-connections-api.md index 5db6e718..abd6a5ef 100644 --- a/priv/posts/2025/05-07-systems-connections-api.md +++ b/priv/posts/2025/05-07-systems-connections-api.md @@ -1,7 +1,7 @@ %{ title: "Guide: Systems and Connections API", author: "Wanderer Team", - cover_image_uri: "/images/news/03-06-systems/api-endpoints.png", + cover_image_uri: "/images/news/05-07-systems/api-endpoints.png", tags: ~w(api map systems connections documentation), description: "Detailed guide for Wanderer's systems and connections API endpoints, including batch operations, updates, and deletions." } diff --git a/priv/posts/2025/07-15-api-modernization.md b/priv/posts/2025/07-15-api-modernization.md index 87668c3e..03e01719 100644 --- a/priv/posts/2025/07-15-api-modernization.md +++ b/priv/posts/2025/07-15-api-modernization.md @@ -1,7 +1,7 @@ %{ title: "API Modernization: JSON:API v1 and Enhanced Developer Experience", author: "Wanderer Team", -cover_image_uri: "/images/news/01-15-api-modernization/api-hero.png", +cover_image_uri: "/images/news/07-15-api-modernization/api-hero.png", tags: ~w(api json-api v1 modernization developer-experience backwards-compatibility ash-framework), description: "Introducing Wanderer's new JSON:API v1 endpoints with enhanced developer experience, comprehensive versioning, and enterprise-grade security - all while maintaining 100% backward compatibility." } diff --git a/priv/posts/2025/07-27-map-default-settings.md b/priv/posts/2025/07-27-map-default-settings.md new file mode 100644 index 00000000..21e5f93d --- /dev/null +++ b/priv/posts/2025/07-27-map-default-settings.md @@ -0,0 +1,136 @@ +%{ + title: "New Feature: Map Default Settings", + author: "Wanderer Team", + cover_image_uri: "/images/news/2025/07-27-settings/common_settings.png", + tags: ~w(feature settings maps customization admin), + description: "Map administrators can now configure default settings for new users, providing a customized initial experience for each map." +} + +--- + +# Introducing Map Default Settings + +## A Better First Experience for Your Map Users + +We're excited to announce a new feature that gives map administrators more control over the user experience: **Map Default Settings**. This feature allows map admins to configure the default settings that new users will receive when they first access a map. + +--- + +## The Challenge + +Previously, all new users would start with the same hardcoded default settings, regardless of the map they were joining. This one-size-fits-all approach meant that: + +- New users often had to spend time configuring settings to match the map's intended use +- Map administrators couldn't optimize the initial experience for their specific mapping needs +- Training new members required explaining which settings to change + +Different mapping groups have different needs. A wormhole mapping corporation might want different default widget layouts than a nullsec alliance. A small gang PvP group might prioritize different information than an exploration-focused team. + +--- + +## The Solution: Customizable Default Settings + +With Map Default Settings, administrators can now: + +1. **Configure their ideal settings** - Set up the map interface exactly as they want new users to experience it +2. **Save as defaults** - With a single click, save these settings as the default for all new users +3. **Provide consistency** - Ensure all new members start with the same optimized configuration + +--- + +## How It Works + +### For Map Administrators + +Setting up default settings is simple: + +1. Configure your map settings to your preferred state +2. Open the Settings dialog and navigate to the 'Admin Settings' tab +4. Click "Save as Map Default" + +That's it! Your current settings are now saved as the default for any new user accessing your map. + +![Admin Settings Interface](/images/news/2025/07-27-settings/admin_settings.png) + +### For New Users + +When a user accesses your map for the first time: + +1. The system checks if they have existing settings for this map +2. If not, it automatically loads the admin-configured defaults +3. The user starts with an optimized configuration from day one +4. They can still customize settings to their personal preferences + +--- + +## Sync with Default Settings + +We've also added a complementary feature: **Sync with Default Settings**. Any user can now reset their settings back to the map's default configuration: + +1. Open Settings β†’ Server Settings tab +2. Click "Sync with Default Settings" +3. Confirm the action +4. Settings are restored to: + - Admin-configured defaults (if available) + +This is perfect for users who want to start fresh or have accidentally misconfigured their settings. + +![Sync with Default Settings Button](/images/news/2025/07-27-settings/server_settings.png) + +--- + +## What Can Be Configured? + +Map default settings include all user interface preferences: + +- **Widget Settings** - Which widgets are visible and their default positions +- **Kill Tracking** - Default kill display options and filters +- **Local Characters** - How local pilots are displayed +- **Signatures** - Default signature widget configuration +- **Routes** - Route planning preferences +- **Map Display** - Visual preferences for the map itself +- **Interface Options** - General UI preferences + +--- + +## Security and Permissions + +- Only map owners and administrators can save default settings +- All users can read and apply default settings +- Settings are validated to ensure they contain only UI preferences +- No sensitive data is stored in default settings + +--- + +## Coming From Other Mapping Tools? + +If you're migrating from another mapping tool, you can now configure Wanderer to feel familiar to your members: +1. Set up the interface to match your previous tool's layout +2. Save as default settings +3. New members will find a familiar interface waiting for them + + +--- + +## Get Started Today + +Map administrators can start using this feature immediately: + +1. Configure your ideal settings +2. Save them as defaults +3. Share your map with confidence that new users will have a great first experience + +We hope this feature helps you create more cohesive and efficient mapping teams. As always, we welcome your feedback and suggestions for future improvements. + +--- + +## Thank You + +Special thanks to our community members who suggested this feature and helped test it during development. Your feedback continues to shape Wanderer into the best mapping tool for EVE Online. + +---- + +Fly safe, +**The Wanderer Team** + +---- diff --git a/priv/repo/data/invGroups.csv b/priv/repo/data/invGroups.csv index cc7e2473..e1e32008 100644 --- a/priv/repo/data/invGroups.csv +++ b/priv/repo/data/invGroups.csv @@ -254,7 +254,7 @@ groupID,categoryID,groupName,iconID,useBasePrice,anchored,anchorable,fittableNon 364,23,Mobile Storage,0,0,0,1,0,0 365,23,Control Tower,0,1,0,1,0,1 366,2,Warp Gate,0,0,1,0,0,0 -367,7,Ballistic Control system,0,0,0,0,0,1 +367,7,Ballistic Control System,0,0,0,0,0,1 368,2,Global Warp Disruptor,0,0,1,0,0,0 369,17,Ship Logs,0,1,0,0,0,1 370,17,Criminal Tags,0,1,0,0,0,1 @@ -1505,7 +1505,7 @@ groupID,categoryID,groupName,iconID,useBasePrice,anchored,anchorable,fittableNon 4757,25,Ueganite,15,0,1,0,0,1 4758,25,Hezorime,15,0,1,0,0,1 4759,25,Griemeer,15,0,1,0,0,1 -4768,39,Sovereignty Hub Anomaly Detection Upgrades,None,1,0,0,0,1 +4768,39,Sovereignty Hub Site Detection Upgrades,None,1,0,0,0,1 4769,7,Capital Mobility Modules,None,0,0,0,0,1 4771,11,Homefront Operations Noncombatant,None,0,0,0,0,0 4772,39,Sovereignty Hub Service Infrastructure Upgrade,None,1,0,0,0,1 @@ -1533,8 +1533,11 @@ groupID,categoryID,groupName,iconID,useBasePrice,anchored,anchorable,fittableNon 4825,2,Local Beacon,None,0,1,0,0,0 4827,17,EDENCOM Data,None,1,0,0,0,1 4828,2,Pirate Spawners,None,0,0,0,0,0 +4838,39,Sovereignty Hub Colony Resources Management Upgrades,None,1,0,0,0,1 +4839,39,Sovereignty Hub System Effect Generator Upgrades,None,1,0,0,0,1 4843,17,Limited Rarities,None,1,0,0,0,1 4857,25,Tyranite,15,0,1,0,0,1 +4900,17,Stability Telemetry,None,1,0,0,0,1 350858,350001,Infantry Weapons,None,1,0,0,0,0 351064,350001,Infantry Dropsuits,None,1,0,0,0,0 351121,350001,Infantry Modules,None,1,0,0,0,0 diff --git a/priv/repo/data/invTypes.csv b/priv/repo/data/invTypes.csv index 6ee070e1..88814414 100644 --- a/priv/repo/data/invTypes.csv +++ b/priv/repo/data/invTypes.csv @@ -2292,7 +2292,7 @@ This modified version of the Mjolnir rocket packs a considerably stronger punch, In addition to revolutionary heat dispersion field projectors, the Utu is equipped with cutting-edge hardwired drone protocols and upgraded warp scrambling capability. Combined with the sturdy armor plating, these qualities make the Utu a powerful ally in any combat encounter.",1216000.0000000000,29500.0000000000,165.0000000000,1,8,200000.0000,1,1623,None,20074,21766 2835,105,Utu Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,0,None,None,None,21766 -2836,358,Adrestia,"The Adrestia is a high-powered blaster platform specially commissioned for the 8th Alliance Tournament. While similar to its sister vessel the Deimos (on which its design was based), this ship nonetheless differs in some very important ways. Utilizing lightweight alloys and a prototype form of ion thruster, the Adrestia is capable of reaching truly mind-boggling speeds for a heavy assault vessel. While this makes it less sturdy than its predecessor, the lack of defensive plating is compensated for by state-of-the-art targeting systems, thoroughly optimized weapon hardpoints and upgraded warp scrambling capability. Don't let the lack of defense fool you; very few vessels out there can stand against the Adrestia toe to toe.",11100000.0000000000,112000.0000000000,440.0000000000,1,8,4500000.0000,1,1621,None,20072,10006 +2836,358,Adrestia,"The Adrestia is a high-powered blaster platform specially commissioned for the 8th Alliance Tournament. While similar to its sister vessel the Deimos (on which its design was based), this ship nonetheless differs in some very important ways. Utilizing lightweight alloys and a prototype form of ion thruster, the Adrestia is capable of reaching truly mind-boggling speeds for a heavy assault vessel. While this makes it less sturdy than its predecessor, the lack of defensive plating is compensated for by state-of-the-art targeting systems, thoroughly optimized weapon hardpoints and upgraded warp scrambling capability. Don't let the lack of defense fool you; very few vessels out there can stand against the Adrestia toe to toe.",11100000.0000000000,112000.0000000000,440.0000000000,1,8,4500000.0000,1,1621,None,20074,10006 2837,106,Adrestia Blueprint,,0E-10,0.0100000000,0E-10,1,None,74000000.0000,0,None,None,None,10006 2838,303,Standard Cerebral Accelerator,"Cerebral accelerators are military-grade boosters that significantly increase a new pilot's skill development. This technology is usually available only to naval officers, but CONCORD has authorized the release of a small number to particularly promising freelance capsuleers.

This booster primes the brain's neural pathways and hippocampus, making it much more receptive to intensive remapping. This allows new capsuleers to more rapidly absorb information of all kinds.

The only drawback to this booster is that capsuleer training renders it ineffective after a while; as such, it will cease to function for pilots who have been registered for more than 35 days.

Bonuses: +5 to all attributes. ",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,10144,None,0 @@ -3531,7 +3531,7 @@ I will vanquish your fear, and commute your flesh to dust. 3515,1013,Revenant Blueprint,,0E-10,0.0100000000,0E-10,1,None,18500000000.0000,1,None,None,None,10038 3516,324,Malice,"The Malice is an assault frigate design exclusively commissioned as a reward in the ninth Alliance Tournament. Sporting custom metal alloys in its plated carapace, it is one of the most expensive ships ever produced in its class. Far from being a mere ornament, though, the Malice features quality armament systems, strong defensive plating and a massive capacitor, and its vastly augmented facility for energy destabilization makes it a formidable adversary in any engagement.",1271000.0000000000,28600.0000000000,210.0000000000,1,4,16100000.0000,1,1623,None,20063,10950 3517,105,Malice Blueprint,,0E-10,0.0100000000,0E-10,1,None,2875000.0000,1,None,None,None,10950 -3518,358,Vangel,"The Vangel is a heavy assault cruiser design exclusively commissioned as a reward in the ninth Alliance Tournament. Like its smaller sibling the Malice, it possesses greatly enhanced energy destabilization systems. Though it was primarily conceived as a combat vessel for the solitary pilot, the Vangelβ€˜s great stores of capacitor power and top-of-the-line armor plating make it no less effective in small fleets. A sleek, deadly triumph of both form and function.",11890000.0000000000,118000.0000000000,550.0000000000,1,4,116100000.0000,1,1621,None,20064,10951 +3518,358,Vangel,"The Vangel is a heavy assault cruiser design exclusively commissioned as a reward in the ninth Alliance Tournament. Like its smaller sibling the Malice, it possesses greatly enhanced energy destabilization systems. Though it was primarily conceived as a combat vessel for the solitary pilot, the Vangelβ€˜s great stores of capacitor power and top-of-the-line armor plating make it no less effective in small fleets. A sleek, deadly triumph of both form and function.",11890000.0000000000,118000.0000000000,550.0000000000,1,4,116100000.0000,1,1621,None,20063,10951 3519,106,Vangel Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,10951 3520,53,Heavy Pulse Laser II,"A heavy laser designed for short to medium range engagements. Delivers powerful damage. @@ -7347,7 +7347,9 @@ Requires hybrid charge types: Antimatter, Iridium, Iron, Lead, Plutonium, Thoriu 10993,806,Mammon Apis,Rogue drones are hi-tech drones that have the ability to manufacture themselves. Rogue drone hives can be found throughout the universe of EVE and are a constant menace to space travelers. Threat level: Moderate,2000000.0000000000,20000.0000000000,235.0000000000,1,None,None,0,None,None,11,1079 10994,806,Asmodeus Apis,Rogue drones are hi-tech drones that have the ability to manufacture themselves. Rogue drone hives can be found throughout the universe of EVE and are a constant menace to space travelers. Threat level: Moderate,2000000.0000000000,20000.0000000000,235.0000000000,1,None,None,0,None,None,11,1119 10995,806,Belphegor Apis,Rogue drones are hi-tech drones that have the ability to manufacture themselves. Rogue drone hives can be found throughout the universe of EVE and are a constant menace to space travelers. Threat level: Moderate,2000000.0000000000,20000.0000000000,235.0000000000,1,None,None,0,None,None,11,20250 -10998,315,Warp Core Stabilizer I,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +10998,315,Warp Core Stabilizer I,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 10999,298,Convoy Escort,Entity: The Condor is fast and agile. It has limited cargo space so it's not very suitable for trading or mining. It is best used as an assault vessel in a hit-and-run type of operations. Special Ability: 5% bonus to shield capacity and hybrid turret range per skill level.,1800000.0000000000,18000.0000000000,150.0000000000,1,1,None,0,None,None,None,39 11000,298,Convoy Protector,"Entity: The Griffin is much used by the Caldari Navy as a support vessel in combat squadrons, using its impressive array of electronic gadgetry to disrupt the operation of target ships, making them easy prey for traditional combat vessels. Special Ability: 5% bonus to hybrid turret range and CPU output per skill level.",1940000.0000000000,19400.0000000000,160.0000000000,1,1,None,0,None,None,None,40 11001,298,Convoy Guard,"Entity: The Kestrel is a heavy missile boat with a fairly large cargo space and one of the most sophisticated sensor arrays around. Interestingly enough, it has been used by both the Caldari Navy and several wealthy trade corporations as a cargo-hauling vessel. It is one of few trading vessels with good punching power, making it ideal for solo trade-runs in dangerous areas. Special Ability: 10% bonus to targeting range per skill level.",1970000.0000000000,19700.0000000000,305.0000000000,1,1,None,0,None,None,None,313 @@ -7580,7 +7582,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1686,2066,None,0 11270,163,Multispectrum Energized Membrane II Blueprint,,0E-10,0.0100000000,0E-10,1,None,10000000000.0000,1,None,2066,None,0 -11277,328,Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +11277,328,Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 11278,348,Thermal Armor Hardener I Blueprint,,0E-10,0.0100000000,0E-10,1,None,2500000.0000,1,1540,20946,None,0 11279,329,1600mm Steel Plates I,"Increases the maximum strength of the Armor. @@ -8030,7 +8032,9 @@ This is a signed copy, with Heideran's signature at the front: ""Semper Pax. Hei 11635,314,Personal Information Data,"This is a stack of data chips holding personal information about a station's general population. Although information on wealthy or important citizens is rarely kept on these disks, they are still quite valuable for criminals. Accessing this information without consent is illegal in most parts of the galaxy.",1.0000000000,1.0000000000,0E-10,1,None,None,1,None,2038,None,0 11636,705,Minmatar Mercenary Warship,This is a mercenary warship of Minmatar origin. The faction it belongs to is unknown. Threat level: Deadly,11200000.0000000000,112000.0000000000,480.0000000000,1,2,None,0,None,None,None,302 11639,683,Minmatar Mercenary Fighter,This is a mercenary fighter ship of Minmatar origin. Its faction allegiance is unknown. Threat level: High,1645000.0000000000,16450.0000000000,110.0000000000,1,2,None,0,None,None,None,44 -11640,315,Warp Core Stabilizer II,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +11640,315,Warp Core Stabilizer II,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 11641,342,Warp Core Stabilizer II Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,97,None,0 11642,328,EM Armor Hardener II,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -8044,7 +8048,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1680,20943,None,0 11647,348,Explosive Armor Hardener II Blueprint,,0E-10,0.0100000000,0E-10,1,None,10000000000.0000,1,None,20943,None,0 -11648,328,Thermal Armor Hardener II,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +11648,328,Thermal Armor Hardener II,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 11649,348,Thermal Armor Hardener II Blueprint,,0E-10,0.0100000000,0E-10,1,None,10000000000.0000,1,None,20946,None,0 11650,817,Zerim Kurzon,"This is the charismatic leader of an Ammatar mercenary network, historically loyal to House Kor-Azor, but rumored to have ties to corporations outside of the Amarr Empire's influence. Formerly a fighter pilot in the Amarr military, Zerim is no stranger to space combat. But even though he has amassed wealth beyond most Ammatarian citizens wildest dreams, Zerim still uses his old Maller cruiser, which he has personally modded to make it a formidable ship of war. Threat level: Deadly",10010000.0000000000,100100.0000000000,235.0000000000,1,4,None,0,None,None,31,57 @@ -8249,8 +8253,7 @@ The news that four more Gold Magnates were being produced for the new Amarr Succ 11944,314,Synthetic Coffee,"This stimulating aromatic drink, made out of dried, roasted and ground seeds, is a particular favorite among scientists and software engineers.",2500.0000000000,0.2000000000,0E-10,1,None,None,1,492,2244,None,0 11947,687,Khanid Fighter,This is a fighter for the Khanid Kingdom. It is protecting the assets of the Khanid Kingdom and may attack anyone it perceives as a threat. Threat level: Moderate,1810000.0000000000,18100.0000000000,225.0000000000,1,4,None,0,None,None,None,1861 11948,689,Khanid Officer,This is an officer for the Khanid Kingdom. He is protecting the assets of the Khanid Kingdom and may attack anyone he perceives as a threat or easy pickings. Threat level: Extreme,12250000.0000000000,115000.0000000000,465.0000000000,1,4,None,0,None,None,None,1856 -11957,833,Falcon,"Force recon ships are the cruiser-class equivalent of covert ops frigates. While not as resilient as combat recon ships, they are nonetheless able to do their job as reconnaissance vessels very effectively, due in no small part to their ability to interface with covert ops cloaking devices and set up cynosural fields for incoming capital ships. -",12230000.0000000000,96000.0000000000,315.0000000000,1,1,168100000.0000,1,830,None,20070,11863 +11957,833,Falcon,"Force recon ships are the cruiser-class equivalent of covert ops frigates. While not as resilient as combat recon ships, they are nonetheless able to do their job as reconnaissance vessels very effectively, due in no small part to their ability to interface with covert ops cloaking devices and set up cynosural fields for incoming capital ships.",12230000.0000000000,96000.0000000000,315.0000000000,1,1,168100000.0000,1,830,None,20070,11863 11958,106,Falcon Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,901,None,None,11863 11959,906,Rook,"Built to represent the last word in electronic warfare, combat recon ships have onboard facilities designed to maximize the effectiveness of electronic countermeasure modules of all kinds. Filling a role next to their class counterpart, the heavy assault cruiser, combat recon ships are the state of the art when it comes to anti-support support. They are also devastating adversaries in smaller skirmishes, possessing strong defensive capabilities in addition to their electronic superiority. @@ -8268,7 +8271,7 @@ As befits one of the largest weapons manufacturers in the known world, Kaalakiot 11970,106,Arazu Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,902,None,None,1903 11971,906,Lachesis,"Built to represent the last word in electronic warfare, combat recon ships have onboard facilities designed to maximize the effectiveness of electronic countermeasure modules of all kinds. Filling a role next to their class counterpart, the heavy assault cruiser, combat recon ships are the state of the art when it comes to anti-support support. They are also devastating adversaries in smaller skirmishes, possessing strong defensive capabilities in addition to their electronic superiority.",12070000.0000000000,116000.0000000000,320.0000000000,1,8,146200000.0000,1,833,None,20074,2140 11972,106,Lachesis Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,902,None,None,2140 -11978,832,Scimitar,"Built with special tracking support arrays, the Scimitar was designed in large part to assist heavy combat vessels in tracking fast-moving targets. Relatively nimble for a support cruiser, it can often be found ducking between battleships, protecting its own back while lending the behemoths the support they need to take out their enemies.",12090000.0000000000,89000.0000000000,440.0000000000,1,2,131500000.0000,1,441,None,20077,1778 +11978,832,Scimitar,"Built with special tracking support arrays, the Scimitar was designed in large part to assist heavy combat vessels in tracking fast-moving targets. Relatively nimble for a support cruiser, it can often be found ducking between battleships, protecting its own back while lending the behemoths the support they need to take out their enemies.",12090000.0000000000,89000.0000000000,440.0000000000,1,2,131500000.0000,1,441,None,20078,1778 11979,106,Scimitar Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,446,None,None,1778 11985,832,Basilisk,"Following in the time-honored Caldari spaceship design tradition, the Basilisk sports top-of-the-line on-board computer systems specially designed to facilitate shield transporting arrays, while sacrificing some of the structural strength commonly found in vessels of its class. @@ -8276,11 +8279,11 @@ Lai Dai have always favored a balanced approach to their mix of on-board systems 11986,106,Basilisk Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,444,None,None,11865 11987,832,Guardian,"The Guardian is the first vessel to feature Carthum Conglomerate's brand new capacitor flow maximization system, allowing for greater amounts of energy to be stored in the capacitor as well as providing increased facilities for transporting that energy to other ships. -While featuring Carthum's trademark armor and hull strength, the Guardian, being a support ship, has limited room for armaments. Its intended main function is to serve as an all-round support vessel, providing the raw energy for fleet compatriots to do what they need to do in order to achieve victory.",11980000.0000000000,115000.0000000000,465.0000000000,1,4,135400000.0000,1,438,None,20062,1916 +While featuring Carthum's trademark armor and hull strength, the Guardian, being a support ship, has limited room for armaments. Its intended main function is to serve as an all-round support vessel, providing the raw energy for fleet compatriots to do what they need to do in order to achieve victory.",11980000.0000000000,115000.0000000000,465.0000000000,1,4,135400000.0000,1,438,None,20063,1916 11988,106,Guardian Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,443,None,None,1916 11989,832,Oneiros,"Designed specifically as an armor augmenter, the Oneiros provides added defensive muscle to fighters on the front lines. Additionally, its own formidable defenses make it a tough nut to crack. Breaking through a formation supported by an Oneiros is no mean feat. -Deciding that added defensive capabilities would serve to strengthen the overall effectiveness of Gallente ships, who traditionally have favored pure firepower over other aspects, Roden Shipyards came up with the Oneiros. Intrigued, Gallente Navy officials are reportedly considering incorporating this powerful defender into their fleet formations.",13160000.0000000000,113000.0000000000,600.0000000000,1,8,144300000.0000,1,440,None,20073,2141 +Deciding that added defensive capabilities would serve to strengthen the overall effectiveness of Gallente ships, who traditionally have favored pure firepower over other aspects, Roden Shipyards came up with the Oneiros. Intrigued, Gallente Navy officials are reportedly considering incorporating this powerful defender into their fleet formations.",13160000.0000000000,113000.0000000000,600.0000000000,1,8,144300000.0000,1,440,None,20074,2141 11990,106,Oneiros Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,445,None,None,2141 11993,358,Cerberus,"No cruiser currently in existence can match the superiority of the Cerberus's onboard missile system. With a well-trained pilot jacked in, this fanged horror is capable of unleashing a hail of missiles to send even the most seasoned armor tankers running for cover. @@ -8295,7 +8298,7 @@ Improving on the original Stabber design, Thukker Mix created the Vagabond as a 12000,106,Vagabond Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,457,None,None,1943 12003,358,Zealot,"The Zealot is built almost exclusively as a laser platform, designed to wreak as much havoc as its energy beams can be made to. As a vanguard vessel, its thick armor and dazzling destructive power make it capable of cutting through enemy fleets with striking ease. Zealots are currently being mass-produced by Viziam for the Imperial Navy. -For their first production-ready starship design, Viziam opted to focus on their core proficiencies - heavy armor and highly optimized weaponry. The result is an extremely focused design that, when used correctly, can go toe-to-toe with any contemporary cruiser design.",12580000.0000000000,118000.0000000000,440.0000000000,1,4,153400000.0000,1,449,None,20061,1751 +For their first production-ready starship design, Viziam opted to focus on their core proficiencies - heavy armor and highly optimized weaponry. The result is an extremely focused design that, when used correctly, can go toe-to-toe with any contemporary cruiser design.",12580000.0000000000,118000.0000000000,440.0000000000,1,4,153400000.0000,1,449,None,20063,1751 12004,106,Zealot Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,454,None,None,1751 12005,358,Ishtar,"While not endowed with as much pure firepower as other ships of its category, the Ishtar is more than able to hold its own by virtue of its tremendous capacity for drones and its unique hard-coded drone-control subroutines. @@ -8309,17 +8312,17 @@ Caldari starship design is showing a growing trend towards armaments effective a 12014,106,Broadsword Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,1776 12015,358,Muninn,"Commissioned by the Republic Fleet to create a powerful assault vessel for the strengthening of the Matari tribes as well as a commercial platform for the Heavy Missiles and other weapons produced by the Fleet, Boundless Creation came up with the Muninn. Heavily armored, laden with missile hardpoints and sporting the latest in warhead optimization technology, this is the very definition of heavy assault.",11000000.0000000000,96000.0000000000,515.0000000000,1,2,141900000.0000,1,452,None,20076,1925 12016,106,Muninn Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,457,None,None,1925 -12017,894,Devoter,"Effectively combining the trapping power of interdictors with the defensive capabilities of heavy assault cruisers, the heavy interdiction cruiser is an invaluable addition to any skirmish force, offensive or defensive. Heavy interdiction cruisers are the only ships able to use the warp disruption field generator, a module that creates a warp disruption field that moves with the origin ship wherever it goes. ",16200000.0000000000,118000.0000000000,375.0000000000,1,4,229800000.0000,1,1071,None,20064,3363 +12017,894,Devoter,"Effectively combining the trapping power of interdictors with the defensive capabilities of heavy assault cruisers, the heavy interdiction cruiser is an invaluable addition to any skirmish force, offensive or defensive. Heavy interdiction cruisers are the only ships able to use the warp disruption field generator, a module that creates a warp disruption field that moves with the origin ship wherever it goes. ",16200000.0000000000,118000.0000000000,375.0000000000,1,4,229800000.0000,1,1071,None,20063,3363 12018,106,Devoter Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,3363 12019,358,Sacrilege,"Khanid's engineers have spent months perfecting the Sacrilege's on-board missile launcher optimization systems, making it a very effective assault missile platform. In addition, its supremely advanced capacitor systems make it one of the most dangerous ships in its class. -In an effort to maintain the fragile peace with the old empire through force of deterrence, Khanid Innovation have taken the Maller blueprint and morphed it into a monster. State-of-the-art armor alloys, along with missile systems developed from the most advanced Caldari designs, mean the Sacrilege may be well on its way to becoming the Royal Khanid Navy's flagship cruiser.",11750000.0000000000,118000.0000000000,615.0000000000,1,4,154600000.0000,1,449,None,20061,1855 +In an effort to maintain the fragile peace with the old empire through force of deterrence, Khanid Innovation have taken the Maller blueprint and morphed it into a monster. State-of-the-art armor alloys, along with missile systems developed from the most advanced Caldari designs, mean the Sacrilege may be well on its way to becoming the Royal Khanid Navy's flagship cruiser.",11750000.0000000000,118000.0000000000,615.0000000000,1,4,154600000.0000,1,449,None,20063,1855 12020,106,Sacrilege Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,454,None,None,1855 -12021,894,Phobos,"Effectively combining the trapping power of interdictors with the defensive capabilities of heavy assault cruisers, the heavy interdiction cruiser is an invaluable addition to any skirmish force, offensive or defensive. Heavy interdiction cruisers are the only ships able to use the warp disruption field generator, a module that creates a warp disruption field that moves with the origin ship wherever it goes. ",14000000.0000000000,112000.0000000000,400.0000000000,1,8,231500000.0000,1,1073,None,20072,3361 +12021,894,Phobos,"Effectively combining the trapping power of interdictors with the defensive capabilities of heavy assault cruisers, the heavy interdiction cruiser is an invaluable addition to any skirmish force, offensive or defensive. Heavy interdiction cruisers are the only ships able to use the warp disruption field generator, a module that creates a warp disruption field that moves with the origin ship wherever it goes. ",14000000.0000000000,112000.0000000000,400.0000000000,1,8,231500000.0000,1,1073,None,20074,3361 12022,106,Phobos Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,3361 12023,358,Deimos,"Sharing more tactical elements with smaller vessels than with its size-class counterparts, the Deimos represents the final word in up-close-and-personal cruiser combat. Venture too close to this one, and swift death is your only guarantee. -Rumor has it Duvolle was contracted by parties unknown to create the ultimate close-range blaster cruiser. In this their engineers and designers haven't failed; but the identity of the company's client remains to be discovered.",11460000.0000000000,112000.0000000000,415.0000000000,1,8,158900000.0000,1,451,None,20072,11859 +Rumor has it Duvolle was contracted by parties unknown to create the ultimate close-range blaster cruiser. In this their engineers and designers haven't failed; but the identity of the company's client remains to be discovered.",11460000.0000000000,112000.0000000000,415.0000000000,1,8,158900000.0000,1,451,None,20074,11859 12024,106,Deimos Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,456,None,None,11859 12028,306,Storage Bin,"The enclosed storage bin drifts quietly in space, waiting patiently to be pried open by a hungry looter.",10000.0000000000,1200.0000000000,1000.0000000000,1,None,None,0,None,16,None,1176 12029,687,Khanid Elite Fighter,This is a fighter for the Khanid Kingdom. It is protecting the assets of the Khanid Kindgom and may attack anyone it perceives as a threat. Threat level: High,2870000.0000000000,28700.0000000000,315.0000000000,1,4,None,0,None,None,None,1862 @@ -8337,8 +8340,7 @@ Rumor has it Duvolle was contracted by parties unknown to create the ultimate cl As the largest drone developer and manufacturer in space, CreoDron has a vested interest in drone carriers. While sacrificing relatively little in the way of defensive capability, the Ishkur can chew its way through surprisingly strong opponents - provided, of course, that the pilot uses top-of-the-line CreoDron drones.",1094400.0000000000,29500.0000000000,165.0000000000,1,8,21800000.0000,1,435,None,20074,1840 12043,105,Ishkur Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,462,None,None,1840 -12044,324,Enyo,"The single-fanged Enyo sports good firepower capability, a missile hardpoint and some extremely strong armor plating, making it one of the best support frigates out there. Ideal for use as point ships to draw enemy fire from more vulnerable friendlies. -",1053900.0000000000,29500.0000000000,165.0000000000,1,8,20400000.0000,1,435,None,20074,1771 +12044,324,Enyo,"The single-fanged Enyo sports good firepower capability, a missile hardpoint and some extremely strong armor plating, making it one of the best support frigates out there. Ideal for use as point ships to draw enemy fire from more vulnerable friendlies.",1053900.0000000000,29500.0000000000,165.0000000000,1,8,20400000.0000,1,435,None,20074,1771 12045,105,Enyo Blueprint,,0E-10,0.0100000000,0E-10,1,None,50000000000.0000,1,462,None,None,1771 12046,668,Ammatar Slave Trader,"This is a slave trader working for the Ammatar. Slave traders often have to fend off hostile ships, such as Minmatar Freedom Fighters or bounty hunters, and therefore come well equipped to deal with any such encounters. Slave traders are also known to attack remote settlements throughout the galaxy to bolster their supply of slaves. The Minmatar Republic has put a bounty on the head of any known slaver. Threat level: Deadly",12000000.0000000000,120000.0000000000,345.0000000000,1,4,None,0,None,None,None,1738 12047,689,Khanid Slave Trader,"This is a slave trader working for the Khanid Kingdom. Slave traders often have to fend off hostile ships, such as Minmatar Freedom Fighters or bounty hunters, and therefore come well equipped to deal with any such encounters. Slave traders are also known to attack remote settlements throughout the galaxy to bolster their supply of slaves. The Minmatar Republic has put a bounty on the head of any known slaver. Threat level: Deadly",12000000.0000000000,120000.0000000000,550.0000000000,1,4,None,0,None,None,None,1854 @@ -9937,9 +9939,9 @@ Penalty: Using more than one type of this module or similar modules that affect 13980,328,Dark Blood Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -13982,328,True Sansha Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +13982,328,True Sansha Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -13984,328,Dark Blood Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +13984,328,Dark Blood Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 13986,328,Domination EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -9950,7 +9952,7 @@ Penalty: Using more than one type of this module or similar modules that affect 13990,328,Domination Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -13992,328,Domination Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +13992,328,Domination Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 13994,77,Domination EM Shield Hardener,"Boosts shield resistance against EM damage.

Penalty: Using more than one type of this module, or similar modules that affect the same resistance type, will result in a penalty to the boost you get on that type of resistance",10000.0000000000,5.0000000000,0E-10,1,4,45412.0000,1,1695,20948,None,0 13995,77,Domination Thermal Shield Hardener,"Boosts shield resistance against thermal damage.

Penalty: Using more than one type of this module, or similar modules that affect the same resistance type, will result in a penalty to the boost you get on that type of resistance",10000.0000000000,5.0000000000,0E-10,1,8,45412.0000,1,1692,20950,None,0 @@ -10040,7 +10042,7 @@ Penalty: Using more than one type of this module or similar modules that affect 14063,328,Shadow Serpentis Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -14065,328,Shadow Serpentis Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +14065,328,Shadow Serpentis Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 14067,62,Shadow Serpentis Large Armor Repairer,This module uses nano-assemblers to repair damage done to the armor of the ship.,500.0000000000,50.0000000000,0E-10,1,4,None,1,1051,80,None,0 14068,62,Shadow Serpentis Medium Armor Repairer,This module uses nano-assemblers to repair damage done to the armor of the ship.,500.0000000000,10.0000000000,0E-10,1,4,None,1,1050,80,None,0 @@ -11067,23 +11069,23 @@ Penalty: Using more than one type of this module or similar modules that affect 15030,328,Draclira's Modified EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1681,20944,None,0 -15032,328,Brokara's Modified Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +15032,328,Brokara's Modified Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15034,328,Tairei's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15034,328,Tairei's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15036,328,Selynne's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15036,328,Selynne's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15038,328,Raysere's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15038,328,Raysere's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15040,328,Vizan's Modified Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +15040,328,Vizan's Modified Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15042,328,Ahremen's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15042,328,Ahremen's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15044,328,Chelm's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15044,328,Chelm's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15046,328,Draclira's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15046,328,Draclira's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 15048,328,Brokara's Modified Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -11317,13 +11319,13 @@ Penalty: Using more than one type of this module or similar modules that affect 15250,328,Cormack's Modified EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1681,20944,None,0 -15252,328,Brynn's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15252,328,Brynn's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15254,328,Tuvan's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15254,328,Tuvan's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15256,328,Setele's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15256,328,Setele's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -15258,328,Cormack's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15258,328,Cormack's Modified Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 15260,328,Brynn's Modified Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -11667,8 +11669,8 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1670,1030,None,0 15704,163,Republic Fleet Multispectrum Coating Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,1030,None,0 -15705,328,Imperial Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +15705,328,Imperial Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 15706,348,Imperial Navy Thermal Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20946,None,0 15707,328,Imperial Navy Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -11683,7 +11685,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1681,20944,None,0 15712,348,Imperial Navy EM Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20944,None,0 -15713,328,Republic Fleet Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +15713,328,Republic Fleet Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 15714,348,Republic Fleet Thermal Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20946,None,0 15715,328,Republic Fleet Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -12604,10 +12606,18 @@ May be obtained by reprocessing the following ice ores: 16286,365,QA Control Tower,This structure does not exist.,1000000.0000000000,1.0000000000,140000.0000000000,1,4,400000000.0000,0,None,None,None,2593 16287,818,Tazmyr's Capsule,This is an escape capsule which is released upon the destruction of ones ship.,32000.0000000000,1000.0000000000,0E-10,1,None,None,0,None,None,None,73 16288,818,Tazmyr,Tazmyr the Amarrian. Flies a Minmatar frigate when in Minmatar space to blend in with the locals. Threat level: Very high,1000000.0000000000,12000.0000000000,80.0000000000,1,2,None,0,None,None,None,44 -16297,315,'Accord' Core Compensation,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 -16299,315,'Repose' Core Compensation,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 -16301,315,'Stoic' Core Equalizer I,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 -16303,315,'Halcyon' Core Equalizer I,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +16297,315,'Accord' Core Compensation,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +16299,315,'Repose' Core Compensation,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +16301,315,'Stoic' Core Equalizer I,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +16303,315,'Halcyon' Core Equalizer I,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 16305,98,Upgraded Multispectrum Coating I,"This version of armor coating increases the armor protection against all types of damage, however it is less effective than coatings tuned against a specific damage profile. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1670,1030,None,0 @@ -12718,9 +12728,9 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,0,None,20946,None,0 16379,328,Limited Armor Thermal Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,0,None,20946,None,0 -16381,328,Experimental Enduring Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +16381,328,Experimental Enduring Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -16383,328,Prototype Compact Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +16383,328,Prototype Compact Thermal Armor Hardener I,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 16385,326,Upgraded Energized Adaptive Nano Membrane I,"An enhanced version of the multispectrum armor coating. Uses advanced magnetic field generators to strengthen the effect. Grants a bonus to armor resistance against all types of damage. It is less effective than membranes tuned against a specific damage profile. @@ -13901,7 +13911,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 17507,348,Ammatar Navy Kinetic Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20945,None,0 -17508,328,Ammatar Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +17508,328,Ammatar Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 17509,348,Ammatar Navy Thermal Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20946,None,0 17510,767,Ammatar Navy Capacitor Power Relay,Increases capacitor recharge rate at the expense of shield boosting.,20.0000000000,5.0000000000,0E-10,1,None,None,1,667,26455,None,0 @@ -14347,7 +14357,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 17837,348,Federation Navy Kinetic Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20945,None,0 -17838,328,Federation Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +17838,328,Federation Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 17839,348,Federation Navy Thermal Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20946,None,0 17840,314,Zor's DNA,"DNA samples are any of various nucleic acids that are usually the molecular basis of heredity, are localized especially in cell nuclei, and are constructed of a double helix held together by hydrogen bonds between purine and pyrimidine bases which project inward from two chains containing alternate links of deoxyribose and phosphate.",1.0000000000,0.1000000000,0E-10,1,None,None,1,752,2302,None,0 @@ -15097,10 +15107,10 @@ Penalty: Using more than one type of this module or similar modules that affect 18895,328,Centus C-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18897,328,Corpus C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18897,328,Corpus C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -18899,328,Centus C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +18899,328,Centus C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18901,328,Corpus B-Type EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15120,13 +15130,13 @@ Penalty: Using more than one type of this module or similar modules that affect 18911,328,Centus B-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18913,328,Corpus B-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18913,328,Corpus B-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -18915,328,Centus B-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18915,328,Centus B-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -18917,328,Corpus A-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18917,328,Corpus A-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -18919,328,Centus A-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18919,328,Centus A-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18921,328,Corpus A-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15164,10 +15174,10 @@ Penalty: Using more than one type of this module or similar modules that affect 18943,328,Centus X-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18945,328,Corpus X-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +18945,328,Corpus X-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 -18947,328,Centus X-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18947,328,Centus X-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18949,328,Core C-Type EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15178,7 +15188,7 @@ Penalty: Using more than one type of this module or similar modules that affect 18953,328,Core C-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18955,328,Core C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18955,328,Core C-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18957,328,Core B-Type EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15189,8 +15199,8 @@ Penalty: Using more than one type of this module or similar modules that affect 18961,328,Core B-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18963,328,Core B-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +18963,328,Core B-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18965,328,Core A-Type EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15201,8 +15211,8 @@ Penalty: Using more than one type of this module or similar modules that affect 18969,328,Core A-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18971,328,Core A-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. - +18971,328,Core A-Type Thermal Armor Hardener,"An enhanced version of the standard thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. + Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18973,328,Core X-Type EM Armor Hardener,"An enhanced version of the standard EM armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. @@ -15213,7 +15223,7 @@ Penalty: Using more than one type of this module or similar modules that affect 18977,328,Core X-Type Kinetic Armor Hardener,"An enhanced version of the standard kinetic armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 -18979,328,Core X-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +18979,328,Core X-Type Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 18981,325,Coreli C-Type Small Remote Armor Repairer,This module uses nano-assemblers to repair damage done to the armor of the Target ship.,20.0000000000,5.0000000000,0E-10,1,None,4996.0000,1,1059,21426,None,0 18983,325,Coreli B-Type Small Remote Armor Repairer,This module uses nano-assemblers to repair damage done to the armor of the Target ship.,20.0000000000,5.0000000000,0E-10,1,None,4996.0000,1,1059,21426,None,0 @@ -20032,9 +20042,13 @@ Whatever comprises the soil of its roots, though, one thing is clear: from no-fr 22872,848,Domination Throne,Scuttling from Heaven the Domination Commanders pursue a secret agenda as dark and sinister as their reputation. Threat level: Deadly,19000000.0000000000,19000000.0000000000,120.0000000000,1,2,None,0,None,None,20900,335 22873,848,Domination Cherubim,Scuttling from Heaven the Domination Commanders pursue a secret agenda as dark and sinister as their reputation. Threat level: Deadly,19000000.0000000000,19000000.0000000000,120.0000000000,1,2,None,0,None,None,20900,335 22874,848,Domination Seraphim,Scuttling from Heaven the Domination Commanders pursue a secret agenda as dark and sinister as their reputation. Threat level: Deadly,19000000.0000000000,19000000.0000000000,120.0000000000,1,2,None,0,None,None,20900,335 -22875,315,'Aura' Warp Core Stabilizer I,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +22875,315,'Aura' Warp Core Stabilizer I,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 22876,342,'Aura' Warp Core Stabilizer I Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,97,None,0 -22877,315,'Natura' Warp Core Stabilizer I,When installed this unit attempts to compensate for fluctuations and disruptions of the ship's warp core.,0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 +22877,315,'Natura' Warp Core Stabilizer I,"When activated this unit attempts to compensate for fluctuations and disruptions of the ship's warp core. As a side effect, the host ship's maximum targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. + +Only one of this module type can be fitted at a time.",0E-10,5.0000000000,0E-10,1,None,None,1,1088,97,None,0 22878,342,'Natura' Warp Core Stabilizer I Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,97,None,0 22879,326,'Pilfer' Multispectrum Energized Membrane,"An enhanced version of the multispectrum armor coating. Uses advanced magnetic field generators to strengthen the effect. Grants a bonus to armor resistance against all types of damage. It is less effective than membranes tuned against a specific damage profile. @@ -26535,7 +26549,7 @@ Penalty: Using more than one type of this module or similar modules that affect Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1679,20945,None,0 28527,348,Khanid Navy Kinetic Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20945,None,0 -28528,328,Khanid Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. +28528,328,Khanid Navy Thermal Armor Hardener,"An enhanced version of the standard Thermal armor plating. Uses advanced magnetic field generators to strengthen the Nanobot Plating integrity. Penalty: Using more than one type of this module or similar modules that affect the same attribute on the ship will be penalized.",1.0000000000,5.0000000000,0E-10,1,None,None,1,1678,20946,None,0 28529,348,Khanid Navy Thermal Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20946,None,0 28530,43,Khanid Navy Cap Recharger,Increases the capacitor recharge rate.,1.0000000000,5.0000000000,0E-10,1,None,None,1,665,26457,None,0 @@ -27016,7 +27030,7 @@ Warning: Side-effects may include speculation, jumping to conclusions, overanaly 28845,525,Rhea Blueprint,,0E-10,0.0100000000,0E-10,1,None,2000000000.0000,1,None,None,None,20277 28846,902,Nomad,"There is continuing speculation as to how exactly the Thukkers manage to move their vast caravans throughout space relatively undetected, but their expertise with jump drive technology became glaringly apparent when they created the Nomad. Now seeing widespread service with roving Thukker outrider detachments, the Nomad is rapidly becoming an essential part of Thukker life away from the great caravans.",820000000.0000000000,15500000.0000000000,132000.0000000000,1,2,9875200000.0000,1,1093,None,20077,3360 28847,525,Nomad Blueprint,,0E-10,0.0100000000,0E-10,1,None,1850000000.0000,1,None,None,None,3360 -28848,902,Anshar,"CreoDron surprised many by their quick conception of the Anshar, a stark diversification from their usual drone centric ship designs. The Anshar's specially-developed cargo-manipulation drones allowed CreoDron to optimize their loading algorithms and fully utilize every nook and cranny of the ship's spacious interior, ensuring it more than holds its own amongst its peers. ",940000000.0000000000,17550000.0000000000,137500.0000000000,1,8,9038800000.0000,1,1092,None,20073,3359 +28848,902,Anshar,"CreoDron surprised many by their quick conception of the Anshar, a stark diversification from their usual drone centric ship designs. The Anshar's specially-developed cargo-manipulation drones allowed CreoDron to optimize their loading algorithms and fully utilize every nook and cranny of the ship's spacious interior, ensuring it more than holds its own amongst its peers.",940000000.0000000000,17550000.0000000000,137500.0000000000,1,8,9038800000.0000,1,1092,None,20073,3359 28849,525,Anshar Blueprint,,0E-10,0.0100000000,0E-10,1,None,1950000000.0000,1,None,None,None,3359 28850,902,Ark,"At the end of days when they descend Watch for the coming of the Ark @@ -40440,7 +40454,7 @@ Lai Dai have always favored a balanced approach to their mix of on-board systems Angel Cartel dreadnoughts are rarely seen outside of core Archangel facilities. However in recent months the Angel Cartel capital fleets seem to have become more bold, striking out at capsuleers who interfere with smaller-scale Angel operations. -Threat level: Deadly",1127500000.0000000000,15500000.0000000000,0E-10,1,None,None,0,None,None,20900,21275 +Threat level: Deadly",1127500000.0000000000,15500000.0000000000,0E-10,1,None,None,0,None,None,20900,28026 37462,1682,Domination Titan,"Reaching out from Heaven Domination warlords pursue a secret agenda as dark and sinister as their reputation. Dominations fleets once used heavily-modified Ragnarok-class vessels using technology based on the stolen Promethean ""FNS Molyneux"" and sourced by Salvation Angel engineers from their Serpentis Corporation allies. Since the Angel Cartel gained greater access to remnants of Jove technology through their alliance with the Deathless Circle, their long-awaited Azariel-class Titan has been completed and has replaced the older supercapitals among the ranks of the highest Domination fleet commanders. @@ -45402,7 +45416,7 @@ Note: Only Supercarriers can fit modules of this type. Only one module of this t Angel Cartel dreadnoughts are rarely seen outside of core Archangel facilities. However in recent months the Angel Cartel capital fleets seem to have become more bold, striking out at capsuleers who interfere with smaller-scale Angel operations. -Threat level: Extreme",1127500000.0000000000,15500000.0000000000,0E-10,1,None,None,0,None,None,20900,21275 +Threat level: Extreme",1127500000.0000000000,15500000.0000000000,0E-10,1,None,None,0,None,None,20900,28026 41397,1683,Dark Blood Dreadnought,"Blood Raider Commanders have mastered the Rites of Blood, giving them unnatural affinity with all things living. This modified Revelation-class Dreadnought is one of the largest and deadliest ships within the Blood Raider arsenal. Nobody outside the Covenant seems to know for sure what the massive hull patterns are made from, and at this point everyone is afraid to ask. @@ -45918,7 +45932,7 @@ With a titanium weaved carbon composite frame, alloy hinge pins and silicate gla 41685,1950,Lif Valklear Glory SKIN,,0E-10,0.0100000000,0E-10,1,2,None,1,2281,None,None,0 41686,1950,Lif Blue Tiger SKIN,,0E-10,0.0100000000,0E-10,1,2,None,1,2281,None,None,0 41687,1950,Lif Tronhadar Ink SKIN,,0E-10,0.0100000000,0E-10,1,2,None,1,2281,None,None,0 -41688,186,Angel Dreadnought Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3112 +41688,186,Angel Dreadnought Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,28030 41689,186,Angel Titan Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,60000.0000000000,60000.0000000000,1,None,None,0,None,None,None,21967 41690,186,Blood Dreadnought Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,25560 41691,186,Blood Titan Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,45000.0000000000,45000.0000000000,1,None,None,0,None,None,None,25552 @@ -49662,10 +49676,10 @@ Fly safe, Capsuleer!",0.0100000000,0.0100000000,0E-10,1,None,None,1,None,2886,No Developer: Viziam Viziam ships are quite possibly the most durable ships money can buy. Their armor is second to none and that, combined with superior shields, makes them hard nuts to crack. Of course this does mean they are rather slow and possess somewhat more limited weapons and electronics options.",1495000.0000000000,28100.0000000000,260.0000000000,1,4,None,0,None,None,20061,21444 -44992,1875,PLEX,"PLEX is an item that can be traded between players on the regional market. PLEX can also be used in the New Eden Store to upgrade your account to Omega Clone State, purchase virtual goods, and activate other account services. +44992,1875,PLEX,"PLEX is an item that can be traded between players on the market. PLEX can also be used in the New Eden Store to upgrade your account to Omega Clone State, purchase virtual goods, and activate other account services. Getting PLEX -PLEX can be purchased on the regional market for ISK, from the PLEX Vault, or securely on https://store.eveonline.com/#plex using a variety of methods. +PLEX can be purchased on the market for ISK, from the PLEX Vault, or securely on https://store.eveonline.com/#plex using a variety of methods. TIP: Purchasing PLEX to sell for ISK to other players is a great way to kickstart your capsuleer career! @@ -57925,7 +57939,7 @@ One of these configurations takes a small amount of the excess radiation from th 52353,1950,Ikitursa Singularity Storm SKIN,"Triglavian ships use a nanocoating technology on their external surfaces that is sufficiently similar to that used with the ships of other races to allow adaptation of commercial nanocoatings for use with them. Some configurations of the nanocoatings produce striking effects due to the interaction between the surface coating and the unusual design elements of Triglavian vessels. One of these configurations takes a small amount of the excess radiation from the singularity energy systems of Triglavian ships and produces an electrical discharge on the surface of the ship. While eye-catching and unusual, this effect has a negligible impact on the performance characteristics of the ship.",0E-10,0.0100000000,0E-10,1,135,None,1,2485,None,None,0 -52354,186,ECM Field Effect Subpylon Wreck,The remains of a destroyed structure. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,24426 +52354,1975,ECM Field Effect Subpylon Wreck,The remains of a destroyed structure. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,24426 52355,186,Dampening Field Effect Subpylon Wreck,The remains of a destroyed structure. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,24428 52356,186,Stasis Field Effect Subpylon Wreck,The remains of a destroyed structure. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,24425 52357,186,Transport Field Effect Subpylon Wreck,The remains of a destroyed structure. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,24429 @@ -59222,7 +59236,7 @@ Set Effect: 80% bonus to the strength of all Mimesis implant secondary effects", 52962,4034,Republic Fleet Typhoon,,102600000.0000000000,414000.0000000000,750.0000000000,1,2,75000000.0000,0,None,None,None,2160 52963,4034,Republic Fleet Tempest,,103300000.0000000000,486000.0000000000,815.0000000000,1,2,108750000.0000,0,None,None,None,2642 52964,4034,Imperial Navy Revelation,,100000.0000000000,18500000.0000000000,2175.0000000000,1,4,1539006890.0000,0,None,None,None,2743 -52965,4034,State Navy Phoenix,,100000.0000000000,16250000.0000000000,2750.0000000000,1,1,1541551100.0000,0,None,None,None,2786 +52965,4034,State Navy Karura,,100000.0000000000,16250000.0000000000,2750.0000000000,1,1,1541551100.0000,0,None,None,None,26002 52966,4034,Federal Navy Moros,,100000.0000000000,17550000.0000000000,2550.0000000000,1,8,1549802570.0000,0,None,None,None,2744 52967,4034,Republic Fleet Naglfar,,100000.0000000000,15500000.0000000000,2900.0000000000,1,2,1523044240.0000,0,None,None,None,2755 52972,724,High-grade Mimesis Alpha Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2053,None,0 @@ -59919,7 +59933,7 @@ The science and technology of enhancing biomechanics using cybernetic rigs and m 53263,186,State Navy Elite Cruiser Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3116 53264,186,State Navy Battlecruiser Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3115 53265,186,State Navy Battleship Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3115 -53266,186,State Navy Dreadnought Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3102 +53266,186,State Navy Dreadnought Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,26043 53267,186,Federal Navy Elite Frigate Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3117 53268,186,Federal Navy Elite Cruiser Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3116 53269,186,Federal Navy Battlecruiser Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3115 @@ -61018,35 +61032,35 @@ Set Effect: 2.5% bonus to the strength of all Nirvana implant secondary effects" Primary Effect: +4 Bonus to Perception -Secondary Effect: 1% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,618,2053,None,0 53891,300,High-grade Savior Beta,"This memory augmentation has been modified by Angel scientists for use by their elite officers. Primary Effect: +4 Bonus to Memory -Secondary Effect: 1.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,619,2061,None,0 53892,300,High-grade Savior Gamma,"This neural boost has been modified by Angel scientists for use by their elite officers. Primary Effect: +4 Bonus to Willpower -Secondary Effect: 2% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,620,2054,None,0 53893,300,High-grade Savior Delta,"This cybernetic subprocessor has been modified by Angel scientists for use by their elite officers. Primary Effect: +4 Bonus to Intelligence -Secondary Effect: 2.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,621,2062,None,0 53894,300,High-grade Savior Epsilon,"This social adaptation chip has been modified by Angel scientists for use by their elite officers. Primary Effect: +4 Bonus to Charisma -Secondary Effect: 3% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 3% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,622,2060,None,0 53895,300,High-grade Savior Omega,"This implant does nothing in and of itself, but when used in conjunction with other Savior implants it will boost their effect. @@ -61056,35 +61070,35 @@ Set Effect: 15% bonus to the strength of all Savior implant secondary effects",0 Primary Effect: +3 Bonus to Perception -Secondary Effect: 1% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,618,2053,None,0 53897,300,Mid-grade Savior Beta,"This memory augmentation has been modified by Angel scientists for use by their elite officers. Primary Effect: +3 Bonus to Memory -Secondary Effect: 1.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,619,2061,None,0 53898,300,Mid-grade Savior Gamma,"This neural boost has been modified by Angel scientists for use by their elite officers. Primary Effect: +3 Bonus to Willpower -Secondary Effect: 2% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,620,2054,None,0 53899,300,Mid-grade Savior Delta,"This cybernetic subprocessor has been modified by Angel scientists for use by their elite officers. Primary Effect: +3 Bonus to Intelligence -Secondary Effect: 2.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,621,2062,None,0 53900,300,Mid-grade Savior Epsilon,"This social adaptation chip has been modified by Angel scientists for use by their elite officers. Primary Effect: +3 Bonus to Charisma -Secondary Effect: 3% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 3% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,622,2060,None,0 53901,300,Mid-grade Savior Omega,"This implant does nothing in and of itself, but when used in conjunction with other Savior implants it will boost their effect. @@ -61094,35 +61108,35 @@ Set Effect: 10% bonus to the strength of all Savior implant secondary effects",0 Primary Effect: +2 Bonus to Perception -Secondary Effect: 1% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 2.5% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,618,2053,None,0 53903,300,Low-grade Savior Beta,"This memory augmentation has been modified by Angel scientists for use by their elite officers. Primary Effect: +2 Bonus to Memory -Secondary Effect: 1.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 1.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 2.5% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,619,2061,None,0 53904,300,Low-grade Savior Gamma,"This neural boost has been modified by Angel scientists for use by their elite officers. Primary Effect: +2 Bonus to Willpower -Secondary Effect: 2% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 2.5% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,620,2054,None,0 53905,300,Low-grade Savior Delta,"This cybernetic subprocessor has been modified by Angel scientists for use by their elite officers. Primary Effect: +2 Bonus to Intelligence -Secondary Effect: 2.5% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 2.5% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 2.5% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,621,2062,None,0 53906,300,Low-grade Savior Epsilon,"This social adaptation chip has been modified by Angel scientists for use by their elite officers. Primary Effect: +2 Bonus to Charisma -Secondary Effect: 3% reduction in the cycle time of subcapital remote armor repairers and remote shield boosters +Secondary Effect: 3% reduction in the cycle time and capacitor activation cost of subcapital remote armor repairers and remote shield boosters Set Effect: 2.5% bonus to the strength of all Savior implant secondary effects",0E-10,1.0000000000,0E-10,1,None,None,1,622,2060,None,0 53907,300,Low-grade Savior Omega,"This implant does nothing in and of itself, but when used in conjunction with other Savior implants it will boost their effect. @@ -65307,13 +65321,13 @@ A distinct social hierarchy is not unusual in rogue drone hives and swarms, but A distinct social hierarchy is not unusual in rogue drone hives and swarms, but the ""Unshackled Overminds"" appear to have developed a very sophisticated variant. CONCORD theorists from the Directive Omega-One-Five Section have speculated that exposure to Triglavian information warfare and subsequent adaptation to it has resulted in accelerated evolution within these rogue drone swarms.",11851.8518500000,10.0000000000,480.0000000000,1,134,None,0,None,None,11,1220 56503,4037,Overmind Broodlord Alpha,"Independent rogue drone swarms have been detected in Triglavian space, showing no fear or favor to the Triglavian Collective, EDENCOM or any other parties they encounter. These rogue drone swarms include a large number of advanced types and even include the so-called ""Overmind"" classes of rogue drones. -Overmind Broodlords are powerful vessels that function as mobile superorganisms of rogue drones hosted within the hulk of a capital-class vessel subverted and infested by the swarm. An encounter with one of these Overminds will involve combat with many rogue drone combat types.",100000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,21284 +Overmind Broodlords are powerful vessels that function as mobile superorganisms of rogue drones hosted within the hulk of a capital-class vessel subverted and infested by the swarm. An encounter with one of these Overminds will involve combat with many rogue drone combat types.",1220000000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,21284 56504,4037,Grazing Phase-0 Forager,"Independent rogue drone swarms have been detected in Triglavian space, showing no fear or favor to the Triglavian Collective, EDENCOM or any other parties they encounter. These rogue drone swarms include a large number of advanced types and even include the so-called ""Overmind"" classes of rogue drones. A distinct social hierarchy is not unusual in rogue drone hives and swarms, but the ""Unshackled Overminds"" appear to have developed a very sophisticated variant. CONCORD theorists from the Directive Omega-One-Five Section have speculated that exposure to Triglavian information warfare and subsequent adaptation to it has resulted in accelerated evolution within these rogue drone swarms.",100000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,21818 56505,4037,Overmind Broodlord Omega,"Independent rogue drone swarms have been detected in Triglavian space, showing no fear or favor to the Triglavian Collective, EDENCOM or any other parties they encounter. These rogue drone swarms include a large number of advanced types and even include the so-called ""Overmind"" classes of rogue drones. -Overmind Broodlords are powerful vessels that function as mobile superorganisms of rogue drones hosted within the hulk of a capital-class vessel subverted and infested by the swarm. An encounter with one of these Overminds will involve combat with many rogue drone combat types.",5000.0000000000,5.0000000000,480.0000000000,1,134,None,0,None,None,11,21285 +Overmind Broodlords are powerful vessels that function as mobile superorganisms of rogue drones hosted within the hulk of a capital-class vessel subverted and infested by the swarm. An encounter with one of these Overminds will involve combat with many rogue drone combat types.",1600000000.0000000000,5.0000000000,480.0000000000,1,134,None,0,None,None,11,21285 56506,4037,Overmind Destructor Delta,"Independent rogue drone swarms have been detected in Triglavian space, showing no fear or favor to the Triglavian Collective, EDENCOM or any other parties they encounter. These rogue drone swarms include a large number of advanced types and even include the so-called ""Overmind"" classes of rogue drones. Overmind Destructors are powerful and aggressive combat drones of very high intelligence. Deadly in their own right, the Destructor types will typically be accompanied by many subordinate rogue drones.",100000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,1229 @@ -65328,7 +65342,7 @@ Overmind Interruptors are powerful and aggressive combat drones of very high int Overmind Interruptors are powerful and aggressive combat drones of very high intelligence. Deadly in their own right, the Interruptor types will typically be accompanied by many subordinate rogue drones.",100000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,24499 56510,4037,Overmind Progenitor Zero,"Independent rogue drone swarms have been detected in Triglavian space, showing no fear or favor to the Triglavian Collective, EDENCOM or any other parties they encounter. These rogue drone swarms include a large number of advanced types and even include the so-called ""Overmind"" classes of rogue drones. -Overmind Progenitors are often to be found at the heart of a rogue drone infestation range and are critical to the continued expansion of a rogue swarm. Guarded by many powerful and high caste rogue drones, the Progenitor will be the focus of the entire swarm's combat castes if it is threatened. An assault on an Overmind Progenitor should not be undertaken lightly.",100000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,2566 +Overmind Progenitors are often to be found at the heart of a rogue drone infestation range and are critical to the continued expansion of a rogue swarm. Guarded by many powerful and high caste rogue drones, the Progenitor will be the focus of the entire swarm's combat castes if it is threatened. An assault on an Overmind Progenitor should not be undertaken lightly.",1260000000.0000000000,60.0000000000,480.0000000000,1,134,None,0,None,None,11,2566 56535,988,Wormhole C729,"An unstable wormhole, deep in space. Wormholes of this kind usually collapse after a few days, and can lead to anywhere.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,3715 56536,988,Wormhole C729,"An unstable wormhole, deep in space. Wormholes of this kind usually collapse after a few days, and can lead to anywhere.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,3715 56537,988,Wormhole C729,"An unstable wormhole, deep in space. Wormholes of this kind usually collapse after a few days, and can lead to anywhere.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,3715 @@ -68707,7 +68721,7 @@ This filament has been produced using especially unstable compounds and therefor 58915,1975,Infested Zirnitra Debris,Infested Zirnitra Debris; perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,25000 58916,186,Salvageable Nursery Nest,The remains of a destroyed Overmind Nursery Nest. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3116 58917,1975,Dungeon Environment R0 9146,,0E-10,0E-10,0E-10,1,134,None,0,None,None,None,25005 -58919,4117,Interdiction Nullifier I,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. +58919,4117,Interdiction Nullifier I,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. As a side effect, the host ship's max targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. This module ceases to function when a Burst Jammer module or Higgs Anchor rig are fit.",5000.0000000000,5.0000000000,0E-10,1,None,20000.0000,1,2783,24730,None,0 58932,1971,Proving Special FFA Beacon (Do not translate),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 @@ -68776,13 +68790,13 @@ These smartly tailored dress pants are intended to be worn with the Republic Com 58955,4118,Interdiction Nullifier I Blueprint,,0E-10,0.0100000000,0E-10,1,None,400940.0000,1,332,24730,None,0 58956,1218,Industrial Reconfiguration,"Skill at the operation of subcapital industrial core modules. 20-unit reduction in heavy water consumption amount for module activation per skill level.",0E-10,0.0100000000,0E-10,1,None,20000000.0000,1,1323,33,None,0 -58966,4117,Compact Interdiction Nullifier,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. +58966,4117,Compact Interdiction Nullifier,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. As a side effect, the host ship's max targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. This module ceases to function when a Burst Jammer module or Higgs Anchor rig are fit.",5000.0000000000,5.0000000000,0E-10,1,None,None,1,2783,24730,None,0 -58971,4117,Enduring Interdiction Nullifier,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. +58971,4117,Enduring Interdiction Nullifier,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. As a side effect, the host ship's max targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. This module ceases to function when a Burst Jammer module or Higgs Anchor rig are fit.",5000.0000000000,5.0000000000,0E-10,1,None,None,1,2783,24730,None,0 -58972,4117,Interdiction Nullifier II,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. +58972,4117,Interdiction Nullifier II,"Temporarily nullifies the effects of warp disrupt probes and mobile warp disruptors when activated before entering warp. As a side effect, the host ship's max targeting range, scan resolution and drone bandwidth are penalized while this module is fitted. This module ceases to function when a Burst Jammer module or Higgs Anchor rig are fit.",5000.0000000000,5.0000000000,0E-10,1,None,None,1,2783,24730,None,0 58973,4118,Compact Interdiction Nullifier Blueprint,,0E-10,0.0100000000,0E-10,1,None,400940.0000,1,332,24730,None,0 @@ -71018,8 +71032,8 @@ Techniques developed for controlling ORE's successful 'Excavator' line of mining 60480,100,Heavy Mutated Drone,"This heavy combat drone has been bizarrely altered by a mutaplasmid tool that uses both Triglavian and rogue drone technologies. While the resultant drone unit may be enhanced in various ways, and changed for the worse in others, it is certainly much more grotesque than its original form. Techniques developed for controlling ORE's successful 'Excavator' line of mining drones, based on pacified rogue drone technology, appear to work satisfactorily to restrict the rogue elements of the mutated drone. Then again, this is a combat drone equipped with adaptive tactical intelligence systems.",12000.0000000000,25.0000000000,0E-10,1,8,271072.0000,1,None,None,None,1223 -60481,100,Sentry Mutated Drone,"This sentry drone has been bizarrely by a mutaplasmid tool that uses both Triglavian and rogue drone technologies. While the resultant drone unit may be enhanced in various ways, and changed for the worse in others, it is certainly much more grotesque than its original form. - +60481,100,Sentry Mutated Drone,"This sentry drone has been modified by a mutaplasmid tool that uses both Triglavian and rogue drone technologies. While the resultant drone unit may be enhanced in various ways, and changed for the worse in others, it is certainly much more grotesque than its original form. + Techniques developed for controlling ORE's successful 'Excavator' line of mining drones, based on pacified rogue drone technology, appear to work satisfactorily to restrict the rogue elements of the mutated drone. Then again, this is a sentry drone equipped with adaptive tactical intelligence systems.",12000.0000000000,25.0000000000,0E-10,1,8,140000.0000,1,None,None,None,1225 60482,645,Mutated Drone Damage Amplifier,"The Drone Damage Amplifier projects a multi-node quantum entanglement onto the ship's drone or fighter communications net, creating a bridged processor link that allows for better real-time trajectory projections. This one has been radically altered by a mutaplasmid tool that uses both Triglavian and rogue drone technologies. @@ -76931,7 +76945,7 @@ Volatile compounds were used to create this cerebral accelerator, limiting its s Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after January 10, YC125.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 72869,419,Myrmidon Navy Issue,"Following a successful re-engineering process, Duvolle Laboratories developed a new method of transmitting energy to remote stasis webification drones, greatly increasing the factor by which they could ensnare a ship. The research corporation then went on to win a bid to apply this new development to Gallente Navy ship designs. The bulky nature of this technology prohibited integration with the Gallente Navy's smaller vessels and so the Myrmidon was identified as an ideal choice for field testing. -This webification drone technology, combined with an upgraded Myrmidon, proved a potent combination: the drones being able to snare distant targets, allowing this spiked column of destruction to slowly fall upon its prey.",12700000.0000000000,270000.0000000000,400.0000000000,1,8,40400000.0000,1,1704,None,20072,25574 +This webification drone technology, combined with an upgraded Myrmidon, proved a potent combination: the drones being able to snare distant targets, allowing this spiked column of destruction to slowly fall upon its prey.",12700000.0000000000,270000.0000000000,560.0000000000,1,8,40400000.0000,1,1704,None,20072,25574 72872,419,Prophecy Navy Issue,"The latest iteration of an ancient and venerable warship design, the Prophecy Navy Issue is a return to the tried and true Amarr doctrine of super-heavy armor and powerful energy weapons. Capitalizing on the success of the Prophecy as a sturdy mainline doctrine, onboard drone control systems have also been streamlined, creating additional space to allow for more advanced crystal focusing technology. To the Amarr there is little more beautiful than to witness the moment purifying fire streams through the heavens to smite the heretic and the unbeliever.",15300000.0000000000,234000.0000000000,400.0000000000,1,4,40400000.0000,1,1704,None,20061,25573 @@ -87507,7 +87521,7 @@ This regulator has been damaged causing it to become unstable, but the nature of The Cybele was developed by a provisional team under Duvolle's Advanced Manifold Theory Unit co-led by Rias Luisauir, prodigious R&D agent and engineer, and Progressive Plasma's Dr. Jinneth Duvolle, original co-founder of Duvolle Labs. Afforded a near-bottomless budget to design a platform suitable for locales where reinforcement would be impossible and return imperative, the two leads took full advantage of this unique opportunity to bring their most revolutionary and cost-prohibitive theories into reality as part of the designs. -A reverse-ballast function devised by Luisauir, based on the micro jump drive's ultraweak force-compensated mass phase-tuning principle, negates armor plate mass gain by scaling microscale depleted vacuum volumes with the ship's mass in-flight, while a plasma cooling system designed by Dr. Jinneth boosts the operational threshold of hybrid turrets and armor repairers. Combined with an all-around upgrade to the Adrestia's core capabilities and electronics and the incorporation of heavy assault cruiser subsystems, the Cybele is a priceless force to be reckoned with.",11100000.0000000000,112000.0000000000,450.0000000000,1,8,4500000.0000,1,1621,None,20072,26516 +A reverse-ballast function devised by Luisauir, based on the micro jump drive's ultraweak force-compensated mass phase-tuning principle, negates armor plate mass gain by scaling microscale depleted vacuum volumes with the ship's mass in-flight, while a plasma cooling system designed by Dr. Jinneth boosts the operational threshold of hybrid turrets and armor repairers. Combined with an all-around upgrade to the Adrestia's core capabilities and electronics and the incorporation of heavy assault cruiser subsystems, the Cybele is a priceless force to be reckoned with.",11100000.0000000000,112000.0000000000,450.0000000000,1,8,4500000.0000,1,1621,None,20074,26516 77727,4576,Faulty Triglavian Cache,"Once a functional bioadaptive cache, this device appears to have been damaged and set adrift long ago. Any information once stored in the cache is long since lost and now it transmits only incoherent data pulses. Additionally, its surface has built up an electromagnetic charge. This would have attracted opposingly charged mutanite particles to the cache as it drifted through Abyssal Deadspace, explaining how it became buried inside such a thick layer of rock.",10000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,20217,22217 @@ -88965,10 +88979,10 @@ Please DO NOT spawn more than one of these at a time.",0E-10,0.1000000000,0E-10, Expiry date: February 9th YC126",0E-10,1.0000000000,0E-10,1,None,None,0,None,25248,None,0 78668,303,Expired Basic 'Brainfreeze' Cerebral Accelerator,"This cerebral accelerator has been produced by the Sansha's Nation. When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. -Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after February 9, YC126. ",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 +Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after February 9, YC126.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 78669,303,Expired Potent 'Brainfreeze' Cerebral Accelerator,"This cerebral accelerator has been produced by the Sansha's Nation. When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. -Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after February 9, YC126. ",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 +Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after February 9, YC126.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 78670,303,Expired Extended 'Brainfreeze' Cerebral Accelerator,"This cerebral accelerator has been produced by the Sansha's Nation. When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after February 9, YC126.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 @@ -89497,7 +89511,7 @@ This CPD-10N Nullsec Ice Storm Filament can transport up to ten capsuleers and i 79321,4055,Insurgency Angel Roaming Spawner - CT2 - DO NOT TRANSLATE,,1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,10026 79322,4637,Angel Lookout Mekubal,This Angel Cartel Destroyer is patrolling and scouting for easy targets in the system. ,1940000.0000000000,17400.0000000000,94.0000000000,1,2,None,0,None,None,None,26216 79326,110,Azariel Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,26445 -79327,4637,Angel Lookout Cynabal,This Angel Cartel Cruiser is patrolling and scouting for easy targets in the system. ,9047000.0000000000,96000.0000000000,515.0000000000,1,2,17062768.0000,0,None,None,None,337 +79327,4637,Angel Lookout Cynabal,This Angel Cartel Cruiser is patrolling and scouting for easy targets in the system.,9047000.0000000000,96000.0000000000,515.0000000000,1,2,17062768.0000,0,None,None,None,337 79329,4637,Zohar's Chosen Mekubal,This Angel Cartel Destroyer is patrolling and scouting for easy targets in the system.,1940000.0000000000,17400.0000000000,94.0000000000,1,2,None,0,None,None,None,26216 79330,4637,Zohar's Chosen Cynabal,This Angel Cartel Cruiser is patrolling and scouting for easy targets in the system.,9047000.0000000000,96000.0000000000,515.0000000000,1,2,17062768.0000,0,None,None,None,337 79331,4637,Angel Lookout Khizriel,This Angel Cartel Battlecruiser is patrolling and scouting for easy targets in the system. ,11520000.0000000000,96000.0000000000,515.0000000000,1,2,17062768.0000,0,None,None,None,26378 @@ -93227,7 +93241,7 @@ Note: The micro jump field only affects capsuleer-piloted ships. The number of c Micro Missile Swarm: The Locust can launch a swarm of missiles that are especially apt at destroying fighter and drone craft. These however do very little damage to full-sized starships. Evasive Maneuvers: Kicking in the afterburners and flying evasively makes the Locust especially difficult to destroy. The afterburner must cool down between uses. -Anti-Small Craft Tackle: The Locust has specialized electronic warfare projectors that disable small craft drive systems, slowing them down considerably and making them easy prey. ",1000.0000000000,800.0000000000,0E-10,1,1,None,1,840,None,None,27489 +Anti-Small Craft Tackle: The Locust has specialized electronic warfare projectors that disable small craft drive systems, slowing them down considerably and making them easy prey.",1000.0000000000,800.0000000000,0E-10,1,1,None,1,840,None,None,27489 83587,1652,Federation Navy Satyr,"Type: Light Fighter Role: Space Superiority Description: A dedicated space superiority fighter, the Satyr is designed to be lethal to fighter and drone craft in its area of operations. @@ -93564,7 +93578,7 @@ The digital sequence of this nanocating has been bound, and though it can only b 84133,1950,Metamorphosis Media Miasma SKIN,"In a time of infinite holoreels and StreamCasts, let the Scope be your guide through the miasma of media confusion.",0E-10,0.0100000000,0E-10,1,16,None,1,3549,None,None,0 84134,1950,Sunesis Media Miasma SKIN,"In a time of infinite holoreels and StreamCasts, let the Scope be your guide through the miasma of media confusion.",0E-10,0.0100000000,0E-10,1,16,None,1,2314,None,None,0 84135,1950,Gnosis Media Miasma SKIN,"In a time of infinite holoreels and StreamCasts, let the Scope be your guide through the miasma of media confusion.",0E-10,0.0100000000,0E-10,1,16,None,1,2312,None,None,0 -84136,1950,Praxis Media Miasma SKIN,"In a time of infinite holoreels and StreamCasts, let the Scope be your guide through the miasma of media confusion.",0E-10,0.0100000000,0E-10,1,16,None,1,2406,None,None,0 +84136,1950,Praxis Media Miasma SKIN,"In a time of infinite holoreels and StreamCasts, let the Scope be your guide through the miasma of media confusion.",0E-10,0.0100000000,0E-10,1,16,None,1,2421,None,None,0 84163,4726,Ancestral Fireclay Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26233,None,0 @@ -93952,7 +93966,7 @@ The mutaplasmid colony integrated into this bioadaptive tool is highly unstable, Triglavian bioadaptive technology makes extensive use of engineered colonies of extremophilic bacteria, that are used to grow, harvest and adapt various resources found in Abyssal Deadspace. Artificial colonizing plasmids integrated into specialist tools used for direct adaptation of technology can be found in Triglavian caches in various stages of development. These mutaplasmids can be used to alter the characteristics of a wide variety of equipment types, depending on the strain and the bioadaptive tool with which they are integrated. -The mutaplasmid colony integrated into this bioadaptive tool is highly unstable, with a high rate of reproduction and mutation. The mutational benefits of using this mutaplasmid are potentially very high but the risks are also extreme. ",1.0000000000,1.0000000000,0E-10,1,None,1000.0000,1,3670,24133,None,0 +The mutaplasmid colony integrated into this bioadaptive tool is highly unstable, with a high rate of reproduction and mutation. The mutational benefits of using this mutaplasmid are potentially very high but the risks are also extreme.",1.0000000000,1.0000000000,0E-10,1,None,1000.0000,1,3670,24133,None,0 84424,1964,Unstable Medium EMP Smartbomb Mutaplasmid,"This bioadaptive mutaplasmid tool is designed to interface with and alter devices that can radiate omnidirectional pulses. As such this mutaplasmid could be used to mutate the performance characteristics of smartbomb modules. Triglavian bioadaptive technology makes extensive use of engineered colonies of extremophilic bacteria, that are used to grow, harvest and adapt various resources found in Abyssal Deadspace. Artificial colonizing plasmids integrated into specialist tools used for direct adaptation of technology can be found in Triglavian caches in various stages of development. These mutaplasmids can be used to alter the characteristics of a wide variety of equipment types, depending on the strain and the bioadaptive tool with which they are integrated. @@ -94483,7 +94497,7 @@ Requires either regular or advanced frequency crystal ammo types: Gamma, Infrare 85015,53,Nija's Modified Heavy Pulse Laser,"A heavy laser designed for short to medium range engagements. Delivers powerful damage. Requires either regular or advanced frequency crystal ammo types: Gamma, Infrared, Microwave, Multifrequency, Radio, Standard, Ultraviolet, Xray, Conflagration, Scorch.",1000.0000000000,10.0000000000,1.0000000000,1,4,None,1,572,356,None,21571 -85021,507,Panola's Modified Rocket Launcher,A tiny launcher that can carry a very limited supply of rockets. Not really intended as a primary weapon but rather as a cheap supplementary weapon system. ,0E-10,5.0000000000,0.2813000000,1,None,3000.0000,1,639,1345,None,21741 +85021,507,Panola's Modified Rocket Launcher,A tiny launcher that can carry a very limited supply of rockets. Not really intended as a primary weapon but rather as a cheap supplementary weapon system.,0E-10,5.0000000000,0.2813000000,1,None,3000.0000,1,639,1345,None,21741 85023,771,Hanaruwa's Modified Heavy Assault Missile Launcher,"A launcher intended for use on cruiser-class spacecraft. While assault launchers do not possess the sheer damage-dealing capability of regular heavy missile launchers, their blend of speed and attack power lends them application across a good range of tactical situations.",0E-10,10.0000000000,1.1250000000,1,None,34096.0000,1,974,3241,None,21703 85025,46,Usaras' Modified 1MN Afterburner,"Gives a boost to the maximum velocity of the ship when activated. The thrust that boosts the ship, and the corresponding maximum velocity bonus, are limited by the mass of the ship that uses this module. @@ -96732,7 +96746,7 @@ Paragon; be more. WARNING: Emblems are auto-injected on purchases and cannot be transferred or traded between capsuleers. The Paragon corporation accepts no liability for failed transfer attempts.",0E-10,0E-10,0E-10,1,None,None,1,None,25468,None,0 87176,4828,Static Pirate Djinn Spawn Point,,1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,10026 87177,920,Triglavian Minor Victory,,1.0000000000,20.0000000000,0E-10,250,None,None,1,None,None,None,1217 -87179,474,Observatory Resonance Key,Data-key containing recordings of the resonance of stellar observation quantum interactions. Acceleration gates require this data to lock onto a Stellar Observatory’s position.,1.0000000000,0.1000000000,0E-10,1,None,30000000.0000,1,3732,21784,None,0 +87179,474,Obsolete Observatory Resonance Key,Data-key containing recordings of the resonance of stellar observation quantum interactions. Acceleration gates once required this data to lock onto a Stellar Observatory’s position.,1.0000000000,0.1000000000,0E-10,1,None,30000000.0000,1,3732,21784,None,0 87207,1194,Ancillary Preservation Canister,A modest cache of Sleeper and Triglavian artifacts gathered into this canister to protect them from the ravages of the Abyssal Deepflows,1.0000000000,3.0000000000,0E-10,1,None,None,1,1661,26584,None,0 87208,1194,Prime Conservation Canister,A valuable cache of Sleeper and Triglavian artifacts gathered into this canister to protect them from the ravages of the Abyssal Deepflows.,1.0000000000,3.0000000000,0E-10,1,None,None,1,1661,26584,None,0 87209,1194,Demijohn-Secured Dispatch,"A bloodstained message transcribed in Triglavian Script has been lodged inside this beverage vessel in a desperate attempt to keep it safe. @@ -96792,7 +96806,7 @@ This data has not been limited in its scope and the full spectrum of the analysi 87261,1975,Non-Interactable Bane Wreck (DO NOT TRANSLATE),,1.0000000000,1.0000000000,1.0000000000,1,None,None,0,None,None,None,26044 87262,1975,Non-Interactable Karura Wreck (DO NOT TRANSLATE),,1.0000000000,1.0000000000,1.0000000000,1,None,None,0,None,None,None,26043 87263,314,Jailer Datacore,"The central datacore of a Patient Jailer. The code it runs is based on ancient Jovian principles, but its unblemished surface betrays its recent construction.",1.0000000000,0.0100000000,0E-10,1,None,400000.0000,1,1863,2885,None,0 -87264,314,Fragmented Observations,"In its strange journey unstuck in space and time, the observatory has still been recording its surroundings. Due to tis ruined state those recordings are fragmented and incomplete, but still have some value to the scientifically astute.",1.0000000000,0.0100000000,0E-10,1,None,1000000.0000,1,1863,2886,None,0 +87264,314,Fragmented Observations,"In its strange journey unstuck in space and time, the observatory has still been recording its surroundings. Due to this ruined state those recordings are fragmented and incomplete, but still have some value to the scientifically astute.",1.0000000000,0.0100000000,0E-10,1,None,1000000.0000,1,1863,2886,None,0 87265,314,Gleaned Static,"[Date Tag Lost] - [Corrupted message] [Date Tag Lost] - [Corrupted message] sickness, not of the [Corrupted message] unforgiven. @@ -96817,7 +96831,7 @@ This data has not been limited in its scope and the full spectrum of the analysi Like all cloned bodies used by Drifters, the vocal cords have been removed, its blood irradiated and flooded with nanites, and it relied on artificial life support systems managed by a secondary intelligence.",1.0000000000,0.0100000000,0E-10,1,None,25000000.0000,1,1863,2855,None,0 87269,314,Tekton Forked Packet,"This data packet is all that was recoverable of the copy of the Tekton Drifter mind. -While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs. ",1.0000000000,0.0100000000,0E-10,1,None,40000000.0000,1,1863,3755,None,0 +While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs.",1.0000000000,0.0100000000,0E-10,1,None,40000000.0000,1,1863,3755,None,0 87273,314,Breaking Point Parameters,Data modelling the responses of individuals observed by a Destructive Scrutinizer. The data has been structured so as to provide parameters for a detailed simulation. Such information would be valuable to scientists and intelligence groups alike.,1.0000000000,0.0100000000,0E-10,1,None,8000000.0000,1,1863,3755,None,0 87274,227,Drifter Crisis - Roaming Spawner - Cluster (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87275,227,Vigilant Dreamer - Boss Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 @@ -96937,6 +96951,15 @@ They will reward any capsuleers who bring them a complete set of all 12 Captures 87374,314,Reconstructed Spectral Vision Matar,"This data contains a raw image from an advanced virtuality. Using compression and filtering techniques it has been possible to use captured data to rebuild a still of the original scenario without including noise from additional data streams. Capsuleers can decode this vision to retrieve the original still in all its glory.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,26589,None,0 +87377,227,Incipient Drone Swarm - Enemy Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87378,227,Convocation Watchpost - Enemy Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87379,227,EDENCOM Scout Fleet - Enemy Spawner - Amarr (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87380,227,Torpid Sleeper Hive - Enemy Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87381,485,Sarathiel,"The rapid warp capabilities of the Sarathiel make it uniquely fast amongst dreadnoughts. Its development began under the shadow of the Drifter Crisis, and though its exterior does not look anything like a Drifter vessel, it is rumored to incorporate elements of their technology procured during those dark days. + +In addition to its outstanding warp capabilities, this Dreadnought is able to house jump field generators. It is this capability that means the sight of a Sarathiel strikes fear into the citizens of New Eden, for it is often the first sign of a devastating ambush.",1130000000.0000000000,15500000.0000000000,2900.0000000000,1,2,4199400000.0000,1,3483,None,20076,28026 +87382,186,Sarathiel Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,28030 +87383,537,Sarathiel Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,28026 87386,314,Spectral vision capture,Spectral vision capture,0.1000000000,0.1000000000,0E-10,1,None,None,0,None,None,None,0 87389,314,Reconstructed Spectral Vision Gallente Prime,"This data contains a raw image from an advanced virtuality. Using compression and filtering techniques it has been possible to use captured data to rebuild a still of the original scenario without including noise from additional data streams. @@ -96953,9 +96976,16 @@ Capsuleers can decode this vision to retrieve the original still in all its glor 87393,314,Reconstructed Spectral Vision Jita,"This data contains a raw image from an advanced virtuality. Using compression and filtering techniques it has been possible to use captured data to rebuild a still of the original scenario without including noise from additional data streams. Capsuleers can decode this vision to retrieve the original still in all its glory.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,26589,None,0 +87394,227,EDENCOM Scout Fleet - Enemy Spawner - Caldari (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87395,227,EDENCOM Scout Fleet - Enemy Spawner - Gallente (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +87396,227,EDENCOM Scout Fleet - Enemy Spawner - Minmatar (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87397,1667,Utopian Sagaris,"A Sagaris sleeper, equivalent to a battleship class ship. It will defend this site at all costs. Once the ancient robotic protector of a lost people, its guardian protocols have been overwritten for war.",63000000.0000000000,0E-10,933.0000000000,1,None,None,0,None,None,12,3559 +87418,306,Infested Array,This Rogue Drone infestation is gathering information essential to its proliferation.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,None,None,2565 +87419,306,Topographer Array,Now-time stability determination is key to advanced-time position within the flow. Pochven topography reveals istina state.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,None,None,22035 +87420,306,Watcher Array,"A broad spectrum of sensors are embedded within this structure, observing the surrounding space. How it watches is clear, why it watches is not.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,None,None,3517 +87421,306,Surveilance Array,An array used by EDENCOM to maintain detailed information on their enemies' activity throughout this system.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,None,None,2412 87430,1194,Enforcer Starter Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,None,None,0,None,25328,None,0 87431,1194,Explorer Starter Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,None,None,0,None,25329,None,0 87432,1194,Industrialist Starter Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,None,None,0,None,25330,None,0 @@ -96964,6 +96994,25 @@ Once the ancient robotic protector of a lost people, its guardian protocols have 87439,1194,Corax Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,1,None,0,None,24299,None,0 87440,1194,Algos Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,8,None,0,None,24298,None,0 87441,1194,Thrasher Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,2,None,0,None,24300,None,0 +87442,4471,Sarathiel Alliance Emblem,"Emblems by Paragon bring new light to your ship personalization. + +By accessing your registered identity data, these nanoholographic projections emblazon your favorite vessels with symbols that matter to you. And now, by utilizing the latest in cloud-based AI synchronization, emblems remain stable even during warp. + +Visit your nearest IRIS and take part in Paragon's latest initiatives to unlock new emblems today. + +Paragon; be more. + +WARNING: Emblems are auto-injected on purchases and cannot be transferred or traded between capsuleers. The Paragon corporation accepts no liability for failed transfer attempts.",0E-10,0E-10,0E-10,1,None,None,1,None,25467,None,0 +87443,4471,Sarathiel Corporation Emblem,"Emblems by Paragon bring new light to your ship personalization. + +By accessing your registered identity data, these nanoholographic projections emblazon your favorite vessels with symbols that matter to you. And now, by utilizing the latest in cloud-based AI synchronization, emblems remain stable even during warp. + +Visit your nearest IRIS and take part in Paragon's latest initiatives to unlock new emblems today. + +Paragon; be more. + +WARNING: Emblems are auto-injected on purchases and cannot be transferred or traded between capsuleers. The Paragon corporation accepts no liability for failed transfer attempts.",0E-10,0E-10,0E-10,1,None,None,1,None,25468,None,0 +87444,515,QA Prototype Siege Module,QA Prototype mobility siege module. ,1.0000000000,4000.0000000000,0E-10,1,1,47022756.0000,0,801,2851,None,0 87449,1194,Omen Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,4,None,0,None,24297,None,0 87450,1194,Caracal Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,1,None,0,None,24299,None,0 87451,1194,Vexor Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,8,None,0,None,24298,None,0 @@ -97004,7 +97053,7 @@ Activation of an Expert System is automatic upon redemption of the item by the s Expert Systems are a product developed by the PKN Interstellar consortium, made available over the HyperNet FTL communications network, and marketed by PKN Interstellar member corporations. An Expert System is a restricted AI based on artificial gelbrain technology. As the Expert System uses neural pathways based on those created by skill training or skill injection, it is compatible with capsule-ship interface and control systems. Real time command and control communication is achieved using dedicated FTL channels on PKN Interstellar's HyperNet.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,24597,None,0 87496,4091,Explorer,"Explorer Expert System -This Expert System makes available skills enabling a capsuleer to fly an Astero frigate fitted with basic travel, scanning and hacking equipment. It does not include the Cloaking skill and is therefore best suited for exploration of High Security space. +This Expert System makes available skills enabling a capsuleer to fly an exploration Frigate fitted with basic travel, scanning and hacking equipment. It does not include the Cloaking skill and is therefore best suited for exploration of High Security space. The temporary skills provided by this Expert System last for 14 days. @@ -97120,52 +97169,52 @@ The Caldari State Police found its niche in the interstellar nature of the Calda Can only be fit to Mining Barges and Exhumers.",0E-10,5.0000000000,0E-10,1,None,None,1,1040,2527,None,11147 87569,383,FinalBattleLowTierSentryTower(DO NOT TRANSLATE),"These fearsome sentry towers have remained the faithful and dangerous guardians of their sleeping masters, even after countless years of constant duty. As unpredictable as they are powerful, the towers have been expertly designed to provide lasting vigilance with an unquestioning, mechanical loyalty. The weapons systems on board are frighteningly precise and devastating upon impact.(DO NOT TRANSLATE)",1000.0000000000,1000.0000000000,1000.0000000000,1,64,None,0,None,None,None,3533 -87572,1088,"Women's ""Crisis Breaker"" Drifter Plugsuit","Cleansed of all invasive and dangerous technologies, this Drifter Plugsuit serves as a visual testament to those who aided New Eden during the Drifter Crisis of YC127.",0.5000000000,0.1000000000,0E-10,1,None,None,1,None,26597,None,0 -87573,1088,"Men's ""Crisis Breaker"" Drifter Plugsuit","Cleansed of all invasive and dangerous technologies, this Drifter Plugsuit serves as a visual testament to those who aided New Eden during the Drifter Crisis of YC127.",0.5000000000,0.1000000000,0E-10,1,None,None,1,None,26598,None,0 -87574,303,Basic Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. +87572,1088,"Women's ""Crisis Breaker"" Drifter Plugsuit","Cleansed of all invasive and dangerous technologies, this Drifter Plugsuit serves as a visual testament to those who aided New Eden during the Drifter Crisis of YC127.",0.5000000000,0.1000000000,0E-10,1,None,None,1,1405,26597,None,0 +87573,1088,"Men's ""Crisis Breaker"" Drifter Plugsuit","Cleansed of all invasive and dangerous technologies, this Drifter Plugsuit serves as a visual testament to those who aided New Eden during the Drifter Crisis of YC127.",0.5000000000,0.1000000000,0E-10,1,None,None,1,1399,26598,None,0 +87574,303,Expired Basic Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. -Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,1,2487,10144,None,0 -87575,303,Extended Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. +Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 +87575,303,Expired Extended Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. -Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,1,2487,10144,None,0 -87576,303,Potent Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. +Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 +87576,303,Expired Potent Capsuleer Day XXII Cerebral Accelerator,"When consumed by a capsuleer, this booster will increase the rate at which they train skills for a short time. -Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,1,2487,10144,None,0 -87577,303,Basic Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 20% bonus to agent, corporation and faction standing increases. +Volatile compounds were used to create this cerebral accelerator, limiting its shelf life. It will cease to function after June 12, YC127.",0E-10,1.0000000000,0E-10,1,None,32768.0000,0,None,10144,None,0 +87577,303,Expired Basic Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 20% bonus to agent, corporation and faction standing increases. -Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,2530,24592,None,0 -87578,303,Extended Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 25% bonus to agent, corporation and faction standing increases. +Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,0,None,24592,None,0 +87578,303,Expired Extended Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 25% bonus to agent, corporation and faction standing increases. -Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,2530,24592,None,0 -87579,303,Potent Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 50% bonus to agent, corporation and faction standing increases. +Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,0,None,24592,None,0 +87579,303,Expired Potent Capsuleer Day XXII Glamourex Booster,"This booster has been produced and distributed by Impetus and CONCORD to celebrate the 22nd anniversary of the first independent capsuleer licenses. Working much like the Social skill this highly potent booster provides a 50% bonus to agent, corporation and faction standing increases. -Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,2530,24592,None,0 +Volatile compounds were used to create this booster, limiting its shelf life. It will cease to function after June 12, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,0,None,24592,None,0 87593,1975,Non-Interactable Wormhole - Open (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,20211,28102 87596,227,Maze - Boss Combat Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87601,1194,Ladon Forked Packet,"Recovered from a copy of the Ladon Drifter mind, this data packet may hold answers to the nature of the Nexus Cyphers being generated by the Labyrinth Complex. -While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs. ",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87602,1194,Recursive Knot,"A hyper-complex recursive data loop. -It is unsolvable, but would prove valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +It is unsolvable, but would prove valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87603,1194,Uncertainty Thread,"A confusing thread of quantum calculations that resolves to multiple contradictory conclusions. -While its results cannot all possibly be true, it would still be valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +While its results cannot all possibly be true, it would still be valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87604,1194,Definitive Thread,"A deterministic thread of quantum calculations in which uncertainty variations have been eliminated. -It should be impossible, according to contemporary scientific theory. As such, it may provide key insights into Drifter technology. It would be highly valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +It should be impossible, according to contemporary scientific theory. As such, it may provide key insights into Drifter technology. It would be highly valuable to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87605,1194,Execution Command Unit,"These Execution Command Units are unique to the Sleeper Drones of the Labyrinth Complex. Through this unit, every action they execute links back to the Labyrinth’s superstructure, making them a part of its unfathomable operations. -The forces occupying Drifter wormholes or their corporations back in New Eden would consider them valuable.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +The forces occupying Drifter wormholes or their corporations back in New Eden would consider them valuable.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87606,1194,Terminated Knot,"A hyper-complex data loop that has reached an nth dimensional solution terminus. -It could provide extremely valuable insights to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +It could provide extremely valuable insights to the forces occupying Drifter wormholes or their corporations back in New Eden.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87607,1194,Dominance Command Unit,"Dominance Command Units are rare even among the Sleeper Drones of the Labyrinth Complex. These computational components are directly linked into the same hyperspace network as the Labyrinth itself, granting remote intelligences the ability to make direct adjustments. -The forces occupying Drifter wormholes or their corporations back in New Eden would consider them valuable.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +The forces occupying Drifter wormholes or their corporations back in New Eden would consider them valuable.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87608,1194,Mynos Forked Packet,"This data packet was recovered from a copy of the Mynos Drifter mind and may hold answers to the operations of the enigmatic Labyrinth Complex. -While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs. ",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs. ",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 87609,227,Maze - Boss Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87610,227,Maze - Roaming Boss Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87611,227,Maze - Trader Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 @@ -97184,6 +97233,8 @@ With enough of these signatures, a group would be able to gain remote access to 87702,4768,Tritanium Prospecting Array 3,"This array locates additional ore resources in a system, prioritizing tritanium-rich asteroids belts. This variant will discover the extremely large asteroid belts at a very slow rate, suitable for larger fleets of miners.",1000.0000000000,5000.0000000000,0E-10,1,None,100000000.0000,1,1283,26737,None,0 +87703,4838,Power Monitoring Division 1,"This Division is staffed by workers tasked with monitoring power generation systems, marginally increasing power output at the cost of workforce. +The generated power is restricted to only supporting lower-priority upgrades.",1000.0000000000,8000.0000000000,0E-10,1,None,100000000.0000,1,3736,26791,None,0 87704,4768,Pyerite Prospecting Array 3,"This array locates additional ore resources in a system, prioritizing pyerite-rich asteroids belts. This variant will discover the extremely large asteroid belts at a very slow rate, suitable for larger fleets of miners.",1000.0000000000,5000.0000000000,0E-10,1,None,100000000.0000,1,1283,26740,None,0 @@ -97202,9 +97253,12 @@ This variant will discover the extremely large asteroid belts at a very slow rat 87709,4768,Megacyte Prospecting Array 3,"This array locates additional ore resources in a system, prioritizing megacyte-rich asteroids belts. This variant will discover the extremely large asteroid belts at a very slow rate, suitable for larger fleets of miners.",1000.0000000000,5000.0000000000,0E-10,1,None,100000000.0000,1,1283,26755,None,0 +87710,4838,Workforce Mecha-Tooling 1,"Limited Mecha-Tooling empowers workers, utilizing additional power to marginally increase workforce effectiveness. +The generated workforce is restricted to local use, supporting only lower-priority upgrades within the same system.",1000.0000000000,8000.0000000000,0E-10,1,None,100000000.0000,1,3736,26788,None,0 87711,303,Expired Aegytica Volatile Booster,"+16% Capacitor Base duration: 3 minutes and 30 seconds. This booster has been manufactured using volatile compounds and will expire on April 3rd, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21485,None,0 +87712,4838,QA Colony Resources Management Enhancer,This does not exist. ,1000.0000000000,8000.0000000000,0E-10,1,None,None,0,None,3946,None,0 87725,1882,Drifter Cloud Environment S2,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28019 87726,303,Expired Vis Vitalis Volatile Booster,"+16% Armor Repair Base duration: 3 minutes and 30 seconds. @@ -97324,6 +97378,10 @@ The digital sequence of this pattern license has been bound, and though it can o 87803,4726,Drifter Sweeps - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26683,None,0 +87815,4839,Gamma Stability Generator,"This generator produces system-wide effects similar to those encountered in Gamma environments within Abyssal Deadspace. + +All ships in system: +5% Shield HP, +5% Local Shield Booster Effectiveness, +10% Capacitor capacity",1000.0000000000,10000.0000000000,0E-10,1,None,100000000.0000,1,3741,26777,None,0 +87816,4839,Systemwide Modifier Upgrade B1,,1000.0000000000,200000.0000000000,0E-10,1,None,100000000.0000,0,None,3943,None,0 87826,4055,FinalBattleLowTierWaveHard (DO NOT TRANSLATE),,1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,10026 87827,988,Wormhole J492,"An unstable wormhole, deep in space. Wormholes of this kind usually collapse after a few days, and can lead to anywhere.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,3715 87828,4726,Extracted Butter Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. @@ -97331,7 +97389,7 @@ The digital sequence of this pattern license has been bound, and though it can o The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26707,None,0 87829,4726,Stellar Tan Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3654,26713,None,0 +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26713,None,0 87830,4726,Vigilant Spearmint Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26716,None,0 @@ -97350,13 +97408,13 @@ Once the ancient robotic protector of a lost people, its guardian protocols have 87835,227,FinalBattleLowTierCombatBossHard(DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 87836,4726,Pod Juice Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3655,26712,None,0 +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26712,None,0 87837,4726,Pastel Dreams Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26718,None,0 87838,4726,Rose-tinted Trit Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3632,26714,None,0 +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26714,None,0 87839,4726,Drifted Electrum Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26719,None,0 @@ -97368,187 +97426,187 @@ The digital sequence of this pattern license has been bound, and though it can o The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26711,None,0 87842,4726,XXII Unending - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,26715,None,0 +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26715,None,0 87843,4726,Hiver Finish - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26720,None,0 -87853,1194,Drifter Plugsuit Reward Crate,Contains the Drifter Plugsuit outerwear cosmetic reward.,1.0000000000,3.0000000000,0E-10,1,None,None,1,None,26584,None,0 -87854,303,Oxybeles Turret Booster I,"+3% Turret Damage +87853,1194,Drifter Plugsuit Reward Crate,Contains the Drifter Plugsuit outerwear cosmetic reward.,1.0000000000,3.0000000000,0E-10,1,None,None,1,1661,26584,None,0 +87854,303,Expired Oxybeles Turret Booster I,"+3% Turret Damage +3% Turret Optimal Range Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25245,None,0 -87855,303,Oxybeles Turret Booster II,"+6% Turret Damage +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25245,None,0 +87855,303,Expired Oxybeles Turret Booster II,"+6% Turret Damage +6% Turret Optimal Range Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25246,None,0 -87856,303,Oxybeles Turret Booster III,"+9% Turret Damage +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25246,None,0 +87856,303,Expired Oxybeles Turret Booster III,"+9% Turret Damage +9% Turret Optimal Range Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25247,None,0 -87857,303,Eidolon Missile Booster I,"+3% Missile Damage +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25247,None,0 +87857,303,Expired Eidolon Missile Booster I,"+3% Missile Damage +3% Missile Velocity Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25265,None,0 -87870,303,Eidolon Missile Booster II,"+6% Missile Damage +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25265,None,0 +87870,303,Expired Eidolon Missile Booster II,"+6% Missile Damage +6% Missile Velocity Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25266,None,0 -87871,303,Eidolon Missile Booster III,"+9% Missile Damage +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25266,None,0 +87871,303,Expired Eidolon Missile Booster III,"+9% Missile Damage +9% Missile Velocity Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25267,None,0 -87872,303,Calyx Repair Booster I,"-5% Armor Repairer and Shield Booster Cycle Time +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25267,None,0 +87872,303,Expired Calyx Repair Booster I,"-5% Armor Repairer and Shield Booster Cycle Time Base Duration 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25240,None,0 -87873,303,Calyx Repair Booster II,"-10% Armor Repairer and Shield Booster Cycle Time +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25240,None,0 +87873,303,Expired Calyx Repair Booster II,"-10% Armor Repairer and Shield Booster Cycle Time Base Duration 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25241,None,0 -87874,303,Calyx Repair Booster III,"-15% Armor Repairer and Shield Booster Cycle Time +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25241,None,0 +87874,303,Expired Calyx Repair Booster III,"-15% Armor Repairer and Shield Booster Cycle Time Base Duration 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25242,None,0 -87875,303,Asclepius Remote Repair Booster I,"-5% Remote Armor Repairer and Shield Booster Capacitor Need +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25242,None,0 +87875,303,Expired Asclepius Remote Repair Booster I,"-5% Remote Armor Repairer and Shield Booster Capacitor Need Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25260,None,0 -87876,303,Asclepius Remote Repair Booster II,"-10% Remote Armor Repairer and Shield Booster Capacitor Need +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25260,None,0 +87876,303,Expired Asclepius Remote Repair Booster II,"-10% Remote Armor Repairer and Shield Booster Capacitor Need Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25261,None,0 -87877,303,Asclepius Remote Repair Booster III,"-15% Remote Armor Repairer and Shield Booster Capacitor Need +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25261,None,0 +87877,303,Expired Asclepius Remote Repair Booster III,"-15% Remote Armor Repairer and Shield Booster Capacitor Need Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2531,25262,None,0 -87878,303,Phylax Armor Booster I,"+4% Armor Resistances +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25262,None,0 +87878,303,Expired Phylax Armor Booster I,"+4% Armor Resistances Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25250,None,0 -87879,303,Phylax Armor Booster II,"+8% Armor Resistances +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25250,None,0 +87879,303,Expired Phylax Armor Booster II,"+8% Armor Resistances Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25251,None,0 -87880,303,Phylax Armor Booster III,"+12% Armor Resistance +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25251,None,0 +87880,303,Expired Phylax Armor Booster III,"+12% Armor Resistance Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25252,None,0 -87881,303,Pelte Shield Booster I,"+4% Shield Resistances +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25252,None,0 +87881,303,Expired Pelte Shield Booster I,"+4% Shield Resistances Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25270,None,0 -87882,303,Pelte Shield Booster II,"+8% Shield Resistances +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25270,None,0 +87882,303,Expired Pelte Shield Booster II,"+8% Shield Resistances Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25271,None,0 -87883,303,Pelte Shield Booster III,"+12% Shield Resistances +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25271,None,0 +87883,303,Expired Pelte Shield Booster III,"+12% Shield Resistances Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25272,None,0 -87884,303,Nocturne Anti-Drain Booster I,"+8% Capacitor Warfare Resistance +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25272,None,0 +87884,303,Expired Nocturne Anti-Drain Booster I,"+8% Capacitor Warfare Resistance Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25235,None,0 -87885,303,Nocturne Anti-Drain Booster II,"+16% Capacitor Warfare Resistance +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25235,None,0 +87885,303,Expired Nocturne Anti-Drain Booster II,"+16% Capacitor Warfare Resistance Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25236,None,0 +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25236,None,0 87886,303,Nocturne Anti-Drain Booster II ( copy ),"+16% Energy Warfare Resistance. Base Duration: 2 Hours Expiry date: June 12th YC127 ( copy )",0E-10,1.0000000000,0E-10,1,None,None,0,2791,25236,None,0 -87887,303,Nocturne Anti-Drain Booster III,"+24% Capacitor Warfare Resistance +87887,303,Expired Nocturne Anti-Drain Booster III,"+24% Capacitor Warfare Resistance Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25237,None,0 -87888,303,Kausis Capacitor Booster I,"+4% Capacitor Capacity +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25237,None,0 +87888,303,Expired Kausis Capacitor Booster I,"+4% Capacitor Capacity Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25255,None,0 -87889,303,Kausis Capacitor Booster II,"+8% Capacitor Capacity +This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25255,None,0 +87889,303,Expired Kausis Capacitor Booster II,"+8% Capacitor Capacity Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25256,None,0 -87890,303,Kausis Capacitor Booster III,"+12% Capacitor Capacity +This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25256,None,0 +87890,303,Expired Kausis Capacitor Booster III,"+12% Capacitor Capacity Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2792,25257,None,0 -87891,303,Mnemon Relic Coherence Booster I,"+5 Relic Analyzer Virus Coherence +This booster has been manufactured using volatile compounds and will expire on July 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25257,None,0 +87891,303,Expired Mnemon Relic Coherence Booster I,"+5 Relic Analyzer Virus Coherence Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25250,None,0 -87892,303,Mnemon Relic Coherence Booster II,"+10 Relic Analyzer Virus Coherence +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25250,None,0 +87892,303,Expired Mnemon Relic Coherence Booster II,"+10 Relic Analyzer Virus Coherence Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25251,None,0 -87893,303,Mnemon Relic Coherence Booster III,"+15 Relic Analyzer Virus Coherence +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25251,None,0 +87893,303,Expired Mnemon Relic Coherence Booster III,"+15 Relic Analyzer Virus Coherence Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2790,25252,None,0 -87894,303,Palimpsest Relic Strength Booster II,"+6 Relic Analyzer Virus Strength +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25252,None,0 +87894,303,Expired Palimpsest Relic Strength Booster II,"+6 Relic Analyzer Virus Strength Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25271,None,0 -87895,303,Palimpsest Relic Strength Booster III,"+8 Relic Analyzer Virus Strength +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25271,None,0 +87895,303,Expired Palimpsest Relic Strength Booster III,"+8 Relic Analyzer Virus Strength Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25272,None,0 -87896,303,Lithos Mining Booster I,"+5% Mining Laser Yield +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25272,None,0 +87896,303,Expired Lithos Mining Booster I,"+5% Mining Laser Yield Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,25240,None,0 -87897,303,Lithos Mining Booster II,"+10% Mining Laser Yield +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,25240,None,0 +87897,303,Expired Lithos Mining Booster II,"+10% Mining Laser Yield Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,25241,None,0 -87898,303,Lithos Mining Booster III,"+15% Mining Laser Yield +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,25241,None,0 +87898,303,Expired Lithos Mining Booster III,"+15% Mining Laser Yield Base Duration: 2 Hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,25242,None,0 -87899,303,Palimpsest Relic Strength Booster I,"+4 Relic Analyzer Virus Strength +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,25242,None,0 +87899,303,Expired Palimpsest Relic Strength Booster I,"+4 Relic Analyzer Virus Strength Base Duration: 2 hours -This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,1,2791,25270,None,0 +This booster has been manufactured using volatile compounds and will expire on June 12th YC127.",0E-10,1.0000000000,0E-10,1,None,None,0,None,25270,None,0 87900,1194,Capsuleer Day XXII Fireworks Package,Contains a festival launcher module and commemorative Capsuleer Day XXII fireworks.,0E-10,1.0000000000,0E-10,1,None,None,1,1663,21898,None,0 87901,1194,Capsuleer Day XXII Booster Crate,"This crate contains two randomly selected Capsuleer Day XXII boosters, including a guaranteed Tier 3 booster.",0E-10,1.0000000000,0E-10,1,None,None,1,1663,24287,None,0 87925,1194,Capsuleer Day XXII Glamourex Crate,This crate contains a random Capsuleer Day Glamourex Booster.,0E-10,1.0000000000,0E-10,1,None,None,1,1663,21742,None,0 @@ -97563,7 +97621,19 @@ Once the ancient robotic protector of a lost people, its guardian protocols have 87943,4055,FinalBattleLowTierWave2 (DO NOT TRANSLATE),,1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,10026 87944,4055,FinalBattleLowTierWaveHard2 (DO NOT TRANSLATE),,1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,10026 87947,306,Prime Drifter Collection,"A rare collection of precious artifacts and valuables stored by Drifters. Due to the ancient protocols used to encrypt this collection, it can be opened with the help of a Relic Analyzer.",10000.0000000000,27500.0000000000,2700.0000000000,1,64,None,0,None,16,None,28011 +87948,4768,Exploration Detector 1,This limited detector allows ship scanners to pick up a few undetected relic and data signatures for probe scanning within a system.,1000.0000000000,5000.0000000000,0E-10,1,None,100000000.0000,1,3739,26757,None,0 +87949,4839,Plasma Stability Generator,"This generator produces system-wide effects similar to those encountered in Plasma environments within Abyssal Deadspace. + +All ships in system: +5% Armor HP, +5% Local Armor Repairer Effectiveness, +10% bonus to the benefits of overloading modules.",1000.0000000000,10000.0000000000,0E-10,1,None,100000000.0000,1,3741,26778,None,0 +87950,4839,Electric Stability Generator,"This generator produces system-wide effects similar to those encountered in Electric environments within Abyssal Deadspace. + +All ships in system: 25% bonus to Capacitor recharge rate, +25% targeting range and Directional Scanner range.",1000.0000000000,10000.0000000000,0E-10,1,None,100000000.0000,1,3741,26779,None,0 +87951,4839,Exotic Stability Generator,"This generator produces system-wide effects similar to those encountered in Exotic environments within Abyssal Deadspace. + +All ships in system: +25% scan resolution, +2 AU/s warp speed.",1000.0000000000,10000.0000000000,0E-10,1,None,100000000.0000,1,3741,26780,None,0 87952,4843,Sleeper Protocol Subverter,An electronic component that can convert any Sleeper Drone from a patient guardian into a tool of war.,0.1000000000,0.1000000000,0E-10,1,None,100000.0000,1,3737,3716,None,0 +87953,4768,Exploration Detector 2,This standard detector allows ship scanners to pick up a moderate number of undetected relic and data signatures for probe scanning within a system.,1000.0000000000,10000.0000000000,0E-10,1,None,100000000.0000,1,3739,26758,None,0 +87954,4768,Exploration Detector 3,This advanced detector allows ship scanners to pick up many undetected relic and data signatures for probe scanning within a system.,1000.0000000000,20000.0000000000,0E-10,1,None,100000000.0000,1,3739,26759,None,0 87982,314,Gratuity for Warden Connection Harmonic,"This gratuity has been granted as thanks for delivering Warden Connection Harmonics to one of the factions vying for control over the Drifter wormhole systems, and can be sold at many stations across the cluster.",0.1000000000,0.1000000000,0E-10,1,None,5000000.0000,1,1661,25666,None,0 87984,1975,Sleeper Drone Hangar,,0E-10,0E-10,0E-10,1,64,None,0,None,None,20219,3585 87985,1975,Sleeper Engineering Station,,0E-10,0E-10,0E-10,1,64,None,0,None,None,20219,3567 @@ -97575,6 +97645,20 @@ Once the ancient robotic protector of a lost people, its guardian protocols have 87991,1975,Sleeper Battleship 2,,0E-10,0E-10,0E-10,1,64,None,0,None,None,None,3559 87992,1975,Sleeper Cruiser 1,,0E-10,0E-10,0E-10,1,64,None,0,None,None,None,3536 87993,1975,Sleeper Cruiser 2,,0E-10,0E-10,0E-10,1,64,None,0,None,None,None,20978 +88001,900,Babaroga,"A reimagining of the Collective’s Leshak-class battleship, the Babaroga leverages Triglavian hull and ship design principles and combines them with the conventional versatility and endurance of a marauder. + +The Babaroga is capable of mounting Supratidal Entropic Disintegrators and, a first for Triglavian ships, Bastion Modules. Like its predecessor, it can deploy drones and long-range remote repair modules. + +Under advancing-time pressure for enduring subrole vessel distribution in now-time ancient enemy adjaza struggle, Babaroga Subclade of Perun Clade relinquished adaptation of now-time Kybernaut scheme for 1728 tactical troika classification vessel modification into the Cladeflow of Triglav. +– Partial translation of recovered Babaroga design schematics",143000000.0000000000,470000.0000000000,1333.0000000000,1,135,1333300000.0000,1,3744,None,20061,28115 +88002,186,Triglavian Elite Battleship Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3115 +88003,107,Babaroga Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,None,None,28115 +88009,306,Unfit Remnant,"You surmise that with some relic analyzing equipment, there is still something of value to be had from this wreck.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,24254,None,28142 +88010,306,Proven Remnant,"You surmise that with some relic analyzing equipment, there is still something of value to be had from this wreck.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,24254,None,28141 +88012,1317,Power Monitoring Division 1 Blueprint,,0E-10,0.0100000000,0E-10,1,4,600000000.0000,1,3738,26791,None,0 +88014,1317,Workforce Mecha-Tooling 1 Blueprint,,0E-10,0.0100000000,0E-10,1,4,600000000.0000,1,3738,26788,None,0 +88020,1317,Exploration Detector 1 Blueprint,,0E-10,0.0100000000,0E-10,1,4,600000000.0000,1,3742,26757,None,0 +88029,1317,Exploration Detector 2 Blueprint,,0E-10,0.0100000000,0E-10,1,4,1000000000.0000,1,3742,26758,None,0 88030,1950,Harbinger Navy Issue Tyrantbreaker SKIN,"Shattering silence, Ancient atrocities fall @@ -97622,6 +97706,7 @@ Ancient atrocities fall Before new dawn’s rise. - Excerpt From β€œThe Tyrantbreaker” by Crofton",0E-10,0.0100000000,0E-10,1,1,None,1,2003,None,None,0 +88036,1317,Exploration Detector 3 Blueprint,,0E-10,0.0100000000,0E-10,1,4,2000000000.0000,1,3742,26759,None,0 88037,1950,Eagle Tyrantbreaker SKIN,"Shattering silence, Ancient atrocities fall @@ -97723,7 +97808,7 @@ Before new dawn’s rise. -This SKIN will be applied directly to your character's SKIN collection when redeemed, instead of being placed in your inventory.",0E-10,0.0100000000,0E-10,1,168,None,1,None,None,None,0 +This SKIN will be applied directly to your character's SKIN collection when redeemed, instead of being placed in your inventory.",0E-10,0.0100000000,0E-10,1,168,None,1,3541,None,None,0 88049,1950,Machariel Tyrantbreaker SKIN,"Shattering silence, Ancient atrocities fall @@ -97771,12 +97856,22 @@ Before new dawn’s rise. This SKIN will be applied directly to your character's SKIN collection when redeemed, instead of being placed in your inventory.",0E-10,0.0100000000,0E-10,1,168,None,1,None,None,None,0 +88060,306,Expedition Secure Supplies,"A secure container that was left behind by the expedition that visited this site. + +To find out what is inside you will have to hack the container with a data analyzer.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,22313 +88062,306,Expedition Research Cache,"An abandoned data cache left behind by the expedition team that once visited this site. + +To find out what is inside you will have to hack the container with a data analyzer.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,22313 +88075,1317,Gamma Stability Generator Blueprint,,0E-10,0.0100000000,0E-10,1,4,750000000.0000,1,3740,26777,None,0 +88076,1317,Plasma Stability Generator Blueprint,,0E-10,0.0100000000,0E-10,1,4,750000000.0000,1,3740,26778,None,0 +88077,1317,Electric Stability Generator Blueprint,,0E-10,0.0100000000,0E-10,1,4,750000000.0000,1,3740,26779,None,0 +88078,1317,Exotic Stability Generator Blueprint,,0E-10,0.0100000000,0E-10,1,4,750000000.0000,1,3740,26780,None,0 88087,18,Eleutrium,"Eleutrium is a regolith with morphological similarities to silicates and is a major building block in Drifter, Sleeper, and Jove construction materials. The mineral also appears in spectrographic analyses of the Society of Conscious Thought ship materials. Due to the unknown conditions of its formation and appearance, astrogeologists fear this may be a unique opportunity. Eleutrium is found exclusively in tyranite.",0E-10,0.0100000000,0E-10,1,None,10000.0000,1,1857,26784,None,0 -88088,1194,Wrath of Tyrannos Crate,"A crate with a high chance of containing various valuable items, including exclusives during Wrath of Tyrannos.",0E-10,1.0000000000,0E-10,1,None,None,0,1663,24290,None,0 +88088,1194,Wrath of Tyrannos Crate,"A crate with a high chance of containing valuable items, including Wrath of Tyrannos exclusives - and, for the luckiest capsuleers, a rare Drifter Plug Suit.",0E-10,1.0000000000,0E-10,1,None,None,1,1663,24290,None,0 88105,4857,Tyranite,"Appearing en masse during the Drifter Crisis of YC127, tyranite is a s-type asteroid that has been bombarded by low-level blackbody radiation for millennia, turning its silicate-like surface regolith into eleutrium. Astrogeologists claim that this process occurred prior to tyranite asteroids appearing, wholly by unknown means. Due to the unknown conditions of its formation and appearance, astrogeologists fear this may be a unique opportunity. Additionally, its special properties break down when under pressure, making it incompressible. @@ -97801,10 +97896,86 @@ Activation of an Expert System is automatic upon redemption of the item by the s Expert Systems are a product developed by the PKN Interstellar consortium, made available over the HyperNet FTL communications network, and marketed by PKN Interstellar member corporations. An Expert System is a restricted AI based on artificial gelbrain technology. As the Expert System uses neural pathways based on those created by skill training or skill injection, it is compatible with capsule-ship interface and control systems. Real time command and control communication is achieved using dedicated FTL channels on PKN Interstellar's HyperNet.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,24601,None,0 88113,1975,ENV_Drifter_S2,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88114,1975,Black Monolith,It's full of stars.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,1692 +88115,1975,Broken Metallic Crystal Asteroid,"This towering asteroid seems to have suffered a tremendous impact, splitting it into multiple pieces.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,2903 +88116,1975,Broken Orange Crystal Asteroid,"This towering asteroid seems to have suffered a tremendous impact, splitting it into multiple pieces.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,2904 +88117,1975,Debris - Broken Engine,This damaged hunk of machinery could once have been a part of a powerplant or relay station.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,1697 +88119,300,Low-grade Wedge Alpha,"This ocular filter has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +2 Bonus to Perception + +Secondary Effect: Adds an additional 1 point of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,618,2053,None,0 +88120,300,Low-grade Wedge Beta,"This memory augmentation has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +2 Bonus to Memory + +Secondary Effect: Adds an additional 2 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,619,2061,None,0 +88121,300,Low-grade Wedge Gamma,"This neural boost has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +2 Bonus to Willpower + +Secondary Effect: Adds an additional 3 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,620,2054,None,0 +88122,300,Low-grade Wedge Delta,"This cybernetic subprocessor has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +2 Bonus to Intelligence + +Secondary Effect: Adds an additional 4 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,621,2062,None,0 +88123,300,Low-grade Wedge Epsilon,"This social adaptation chip has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +2 Bonus to Charisma + +Secondary Effect: Adds an additional 5 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,622,2060,None,0 +88124,300,Low-grade Wedge Omega,"This implant does nothing in and of itself, but when used in conjunction with other Wedge implants it will boost their effect. + +40% bonus to the strength of all Wedge implant secondary effects.",0E-10,1.0000000000,0E-10,1,None,None,1,1506,2224,None,0 +88125,300,Mid-grade Wedge Alpha,"This ocular filter has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +3 Bonus to Perception + +Secondary Effect: Adds an additional 2 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,618,2053,None,0 +88126,300,Mid-grade Wedge Beta,"This memory augmentation has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +3 Bonus to Memory + +Secondary Effect: Adds an additional 3 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,619,2061,None,0 +88127,300,Mid-grade Wedge Gamma,"This neural boost has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +3 Bonus to Willpower + +Secondary Effect: Adds an additional 4 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,620,2054,None,0 +88128,300,Mid-grade Wedge Delta,"This cybernetic subprocessor has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +3 Bonus to Intelligence + +Secondary Effect: Adds an additional 5 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,621,2062,None,0 +88129,300,Mid-grade Wedge Epsilon,"This social adaptation chip has been modified by the Upwell Consortium for use by their elite security experts. + +Primary Effect: +3 Bonus to Charisma + +Secondary Effect: Adds an additional 6 points of Virus Coherence for Data and Relic Analyzers fitted to piloted ship",0E-10,1.0000000000,0E-10,1,None,None,1,622,2060,None,0 +88130,300,Mid-grade Wedge Omega,"This implant does nothing in and of itself, but when used in conjunction with other Wedge implants it will boost their effect. + +60% bonus to the strength of all Wedge implant secondary effects.",0E-10,1.0000000000,0E-10,1,None,None,1,1506,2224,None,0 88131,1975,ENV_Drifter_S1,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88132,1975,ENV_Drifter_S3,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88133,1194,Historic Capsuleer Day SKIN Crate,This crate contains a random SKIN from a previous Capsuleer Day celebration.,1.0000000000,0E-10,0E-10,1,None,None,1,1663,24294,None,0 88134,1194,Historic Capsuleer Day Apparel Crate,This crate contains a random apparel from a previous Capsuleer Day celebration.,1.0000000000,0E-10,0E-10,1,None,None,1,1663,24285,None,0 +88135,724,Low-grade Wedge Alpha Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2053,None,0 +88136,724,Low-grade Wedge Beta Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2061,None,0 +88137,724,Low-grade Wedge Gamma Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2054,None,0 +88138,724,Low-grade Wedge Delta Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2062,None,0 +88139,724,Low-grade Wedge Epsilon Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2060,None,0 +88140,724,Low-grade Wedge Omega Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2224,None,0 +88141,724,Mid-grade Wedge Alpha Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2053,None,0 +88142,724,Mid-grade Wedge Beta Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2061,None,0 +88143,724,Mid-grade Wedge Gamma Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2054,None,0 +88144,724,Mid-grade Wedge Delta Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2062,None,0 +88145,724,Mid-grade Wedge Epsilon Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2060,None,0 +88146,724,Mid-grade Wedge Omega Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2224,None,0 +88147,1238,Triplot Scan Acquisition Array,"Increases the scan strength when scanning with scan probes and reduces the scan time and scan deviation of scan probes. + +Only one Scan Acquisition Array module can be fitted at max.",0E-10,5.0000000000,1.0000000000,1,None,9870.0000,1,1709,26823,None,0 +88148,1239,Triplot Scan Acquisition Array Blueprint,,0E-10,0.0100000000,0E-10,1,None,600000.0000,1,None,26823,None,0 88149,227,Nexus - FW Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88150,227,Nexus - HW Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88151,227,Nexus - MW Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 @@ -97815,6 +97986,9 @@ Activation of an Expert System is automatic upon redemption of the item by the s Her work within this Nexus is unclear, but she will show no mercy to any who would disrupt it.",1100000000.0000000000,18500000.0000000000,2000.0000000000,1,135,1539006890.0000,0,None,None,20207,28240 88155,319,Vigilant Eradicator,"A Drifter sentry gun, primed to attack anyone it considers hostile.",1000.0000000000,1000.0000000000,0E-10,1,None,None,0,None,None,None,28013 88156,186,Strategos Dreadnought Wreck,,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,28242 +88160,1975,Non-Interactable Security Outpost (Do not translate),This outpost is the base of security operations in this deadspace complex's inner perimeter. (Do not translate),100000.0000000000,100000000.0000000000,10000.0000000000,1,1,None,0,None,None,20173,1683 +88161,1975,Non-Interactable Circle Construct (Do not translate),"A massive circular construction, made of a reinforced tritanium alloy. (Do not translate)",100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,1695 +88162,1975,Non-Interactable Blood Raider Bunker (Do not translate),A bunker. Beware. (Do not translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2440 88170,952,Vortex Transmitter,A device transmitting energies from the surrounding vortex to the Dreadnought. ,0E-10,0E-10,0.1000000000,1,None,None,0,None,None,None,28020 88171,1975,Non-Interactable Drifter Security Tower (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28020 88172,314,Narrowband Emission Amplifier,,0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 @@ -97826,34 +98000,41 @@ Her work within this Nexus is unclear, but she will show no mercy to any who wou 88178,1194,Nexus Cypher,"This cypher opens up access to a Nexus Point within a Drifter wormhole system. Woven together within a Labyrinth Complex, these data threads come together to describe a higher-dimensional hypercomplex manifold beyond the understanding of contemporary New Eden mathematicians.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 -88179,1194,Blackbody Driver,The exact nature of this device is unknown. It is a core component of the Drifter Dreadnought and emits rhythmic pulses of blackbody radiation.,0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +88179,1194,Blackbody Driver,The exact nature of this device is unknown. It is a core component of the Drifter Dreadnought and emits rhythmic pulses of blackbody radiation.,0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 88186,1088,88186_Male_outer_AugmentationSuitM01_Types_AugmentationSuitM01_Black.png,,0.5000000000,0.1000000000,0E-10,1,None,None,0,1399,26796,None,0 88187,1088,88187_Female_Outer_AugmentationSuitF01_Types_AugmentationSuitF01_Black.png,,0.5000000000,0.1000000000,0E-10,1,None,None,0,1405,26797,None,0 -88202,4041,Sanctified Vidette Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J164710 system, frequently referred to as the ""Sanctified Vidette"" wormhole. +88192,1975,Non-Interactable Sansha Lookout (Do not translate),A Lookout.(Do not translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2491 +88193,1975,Non-Interactable Sansha Elevator (Do not translate),An elevator. (Do not translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2489 +88194,1975,Non-Interactable Sansha Junction (Do not translate),A junction. (Do not translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2490 +88195,1975,Non-Interactable Sansha Bunker (Do not translate),A Sansha Bunker (Do not translate),100000.0000000000,100000000.0000000000,0E-10,1,4,None,0,None,None,None,2488 +88196,1975,Non-Interactable Serpentis Bunker (Do not translate),A bunker. Beware. (Do not translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2496 +88202,4072,Expired Sanctified Vidette Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J164710 system, frequently referred to as the ""Sanctified Vidette"" wormhole. Requiring the ""drifter mineral"" eleutrium to be manufactured, this filament uses the mineral's unique blackbody resonance, backwards engineered Drifter technology, and established Triglavian conduit principles to target signatures of Drifter activity. It then determines the specific locale using techniques obtained from researching Warden Connection Harmonics. These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,2706,26798,None,0 -88203,4041,Azdaja Redoubt Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J174618 system, frequently referred to as the ""Azdaja Redoubt"" wormhole. +88203,4072,Expired Azdaja Redoubt Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J174618 system, frequently referred to as the ""Azdaja Redoubt"" wormhole. Requiring the ""drifter mineral"" eleutrium to be manufactured, this filament uses the mineral's unique blackbody resonance, backwards engineered Drifter technology, and established Triglavian conduit principles to target signatures of Drifter activity. It then determines the specific locale using techniques obtained from researching Warden Connection Harmonics. These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,2706,26798,None,0 -88204,4041,Sentinel MZ Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J055520 system, frequently referred to as the ""Sentinel MZ"" wormhole. +88204,4072,Expired Sentinel MZ Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J055520 system, frequently referred to as the ""Sentinel MZ"" wormhole. Requiring the ""drifter mineral"" eleutrium to be manufactured, this filament uses the mineral's unique blackbody resonance, backwards engineered Drifter technology, and established Triglavian conduit principles to target signatures of Drifter activity. It then determines the specific locale using techniques obtained from researching Warden Connection Harmonics. These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,2706,26798,None,0 -88205,4041,Liberated Barbican Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J110145 system, frequently referred to as the ""Liberated Barbican"" wormhole. +88205,4072,Expired Liberated Barbican Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J110145 system, frequently referred to as the ""Liberated Barbican"" wormhole. Requiring the ""drifter mineral"" eleutrium to be manufactured, this filament uses the mineral's unique blackbody resonance, backwards engineered Drifter technology, and established Triglavian conduit principles to target signatures of Drifter activity. It then determines the specific locale using techniques obtained from researching Warden Connection Harmonics. These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,2706,26798,None,0 -88206,4041,Conflux Eyrie Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J200727 system, frequently referred to as the ""Conflux Eyrie"" wormhole. +88206,4072,Expired Conflux Eyrie Filament,"Allows up to 15 ships to make a conduit connection from Known Space to the J200727 system, frequently referred to as the ""Conflux Eyrie"" wormhole. Requiring the ""drifter mineral"" eleutrium to be manufactured, this filament uses the mineral's unique blackbody resonance, backwards engineered Drifter technology, and established Triglavian conduit principles to target signatures of Drifter activity. It then determines the specific locale using techniques obtained from researching Warden Connection Harmonics. These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,2706,26798,None,0 +88207,1975,Non-interactable Deadspace Particle Accelerator (Do Not Translate),"The science allowed by zero gravity can be as mind-boggling as it is beautiful, as demonstrated by this particle accelerating superstructure. (Do Not Translate)",100000.0000000000,100000000.0000000000,10000.0000000000,1,4,None,0,None,None,20172,2069 +88208,1975,Non-interactable Gallente Research Station Ruins (Do Not Translate),Ruins. (Do Not Translate),0E-10,0E-10,0E-10,1,None,None,0,None,None,None,3787 88209,1950,Dramiel Blackbody Drift SKIN,"The Drifters like to keep their secrets, we can respect this, but we will not allow it. - Avelor Odareque, Salvation Angels CEO",0E-10,0.0100000000,0E-10,1,2,None,1,2031,None,None,0 @@ -97869,15 +98050,55 @@ These filaments will expire on May 15th.",0E-10,0.1000000000,0E-10,1,1,None,1,27 88213,1950,Machariel Blackbody Drift SKIN,"The Drifters like to keep their secrets, we can respect this, but we will not allow it. - Avelor Odareque, Salvation Angels CEO",0E-10,0.0100000000,0E-10,1,2,None,1,1963,None,None,0 -88214,4052,Liberated Barbican Filament Blueprint,Used to manufacture Liberated Barbican Filaments.,0E-10,0.0100000000,0E-10,1,1,None,1,None,24324,None,0 -88215,4052,Conflux Eyrie Filament Blueprint,Used to manufacture Conflux Eyrie Filaments.,0E-10,0.0100000000,0E-10,1,1,None,1,None,24324,None,0 -88216,4052,Sanctified Vidette Filament Blueprint,Used to manufacture Sanctified Vidette Filaments.,0E-10,0.0100000000,0E-10,1,1,None,1,None,24324,None,0 -88217,4052,Azdaja Redoubt Filament Blueprint,Used to manufacture Azdaja Redoubt Filaments.,0E-10,0.0100000000,0E-10,1,1,None,1,None,24324,None,0 -88218,4052,Sentinel MZ Filament Blueprint,Used to manufacture Sentinel MZ Filaments.,0E-10,0.0100000000,0E-10,1,1,None,1,None,24324,None,0 +88214,4052,Liberated Barbican Filament Blueprint,Used to manufacture Liberated Barbican Filaments.,0E-10,0.0100000000,0E-10,1,None,None,1,None,26798,None,0 +88215,4052,Conflux Eyrie Filament Blueprint,Used to manufacture Conflux Eyrie Filaments.,0E-10,0.0100000000,0E-10,1,None,None,1,None,26798,None,0 +88216,4052,Sanctified Vidette Filament Blueprint,Used to manufacture Sanctified Vidette Filaments.,0E-10,0.0100000000,0E-10,1,None,None,1,None,26798,None,0 +88217,4052,Azdaja Redoubt Filament Blueprint,Used to manufacture Azdaja Redoubt Filaments.,0E-10,0.0100000000,0E-10,1,None,None,1,None,26798,None,0 +88218,4052,Sentinel MZ Filament Blueprint,Used to manufacture Sentinel MZ Filaments.,0E-10,0.0100000000,0E-10,1,None,None,1,None,26798,None,0 +88221,4838,Power Monitoring Division 2,"This Division is staffed by workers tasked with monitoring power generation systems, moderately increasing power output at the cost of workforce. +The generated power is restricted to only supporting lower-priority upgrades.",1000.0000000000,8000.0000000000,0E-10,1,None,200000000.0000,1,3736,26792,None,0 88224,306,Eradication Authority,"The control node for all Drifter sentry guns within this site. The ancient protocols it utilizes can be hacked by a relic analyzer, altering its definition of hostile.",10000.0000000000,0E-10,2700.0000000000,1,None,None,0,None,None,None,28020 -88225,1975,Nexus Center (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,21181 +88225,1975,Nexus Center (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,21176 +88227,4838,Power Monitoring Division 3,"This Division is staffed by workers tasked with monitoring power generation systems, significantly increasing power output at the cost of workforce. +The generated power is restricted to only supporting lower-priority upgrades.",1000.0000000000,8000.0000000000,0E-10,1,None,400000000.0000,1,3736,26793,None,0 +88228,4838,Workforce Mecha-Tooling 2,"Modest Mecha-Tooling empowers workers, utilizing additional power to moderately increase workforce effectiveness. +The generated workforce is restricted to local use, supporting only lower-priority upgrades within the same system.",1000.0000000000,8000.0000000000,0E-10,1,None,200000000.0000,1,3736,26789,None,0 +88229,4838,Workforce Mecha-Tooling 3,"Extensive Mecha-Tooling empowers workers, utilizing additional power to significantly increase workforce effectiveness. +The generated workforce is restricted to local use, supporting only lower-priority upgrades within the same system.",1000.0000000000,8000.0000000000,0E-10,1,None,400000000.0000,1,3736,26790,None,0 +88230,1317,Power Monitoring Division 2 Blueprint,,0E-10,0.0100000000,0E-10,1,4,1000000000.0000,1,3738,26792,None,0 +88231,1317,Power Monitoring Division 3 Blueprint,,0E-10,0.0100000000,0E-10,1,4,1200000000.0000,1,3738,26793,None,0 +88232,1317,Workforce Mecha-Tooling 2 Blueprint,,0E-10,0.0100000000,0E-10,1,4,1000000000.0000,1,3738,26789,None,0 +88233,1317,Workforce Mecha-Tooling 3 Blueprint,,0E-10,0.0100000000,0E-10,1,4,1200000000.0000,1,3738,26790,None,0 +88237,1975,Non-interactable Minmatar Trade Station Ruins (DO NOT TRANSLATE),Ruins. (DO NOT TRANSLATE),0E-10,0E-10,0E-10,1,None,None,0,None,None,20174,3797 +88238,4471,Babaroga Alliance Emblem,"Emblems by Paragon bring new light to your ship personalization. + +By accessing your registered identity data, these nanoholographic projections emblazon your favorite vessels with symbols that matter to you. And now, by utilizing the latest in cloud-based AI synchronization, emblems remain stable even during warp. + +Visit your nearest IRIS and take part in Paragon's latest initiatives to unlock new emblems today. + +Paragon; be more. + +WARNING: Emblems are auto-injected on purchases and cannot be transferred or traded between capsuleers. The Paragon corporation accepts no liability for failed transfer attempts.",0E-10,0E-10,0E-10,1,None,None,1,None,25467,None,0 +88239,4471,Babaroga Corporation Emblem,"Emblems by Paragon bring new light to your ship personalization. + +By accessing your registered identity data, these nanoholographic projections emblazon your favorite vessels with symbols that matter to you. And now, by utilizing the latest in cloud-based AI synchronization, emblems remain stable even during warp. + +Visit your nearest IRIS and take part in Paragon's latest initiatives to unlock new emblems today. + +Paragon; be more. + +WARNING: Emblems are auto-injected on purchases and cannot be transferred or traded between capsuleers. The Paragon corporation accepts no liability for failed transfer attempts.",0E-10,0E-10,0E-10,1,None,None,1,None,25467,None,0 +88246,1975,Env_Triglavian_S3,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88247,1975,Env_Triglavian_S4,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88250,1975,Non-interactable Angel Barricade (Do Not Translate),A barricade.(Do Not Translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2437 +88251,1975,Non-interactable Minmatar Tactical Outpost (Do Not Translate),,0E-10,0E-10,0E-10,1,2,None,0,None,None,None,1711 +88252,1975,Non-interactable Blood Raider Barricade (Do Not Translate),A barricade. (Do Not Translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2446 +88253,1975,Non-interactable Guristas Barricade (Do Not Translate),A barricade. (Do Not Translate),0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2475 +88255,1975,Non-Interactable Sansha Barricade (Do not translate),,0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2494 +88256,1975,Non-Interactable Sansha Wall (Do not translate),,0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2493 +88257,1975,Non-Interactable Serpentis Barricade (Do not translate),,0E-10,0E-10,0E-10,1,4,None,0,None,None,None,2502 88258,1568,Kobalos Frigate,"This Drifter frigate has webifier capabilities. Its pilot, Kobalos Tyrannos, has been noted for her vicious attacks, holding the enemy in place so that they can be piled up on. These can often turn the tide despite the smaller ships she pilots.",1190000.0000000000,28100.0000000000,135.0000000000,1,4,None,0,None,None,12,28248 @@ -97915,60 +98136,742 @@ Notes: 88272,1197,Wideband Emission Amplifier Blueprint ,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2038,None,0 88273,1197,Wideband Emission Limiter Blueprint ,,0E-10,0.0100000000,0E-10,1,None,None,1,None,2038,None,0 88275,186,Drifter Small Wreck,The remains of a destroyed ship. Perhaps with the proper equipment something of value could be salvaged from it.,10000.0000000000,27500.0000000000,27500.0000000000,1,None,None,0,None,None,None,3117 +88277,1975,Non Interactable Fragmented Cathedral I (Do not translate),,100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,2047 +88278,1975,Non Interactable Fragmented Cathedral II (Do not translate),,100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,2048 +88279,1975,Non Interactable Fragmented Cathedral III (Do not translate),,100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,2049 +88280,1975,Non Interactable Fragmented Cathedral IV (Do not translate),,100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,2050 +88281,1975,Non Interactable Fragmented Cathedral V (Do not translate),,100000.0000000000,100000000.0000000000,10000.0000000000,1,None,None,0,None,None,None,2051 88307,1667,Polemos Battleship,"This Drifter battleship has target painting capabilities. Tyrannos Polemos, commander of K-space operations for the Vigilant Tyrannos, has made a rare appearance in wormhole space to wrestle control of this system from occupying forces.",13000000.0000000000,118000.0000000000,933.0000000000,1,4,None,0,None,None,20207,21049 -88317,226,Liberation Quartermaster,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25731 -88318,226,Conflux Eyrie State Trader,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25706 -88327,226,Anointed Allocator,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25691 -88330,226,Requisition Officer,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,26421 +88317,1975,Liberation Quartermaster,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25731 +88318,1975,Conflux Eyrie State Trader,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25706 +88327,1975,Anointed Allocator,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25691 +88330,1975,Requisition Officer,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,26421 88347,1194,Strategos' Modified Siege Module Schematics Crate,This crate contains a Blueprint Copy for the manufacturing of Strategos' Modified Siege Module.,1.0000000000,1.0000000000,0E-10,1,None,None,1,None,26584,None,0 88348,53,Lux Ballistra,"This Drifter weapon system appears to be semi-autonomous, floating freely from the vessel deploying it. Analysis of the weapon's firing signature indicates a broad spectrum of disruptive energies are used against its targets.",0E-10,0E-10,0E-10,1,16,None,1,None,21409,None,28134 88349,53,Lux Kopis,"This Drifter weapon system appears to be semi-autonomous, floating freely from the vessel deploying it. Analysis of the weapon's firing signature indicates a broad spectrum of disruptive energies are used against its targets.",0E-10,0E-10,0E-10,1,16,None,1,None,21409,None,28249 88350,303,Aegytica Volatile Booster,"+16% Capacitor Base duration: 3 minutes and 30 seconds. -This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21485,None,0 +This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,21485,None,0 88351,303,Vis Vitalis Volatile Booster,"+16% Armor Repair Base duration: 3 minutes and 30 seconds. -This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21484,None,0 +This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,21484,None,0 88352,303,Balneum Volatile Booster,"+16% Shield Boost Base duration: 3 minutes and 30 seconds. -This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21486,None,0 +This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,21486,None,0 88353,303,Theriac Volatile Booster,"+16% Tracking Speed Base duration: 3 minutes and 30 seconds. -This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21487,None,0 +This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,21487,None,0 88354,303,Mithridate Volatile Booster,"+16% Flight Time Base duration: 3 minutes and 30 seconds. -This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,32768.0000,1,None,21483,None,0 -88355,226,Kybernaut Glorification Xordazh,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28250 -88356,4726,Stygian Cerulean Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. +This booster has been manufactured using volatile compounds and will expire on May 29th, YC127.",1.0000000000,1.0000000000,0E-10,1,None,None,1,2792,21483,None,0 +88355,1975,Kybernaut Glorification Xordazh,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28250 +88356,4726,Sapphire Moonrise Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3654,26801,None,0 -88357,4726,Stygian Cerulean Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26801,None,0 +88357,4726,Sapphire Moonrise Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,0,3653,26802,None,0 +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26802,None,0 88360,1975,Sentinel Fortification HQ,"Thanks to capsuleer efforts, EDENCOM was able to deploy this new Command HQ at the heart of J055520 and take the fight to the Drifters directly.",0E-10,0E-10,0E-10,1,None,None,0,None,None,20232,21138 -88364,4726,Cinderchrome Metallic - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. +88364,4726,Bronze Cinder Metallic - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3632,26808,None,0 -88365,4726,Cinderchrome Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26808,None,0 +88365,4726,Bronze Cinder Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,0,3632,26809,None,0 -88375,4726,Aetherflow - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26809,None,0 +88375,4726,Executive Turn - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,26819,None,0 -88376,4726,Aetherflow - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26819,None,0 +88376,4726,Executive Turn - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,26820,None,0 +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26820,None,0 +88377,255,Advanced Doomsday Operation,Advanced understanding of titan doomsday weapons. 7.5% additional damage per level.,0E-10,0.0100000000,0E-10,1,None,250000000.0000,1,364,33,None,0 88378,4726,Shocktrace - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. -The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,26821,None,0 +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26821,None,0 88379,227,Maze - Wrath of Tyrannos Combat Challenge Spawner - Medium (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88380,227,Maze - Wrath of Tyrannos Combat Challenge Spawner - Hard (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 -88381,4726,Shocktrace - Limited,,0E-10,0.1000000000,0E-10,1,None,None,0,3633,26822,None,0 +88381,4726,Shocktrace - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26822,None,0 88382,227,Maze - Wrath of Tyrannos Combat Challenge Spawner - Easy (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88427,1975,ENV_DarkExploration_01b,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 88428,1975,Jove Drifter Station Hive,,0E-10,0E-10,0E-10,1,None,None,0,None,None,20216,21136 +88435,227,Maze -Wrath of tyrannos boss Combat Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88456,4726,Sapphire Moonrise Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26824,None,0 +88457,4726,Sapphire Moonrise Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26825,None,0 +88458,4726,Seafoam Biome Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26826,None,0 +88459,4726,Seafoam Biome Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26827,None,0 +88460,4726,Seafoam Biome Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26828,None,0 +88461,4726,Seafoam Biome Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26829,None,0 +88464,4726,Peppermint Plasmoid Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26830,None,0 +88465,4726,Peppermint Plasmoid Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26831,None,0 +88466,4726,Peppermint Plasmoid Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26832,None,0 +88467,4726,Peppermint Plasmoid Satin- Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26833,None,0 +88468,4726,Peppermint Plasmoid Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26834,None,0 +88469,4726,Peppermint Plasmoid Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26835,None,0 +88470,4726,Pale Temperate Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26836,None,0 +88471,4726,Pale Temperate Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26837,None,0 +88472,4726,Atomic Sheen Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26838,None,0 +88473,4726,Atomic Sheen Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26839,None,0 +88474,4726,Atomic Sheen Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26840,None,0 +88475,4726,Atomic Sheen Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26841,None,0 +88476,4726,Atomic Excess Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26842,None,0 +88477,4726,Atomic Excess Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26843,None,0 +88478,4726,Verdant Atmos Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26844,None,0 +88479,4726,Verdant Atmos Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26845,None,0 +88480,4726,Orbital Tan Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26846,None,0 +88481,4726,Orbital Tan Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26847,None,0 +88482,4726,Faded Jade Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26848,None,0 +88483,4726,Faded Jade Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26849,None,0 +88484,4726,Grey Matter Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26850,None,0 +88485,4726,Grey Matter Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26851,None,0 +88486,4726,Mossy Relic Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26852,None,0 +88487,4726,Mossy Relic Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26853,None,0 +88523,4726,Exogenic White Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26854,None,0 +88524,4726,Exogenic White Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26855,None,0 +88525,4726,Ashen Ion Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26856,None,0 +88526,4726,Ashen Ion Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26857,None,0 +88527,4726,Cardinal Flux Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26858,None,0 +88528,4726,Cardinal Flux Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26859,None,0 +88529,4726,Ochre Moondust Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26860,None,0 +88530,4726,Ochre Moondust Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26861,None,0 +88531,4726,Polluted Frost Satin - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26862,None,0 +88532,4726,Polluted Frost Satin - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3654,26863,None,0 +88533,4726,Void Shift Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26864,None,0 +88534,4726,Void Shift Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26865,None,0 +88535,4726,Biohazard Canary Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26866,None,0 +88536,4726,Biohazard Canary Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26867,None,0 +88537,4726,Subterranean Spore Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26868,None,0 +88538,4726,Subterranean Spore Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26869,None,0 +88539,4726,Cult Cardinal Matte - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26870,None,0 +88540,4726,Cult Cardinal Matte - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3653,26871,None,0 +88541,4726,Plasma Bloom Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26872,None,0 +88542,4726,Plasma Bloom Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26873,None,0 +88543,4726,Violet Blight Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26874,None,0 +88544,4726,Violet Blight Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26875,None,0 +88545,4726,Sanguine Vow Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26876,None,0 +88546,4726,Sanguine Vow Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26877,None,0 +88547,227,Maze - Wrath of Tyrannos Structure Challenge Spawner - Medium (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88548,227,Maze - Wrath of Tyrannos Structure Challenge Spawner - Hard (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88549,4726,Homeworld Forest Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26878,None,0 +88550,4726,Homeworld Forest Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26879,None,0 +88551,227,Maze - Wrath of Tyrannos Structure Challenge Spawner - Easy (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88552,227,Maze - Wrath of Tyrannos Hacking Challenge Spawner - Medium (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88553,4726,Celestial Peridot Gloss - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26880,None,0 +88554,227,Maze - Wrath of Tyrannos Hacking Challenge Spawner - Hard (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88555,4726,Celestial Peridot Gloss - Unlimited,"A license for the unlimited use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this nanocoating you must provide Kerr Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3655,26881,None,0 +88556,227,Maze - Wrath of Tyrannos Hacking Challenge Spawner - Easy (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88557,227,Maze - Wrath of Tyrannos Roaming Boss Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88558,227,Maze - Wrath of Tyrannos Boss Spawner (DO NOT TRANSLATE),,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88559,1667,Ladon Tyrannos,"This advanced form of Drifter Battleship protects the Labyrinth’s generated solutions. Unlike Mynos, Ladon Tyrannos appears only as a part of the reckoning protocol.",13000000.0000000000,118000.0000000000,933.0000000000,1,4,None,0,None,None,20207,28117 +88560,1667,Mynos Tyrannos,The Drifter Battleship acts as a guardian of the Labyrinth and its enigmatic processes. Mynos Tyrannos roams the shifting spaces of this Complex ready to destroy any abherent entities it encounters.,13000000.0000000000,118000.0000000000,933.0000000000,1,4,None,0,None,None,20207,21049 +88562,1895,Glorification Exchange,"Azdaja is the istina Ancient Enemy. Other reverse-time and advanced-time conflicts are pravda in their wake. + +Proven hunters are worthy of glorified exchange, independent of sobornost status or now-time affiliations.",14640000.0000000000,28600.0000000000,500.0000000000,1,4,None,0,None,None,20221,24534 +88563,227,Maze - Wrath of Tyrannos Trader Spawner (DO NOT TRANSLATE) ,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,10026 +88567,319,Reckoning Hoard,"As the maze compiles valuable solutions, they are hoarded inside this structure. Only its destruction will make the data inside accessible.",0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28016 +88568,1194,Aberrant Mynos Forked Packet,"This aberrant data packet was recovered from a copy of the Mynos Drifter mind. Its corruption holds unique hallmarks of the Labyrinth Complex to which it was connected. + +While clearly synthetic rather than organic in origin, the data packet shows evidence of layered redundancy associated with a mind that has evolved or emerged from a simpler set of constructs.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2885,None,0 +88569,1194,DEPRICATED (DO NOT TRANSLATE),depricated (DO NOT TRANSLATE),0.1000000000,0.1000000000,0E-10,1,None,None,0,1661,2885,None,0 +88571,1194,Locus Cypher,"This cypher opens up access to the Nexus Locus appearing in New Eden. + +Woven together within a Labyrinth Complex, these data threads come together to describe a higher-dimensional hypercomplex manifold beyond the understanding of contemporary New Eden mathematicians.",0.1000000000,0.1000000000,0E-10,1,None,None,1,1661,2038,None,0 +88572,4726,Deep Space Iron Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26882,None,0 +88573,4726,Deep Space Iron Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26883,None,0 +88575,4726,Emerald Oblivion Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26884,None,0 +88576,4726,Emerald Oblivion Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26885,None,0 +88577,4726,Agate Steel Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26886,None,0 +88578,4726,Agate Steel Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26887,None,0 +88579,4726,Luminated Copper Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26888,None,0 +88580,4726,Luminated Copper Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26889,None,0 +88581,4726,Ionized Verdigris Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26890,None,0 +88582,4726,Ionized Verdigris Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26891,None,0 +88583,226,Pator Liberation Quartermaster,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25731 +88584,4726,Aqueous Cobalt - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26892,None,0 +88585,226,New Caldari State Trader,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25706 +88586,226,Amarr Anointed Allocator,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,25691 +88587,4726,Aqueous Cobalt - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26893,None,0 +88588,226,Raravoss Kybernaut Glorification Xordazh,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,28250 +88589,226,Yulai EDENCOM Requisition Officer,This location offers valuable items for trade.,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,26421 +88590,4726,Tropic Alloy Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26894,None,0 +88591,4726,Tropic Alloy Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26895,None,0 +88593,4726,Pyrrhic Plate Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26896,None,0 +88594,4726,Pyrrhic Plate Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26897,None,0 +88595,4726,Electrified Chrome Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26898,None,0 +88596,4726,Electrified Chrome Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26899,None,0 +88597,4726,Muted Chrome Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26900,None,0 +88598,4726,Muted Chrome Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26901,None,0 +88599,4726,Phosphate Flux Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26902,None,0 +88600,4726,Phosphate Flux Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26903,None,0 +88601,4726,Aluminum Aurora Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26904,None,0 +88602,4726,Aluminum Aurora Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26905,None,0 +88603,4726,Forgotten Silver Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26906,None,0 +88604,4726,Forgotten Silver Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26907,None,0 +88605,4726,Twilight Corrosion Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26908,None,0 +88606,4726,Twilight Corrosion Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26909,None,0 +88607,4726,Burnt Patina Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26910,None,0 +88608,4726,Burnt Patina Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26911,None,0 +88613,1724,Strategos Dreadnought,"A Drifter Dreadnought piloted by Tyrannos Strategos, leader of the Vigilant Tyrannos. + +Her work within this Nexus is unclear, but she will show no mercy to any who would disrupt it.",1100000000.0000000000,18500000.0000000000,2000.0000000000,1,135,1539006890.0000,0,None,None,20207,28240 +88614,4726,Helian Tin Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26912,None,0 +88615,4726,Helian Tin Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26913,None,0 +88616,4726,Royal Aureate Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26914,None,0 +88617,4726,Royal Aureate Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26915,None,0 +88618,4726,Electrum Flare Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26916,None,0 +88619,4726,Electrum Flare Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26917,None,0 +88620,4726,Osmium Vine Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26918,None,0 +88621,4726,Osmium Vine Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26919,None,0 +88622,4726,Vanadium Essence Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26920,None,0 +88623,4726,Vanadium Essence Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26921,None,0 +88624,4726,Graphite Void Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26922,None,0 +88625,4726,Graphite Void Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26923,None,0 +88626,4726,Spectral Zinc Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26924,None,0 +88627,4726,Spectral Zinc Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26925,None,0 +88628,4726,Viridescent Magnate Metallic - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26926,None,0 +88629,4726,Viridescent Magnate Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26927,None,0 +88632,4726,Faded Turn - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26928,None,0 +88633,4726,Faded Turn - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26929,None,0 +88634,4726,Secondary Turn - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26930,None,0 +88635,4726,Secondary Turn - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26931,None,0 +88636,4726,Embossed Turns - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26932,None,0 +88637,4726,Embossed Turns - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26933,None,0 +88638,4726,Diffracted Rejoinder - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26934,None,0 +88639,4726,Diffracted Rejoinder - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26935,None,0 +88640,4726,Bionic Core - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26936,None,0 +88641,4726,Bionic Core - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26937,None,0 +88642,4726,Bionic Complex - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26938,None,0 +88643,4726,Bionic Complex - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26939,None,0 +88644,4726,Vital Extreme - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26940,None,0 +88645,4726,Vital Extreme - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26941,None,0 +88646,4726,Vital Pulse - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26942,None,0 +88647,4726,Vital Pulse - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26943,None,0 +88648,4726,Cyber Quill - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26944,None,0 +88649,4726,Cyber Quill - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26945,None,0 +88650,4726,Gliding Mix - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26946,None,0 +88651,4726,Gliding Mix - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26947,None,0 +88652,4726,Exo-Spinal - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26948,None,0 +88653,4726,Exo-Spinal - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26949,None,0 +88654,4726,Mecha-Spinal - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26950,None,0 +88655,4726,Mecha-Spinal - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26951,None,0 +88656,4726,Tactical Praise - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26952,None,0 +88657,4726,Tactical Praise - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26953,None,0 +88658,4726,Quantum Curls - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26954,None,0 +88659,4726,Quantum Curls - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26955,None,0 +88660,4726,Oceanic Vortex - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26957,None,0 +88661,4726,Oceanic Vortex - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26956,None,0 +88663,4726,Liquid Groove - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26958,None,0 +88664,4726,Liquid Groove - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26959,None,0 +88665,4726,Starfall Traces - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26960,None,0 +88666,4726,Starfall Traces - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26961,None,0 +88667,4726,Fragmented Warp - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26962,None,0 +88668,4726,Fragmented Warp - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26963,None,0 +88669,4726,Multi-Hex - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26964,None,0 +88670,4726,Multi-Hex - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26965,None,0 +88671,4726,Hollow Hex - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26966,None,0 +88672,4726,Hollow Hex - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26967,None,0 +88673,4726,Squared Away - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26968,None,0 +88674,4726,Squared Away - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26969,None,0 +88675,4726,Doppel Bar - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26970,None,0 +88676,4726,Doppel Bar - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26971,None,0 +88677,4726,Swept Hivemesh - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26972,None,0 +88678,4726,Swept Hivemesh - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26973,None,0 +88679,4726,Splatter Strike - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26974,None,0 +88680,4726,Splatter Strike - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26975,None,0 +88681,4726,Splatter Swipe - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26976,None,0 +88682,4726,Splatter Swipe - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26977,None,0 +88683,4726,Jagged Biome - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26978,None,0 +88684,4726,Jagged Biome - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26979,None,0 +88685,4726,Cosmic Dignity - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26980,None,0 +88686,4726,Cosmic Dignity - Unlimited,"A license for the unlimited use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has not been bound, allowing for its unlimited use. However, every time you sequence a design using this pattern you must provide Alignment Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3633,26982,None,0 +88687,4726,accidently made (DO NOT TRANSLATE),,0E-10,0.1000000000,0E-10,1,None,None,0,None,26981,None,0 +88709,1150,Xarasier Reactive Armor Hardener,"The Reactive Armor Hardener possesses an advanced nano membrane that reacts to armor layer damage by shifting between resistances over time. This makes it able to align its defenses against whichever incoming damage types are prevalent. + +The module spreads 64% resistance over the four damage types, starting at 16% in each. + +Only one of this module type can be fitted at a time.",1.0000000000,25.0000000000,0E-10,1,1,None,1,1416,10933,None,0 +88710,1189,Xarasier Large Micro Jump Drive,"The Micro Jump Drive is a module that spools up, then jumps the ship forward 100km in the direction it is facing. Upon arrival, the ship maintains its direction and velocity. Warp scramblers can be used to disrupt the module. Spool up time is reduced by the skill Micro Jump Drive Operation. + +The Micro Jump Drive was developed by Duvolle Laboratories Advanced Manifold Theory Unit. The drive was conceived by the late Avagher Xarasier, the genius behind several ground-breaking innovations of that era.",0E-10,10.0000000000,0E-10,1,None,1340852.0000,1,1650,20971,None,0 +88711,1189,Xarasier Medium Micro Jump Drive,"The Micro Jump Drive is a module that spools up, then jumps the ship forward 100km in the direction it is facing. Upon arrival, the ship maintains its direction and velocity. Warp scramblers can be used to disrupt the module. Spool up time is reduced by the skill Micro Jump Drive Operation. + +The Micro Jump Drive was developed by Duvolle Laboratories Advanced Manifold Theory Unit. The drive was conceived by the late Avagher Xarasier, the genius behind several ground-breaking innovations of that era.",0E-10,10.0000000000,0E-10,1,None,340852.0000,1,1650,20971,None,0 +88712,4769,Xarasier Capital Micro Jump Drive,"The Capital Micro Jump Drive is a specialized Carrier module that spools up, then jumps the ship forward 250km in the direction it is facing. Upon arrival, the ship maintains its direction and velocity. Warp scramblers can be used to disrupt the module. Spool up time is reduced by the skill Micro Jump Drive Operation. + +The Micro Jump Drive was developed by Duvolle Laboratories Advanced Manifold Theory Unit. The drive was conceived of by the late Avagher Xarasier, the genius behind several ground-breaking innovations of that era.",0E-10,4000.0000000000,0E-10,1,None,250000000.0000,1,1650,20971,None,0 +88713,1156,Xarasier Capital Ancillary Shield Booster,"Provides a quick boost in shield strength. The module takes Cap Booster charges and will start consuming the ship's capacitor upon the charges running out. Deactivating the module while it has no cap boosters loaded starts reloading, if there are cap boosters available in cargo hold. + +Note: Can use Cap Booster 3200 as fuel. Reloading time is 60 seconds. May only be fitted to capital class ships.",0E-10,4000.0000000000,900.0000000000,1,None,None,1,778,10935,None,0 +88714,1156,Xarasier X-Large Ancillary Shield Booster,"Provides a quick boost in shield strength. The module takes Cap Booster charges and will start consuming the ship's capacitor upon the charges running out. Deactivating the module while it has no cap boosters loaded starts reloading, if there are cap boosters available in cargo hold. + +Note: Can use Cap Booster 400 and 800 as fuel. Reloading time is 60 seconds.",0E-10,50.0000000000,112.0000000000,1,None,None,1,612,10935,None,0 +88715,1156,Xarasier Large Ancillary Shield Booster,"Provides a quick boost in shield strength. The module takes Cap Booster charges and will start consuming the ship's capacitor upon the charges running out. Deactivating the module while it has no cap boosters loaded starts reloading, if there are cap boosters available in cargo hold. + +Note: Can use Cap Booster 150 and 200 as fuel. Reloading time is 60 seconds. Prototype Inferno Module.",0E-10,25.0000000000,42.0000000000,1,None,None,1,611,10935,None,0 +88716,1156,Xarasier Medium Ancillary Shield Booster,"Provides a quick boost in shield strength. The module takes Cap Booster charges and will start consuming the ship's capacitor upon the charges running out. Deactivating the module while it has no cap boosters loaded starts reloading, if there are cap boosters available in cargo hold. + +Note: Can use Cap Booster 50, 75 and 100 as fuel. Reloading time is 60 seconds.",0E-10,10.0000000000,14.0000000000,1,None,None,1,610,10935,None,0 +88717,1156,Xarasier Small Ancillary Shield Booster,"Provides a quick boost in shield strength. The module takes Cap Booster charges and will start consuming the ship's capacitor upon the charges running out. Deactivating the module while it has no cap boosters loaded starts reloading, if there are cap boosters available in cargo hold. + +Note: Can use Cap Booster 25, 50, 75, 100, 150 as fuel. Reloading time is 60 seconds.",0E-10,5.0000000000,7.0000000000,1,None,None,1,609,10935,None,0 +88718,1199,Xarasier Capital Ancillary Armor Repairer,"This module uses nano-assemblers to repair damage done to the armor of the ship. The module can optionally use Nanite Repair Paste to increase repair effectiveness. Deactivating the module while it has no Nanite Repair Paste loaded starts reloading, if there is Nanite Repair Paste available in cargo hold. + +Note: Can use Nanite Repair Paste as fuel. Reloading time is 60 seconds. May only be fitted to capital class ships.",500.0000000000,4000.0000000000,1.2800000000,1,None,None,1,1052,80,None,0 +88719,1199,Xarasier Large Ancillary Armor Repairer,"This module uses nano-assemblers to repair damage done to the armor of the ship. The module can optionally use Nanite Repair Paste to increase repair effectiveness. Deactivating the module while it has no Nanite Repair Paste loaded starts reloading, if there is Nanite Repair Paste available in cargo hold. + +Note: Can use Nanite Repair Paste as fuel. Reloading time is 60 seconds.",500.0000000000,50.0000000000,0.6400000000,1,None,None,1,1051,80,None,0 +88720,1199,Xarasier Medium Ancillary Armor Repairer,"This module uses nano-assemblers to repair damage done to the armor of the ship. The module can optionally use Nanite Repair Paste to increase repair effectiveness. Deactivating the module while it has no Nanite Repair Paste loaded starts reloading, if there is Nanite Repair Paste available in cargo hold. + +Note: Can use Nanite Repair Paste as fuel. Reloading time is 60 seconds.",500.0000000000,10.0000000000,0.3200000000,1,None,None,1,1050,80,None,0 +88721,1199,Xarasier Small Ancillary Armor Repairer,"This module uses nano-assemblers to repair damage done to the armor of the ship. The module can optionally use Nanite Repair Paste to increase repair effectiveness. Deactivating the module while it has no Nanite Repair Paste loaded starts reloading, if there is Nanite Repair Paste available in cargo hold. + +Note: Can use Nanite Repair Paste as fuel. Reloading time is 60 seconds.",500.0000000000,5.0000000000,0.0800000000,1,None,None,1,1049,80,None,0 +88722,1191,Xarasier Large Micro Jump Drive Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20971,None,0 +88723,1157,Xarasier Large Ancillary Shield Booster Blueprint,,0E-10,0.0100000000,0E-10,1,None,1458560.0000,1,None,10935,None,0 +88724,1151,Xarasier Reactive Armor Hardener Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,10933,None,0 +88725,1157,Xarasier Medium Ancillary Shield Booster Blueprint,,0E-10,0.0100000000,0E-10,1,None,1458560.0000,1,None,10935,None,0 +88726,1157,Xarasier Small Ancillary Shield Booster Blueprint,,0E-10,0.0100000000,0E-10,1,None,1458560.0000,1,None,10935,None,0 +88727,1157,Xarasier X-Large Ancillary Shield Booster Blueprint,,0E-10,0.0100000000,0E-10,1,None,1458560.0000,1,None,10935,None,0 +88728,1200,Xarasier Small Ancillary Armor Repairer Blueprint,,0E-10,0.0100000000,0E-10,1,None,200000.0000,1,None,80,None,0 +88729,1200,Xarasier Medium Ancillary Armor Repairer Blueprint,,0E-10,0.0100000000,0E-10,1,None,200000.0000,1,None,80,None,0 +88730,1200,Xarasier Large Ancillary Armor Repairer Blueprint,,0E-10,0.0100000000,0E-10,1,None,200000.0000,1,None,80,None,0 +88731,1191,Xarasier Medium Micro Jump Drive Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20971,None,0 +88732,1200,Xarasier Capital Ancillary Armor Repairer Blueprint,,0E-10,0.0100000000,0E-10,1,None,15000000.0000,1,None,80,None,0 +88733,1157,Xarasier Capital Ancillary Shield Booster Blueprint,,0E-10,0.0100000000,0E-10,1,None,97000000.0000,1,None,10935,None,0 +88734,1191,Xarasier Capital Micro Jump Drive Blueprint,,0E-10,0.0100000000,0E-10,1,None,None,1,None,20971,None,0 +88740,1207,Rogue Drone Logic Hub,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,25000.0000000000,2500.0000000000,1,None,None,0,None,None,None,20298 +88741,1207,Angel Archive Vault,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,24947 +88742,1207,Blood Archive Vault,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,24949 +88743,1207,Guristas Archive Vault,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,24951 +88744,1207,Serpentis Archive Vault,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,24955 +88745,1207,Sansha Archive Vault,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,24953 +88746,1207,Rogue Drone Telemetry Array,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,25000.0000000000,2500.0000000000,1,None,None,0,None,None,None,20297 +88747,1207,Rogue Drone Neuro Cache,If you have the right equipment you might be able to hack into the databank and get some valuable information.,10000.0000000000,25000.0000000000,2500.0000000000,1,None,None,0,None,None,None,20298 +88748,306,Rogue Drone Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,None,None,27939 +88749,1207,Angel Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,20295 +88750,1207,Blood Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,20295 +88751,1207,Guristas Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,20295 +88752,1207,Serpentis Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,20295 +88753,1207,Sansha Remnants,"This piece of floating ruins looks intriguing, but requires analyzing equipment before it yields any of its secrets.",10000.0000000000,27500.0000000000,2700.0000000000,1,None,None,0,None,16,None,20295 +88763,4768,QA Exploration Detector,This does not exist.,1000.0000000000,20000.0000000000,0E-10,1,None,100000000.0000,0,3739,26759,None,0 +88774,4726,Neuronic Chrome Metallic - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26983,None,0 +88775,4726,Neuronic Chrome Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26984,None,0 +88776,4726,Gravastar Black Metallic - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26985,None,0 +88777,4726,Gravastar Black Metallic - Unlimited,"A license for the unlimited use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this metallic nanocoating has not been bound, allowing for its unlimited use. However, every time you sequence a design using this metallic you must provide Fermionic Sequencer to bind the unique SKIN licenses you are producing.",0E-10,0.1000000000,0E-10,1,None,None,1,3632,26986,None,0 +88784,1950,Skybreaker Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3541,None,None,0 +88785,1950,Stormbringer Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3540,None,None,0 +88786,1950,Thunderchild Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3539,None,None,0 +88787,1950,Squall Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3672,None,None,0 +88788,1950,Torrent Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3673,None,None,0 +88789,1950,Deluge Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3673,None,None,0 +88790,1950,Avalanche Sponsored Security SKIN,"The Drifter War has expanded our jurisdiction and expended our resources. We put out the call to New Eden's established brands to support our forces. Their dedication to our cluster's security has been astounding and we wear their names with pride. + +- EDENCOM communications division.",0E-10,0.0100000000,0E-10,1,168,None,1,3746,None,None,0 +88852,1194,Proven Deepflow Adaptive Canister,A modest cache of Sleeper and Triglavian artifacts gathered into this canister to protect them from the ravages of the Abyssal Deepflows,1.0000000000,3.0000000000,0E-10,1,None,None,1,1661,26266,None,0 +88853,1194,Glorified Deepflow Adaptive Canister,A valuable cache of Sleeper and Triglavian artifacts gathered into this canister to protect them from the ravages of the Abyssal Deepflows.,1.0000000000,3.0000000000,0E-10,1,None,None,1,1661,26266,None,0 +88854,1975,Non Interactable Small Asteroid w/Drone-tech,,0E-10,0E-10,0E-10,1,None,None,0,None,None,None,1682 +88856,4091,Kikimora Pilot,"Enforcer Operations Expert System + +This Expert System has been loaded with ship operation skills for a Kikimora class ship. + +An Expert System is a remote, restricted artificial intelligence providing you with access to certain skills during the active 7 days rental period. As it is independent from your clone and your capsule, an active Expert System is not lost on pod death or clone jump. + +Activating an Expert System + +Activation of an Expert System is automatic upon redemption of the item by the specific capsuleer intending to use the service. + +Expert Systems are a product developed by the PKN Interstellar consortium, made available over the HyperNet FTL communications network, and marketed by PKN Interstellar member corporations. An Expert System is a restricted AI based on artificial gelbrain technology. As the Expert System uses neural pathways based on those created by skill training or skill injection, it is compatible with capsule-ship interface and control systems. Real time command and control communication is achieved using dedicated FTL channels on PKN Interstellar's HyperNet.",1.0000000000,1.0000000000,0E-10,1,None,None,1,None,24601,None,0 +88891,1950,Damavik Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2486,None,None,0 +88892,1950,Kikimora Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2521,None,None,0 +88893,1950,Vedmak Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2485,None,None,0 +88894,1950,Rodiva Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2485,None,None,0 +88895,1950,Drekavac Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2519,None,None,0 +88896,1950,Leshak Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2482,None,None,0 +88897,1950,Zirnitra Azdaja Extirpated SKIN,"Inspired by the deep crimson hues of Triglavian space and the striking green undercurrent of Drifter ships, this nanocoating pays tribute to the victories of the Triglavian Convocation and Kybernauts during the Drifter Crisis of YC127.",0E-10,0.0100000000,0E-10,1,135,None,1,2704,None,None,0 +89115,1950,Federation Navy Comet Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,2000,None,None,0 +89116,1950,Tristan Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,2004,None,None,0 +89117,1950,Hyperion Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,1966,None,None,0 +89118,1950,Moros Navy Issue Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,3495,None,None,0 +89119,1950,Eris Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,2040,None,None,0 +89120,1950,Phobos Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,2075,None,None,0 +89121,1950,Eos Luminaire Rising SKIN,The blazing orange-gold dawn of Luminaire over the mountains of Gallente Prime shines from this nanocoating celebrating the birth of the Gallente Federation on its ancient home planet.,0E-10,0.0100000000,0E-10,1,8,None,1,2106,None,None,0 +89124,1194,Heron Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,1,None,0,None,24299,None,0 +89125,1194,Magnate Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,4,None,0,None,24297,None,0 +89126,1194,Imicus Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,8,None,0,None,24298,None,0 +89127,1194,Probe Crate,This item cannot be traded or sold on the market.,0E-10,4.0000000000,0E-10,1,2,None,0,None,24300,None,0 +89156,474,Vigilance Resonance Key,This data-key details the resonance frequencies of gravitational waves emanating from a Vigilance Point site. Acceleration gates require this data to provide stable transit into the site.,1.0000000000,0.1000000000,0E-10,1,None,None,1,3732,21784,None,0 +89193,310,Scout Advanced Military Beacon,"This beacon marks a scout military location. The entry gate is configured to admit Tech I, Tech II and all faction ships of Frigate size or smaller + +The security features installed in this acceleration gate will prevent activation by any ship that is fitted with warp core stabilizer modules.",1.0000000000,1.0000000000,0E-10,1,None,None,0,None,None,None,1211 +89219,4900,Stability Telemetry,Recordings of the local Abyssal energy β€˜stability’ levels within an area of Pochven.,1.0000000000,0.0100000000,0E-10,1,None,300000.0000,1,2480,21982,None,0 +89261,4726,cosm_cyan_highgloss_000_100_100 - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3655,27043,None,0 +89262,4726,cosm_rosered_satin_000_100_100 - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3654,27044,None,0 +89263,4726,cosm_cheese_matt_000_100_100 - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3653,27045,None,0 +89264,4726,cosm_azure_polished_000_100_050 - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3632,27046,None,0 +89265,4726,cosm_safetyorange_brushed_000_100_100 - Limited,"A license for the single use of a metallic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3632,27047,None,0 +89266,4726,cosm_camo_wave_02 - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,27048,None,0 +89267,4726,cosm_symbol_01A - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,27049,None,0 +89268,4726,cosm_twirl_04 - Limited,"A license for the single use of a pattern in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this pattern license has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3633,27050,None,0 +89327,4726,cosm_cyan_highgloss_000_060_100_cs180 - Limited,"A license for the single use of a basic nanocoating in SKIN sequencing, once activated and inside your SKINR collection. + +The digital sequence of this nanocoating has been bound, and though it can only be used once no sequence binders are required when it is consumed in the sequencing of a SKIN license.",0E-10,0.1000000000,0E-10,1,None,None,0,3655,27051,None,0 +89394,226,1-st Innominate Palace Landmark,"This wreck was once the historic headquarters of the Goonswarm Federation. After years of service, having stood against countless sieges, the alliance that built it was forced to leave it behind as they travelled to claim new territory elsewhere in New Eden. It remains a testament to the bold capsuleers who once called it home.",0E-10,0E-10,0E-10,1,1,None,0,None,None,None,21328 +89395,310,1-st Innominate Palace Landmark,,0E-10,0E-10,0E-10,1,4,None,0,None,None,None,1211 350916,350858,Plasma Cannon,"The plasma cannon is a single-shot, direct-fire weapon developed by Allotek Industries primarily for use in urban operations and confined space combat. The dense plasma discharge it generates is highly unstable, decaying rapidly and venting sufficient heat and energy to severely damage targets caught within its critical emission radius. During the short pre-fire charge, ultracold plasma is prepared and then heated inside a magneto-core trap. Just prior to discharge, a small precursor projectile is fired that produces (and is ultimately consumed by) a short-lived trail that helps guide and contain the volatile discharge as it travels towards its target.",0E-10,0.0100000000,0E-10,1,None,1500.0000,0,None,None,None,0 diff --git a/priv/repo/data/mapConstellations.csv b/priv/repo/data/mapConstellations.csv index 0c42b6bb..cfad8461 100644 --- a/priv/repo/data/mapConstellations.csv +++ b/priv/repo/data/mapConstellations.csv @@ -1173,3 +1173,4 @@ regionID,constellationID,constellationName,x,y,z,xMin,xMax,yMin,yMax,zMin,zMax,f 14000005,24000023,VC-023,-3929303414294949888.0000000000,2052312219158850048.0000000000,-5876493745543360512.0000000000,-3969303414294949888.0000000000,-3889303414294949888.0000000000,2012312219158850048.0000000000,2092312219158850048.0000000000,-5916493745543360512.0000000000,-5836493745543360512.0000000000,None,4e+16 14000005,24000024,VC-024,-4000137332327759872.0000000000,2065749800750390016.0000000000,-5861975205782179840.0000000000,-4040137332327759872.0000000000,-3960137332327759872.0000000000,2025749800750390016.0000000000,2105749800750390016.0000000000,-5901975205782179840.0000000000,-5821975205782179840.0000000000,None,4e+16 14000005,24000025,VC-025,-3737391588602420224.0000000000,2280269739557479936.0000000000,-6106825722789959680.0000000000,-3777391588602420224.0000000000,-3697391588602420224.0000000000,2240269739557479936.0000000000,2320269739557479936.0000000000,-6146825722789959680.0000000000,-6066825722789959680.0000000000,None,4e+16 +19000001,26000001,No Constellation name,1.0000000000,1.0000000000,1.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,None,4e+16 diff --git a/priv/repo/data/mapLocationWormholeClasses.csv b/priv/repo/data/mapLocationWormholeClasses.csv index 18855b32..274afe13 100644 --- a/priv/repo/data/mapLocationWormholeClasses.csv +++ b/priv/repo/data/mapLocationWormholeClasses.csv @@ -107,6 +107,7 @@ locationID,wormholeClassID 14000003,19 14000004,19 14000005,19 +19000001,7 20000061,11 20000062,10 30000012,8 diff --git a/priv/repo/data/mapRegions.csv b/priv/repo/data/mapRegions.csv index d88a6773..d746a0d4 100644 --- a/priv/repo/data/mapRegions.csv +++ b/priv/repo/data/mapRegions.csv @@ -111,3 +111,4 @@ regionID,regionName,x,y,z,xMin,xMax,yMin,yMax,zMin,zMax,factionID,nebula,radius 14000003,VR-03,-5431841546101449728.0000000000,2985429153089509888.0000000000,-6018316379407049728.0000000000,-5581841546101449728.0000000000,-5281841546101449728.0000000000,2835429153089509888.0000000000,3135429153089509888.0000000000,-6168316379407049728.0000000000,-5868316379407049728.0000000000,None,11821,None 14000004,VR-04,-4545298976287320064.0000000000,2308091069617820160.0000000000,-6316706917218969600.0000000000,-4695298976287320064.0000000000,-4395298976287320064.0000000000,2158091069617819904.0000000000,2458091069617820160.0000000000,-6466706917218969600.0000000000,-6166706917218969600.0000000000,None,11821,None 14000005,VR-05,-3876324035229649920.0000000000,2174764391831830016.0000000000,-5975813282299729920.0000000000,-4026324035229649920.0000000000,-3726324035229649920.0000000000,2024764391831830016.0000000000,2324764391831830016.0000000000,-6125813282299729920.0000000000,-5825813282299729920.0000000000,None,11821,None +19000001,No Name,1.0000000000,1.0000000000,1.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,None,11806,None diff --git a/priv/repo/data/mapSolarSystems.csv b/priv/repo/data/mapSolarSystems.csv index 82fb7a27..16817b8f 100644 --- a/priv/repo/data/mapSolarSystems.csv +++ b/priv/repo/data/mapSolarSystems.csv @@ -8435,3 +8435,4 @@ regionID,constellationID,solarSystemID,solarSystemName,x,y,z,xMin,xMax,yMin,yMax 14000005,24000025,34000198,V-198,-3726804805078839808.0000000000,2273820166108100096.0000000000,-6118384105031680000.0000000000,-3726819764865909760.0000000000,-3726789845291769856.0000000000,2273805206321029888.0000000000,2273835125895170048.0000000000,-6118399064818750464.0000000000,-6118369145244609536.0000000000,0E-10,0,0,0,0,0,0,None,-0.9900000000,None,14959787070000.0000000000,None,None 14000005,24000025,34000199,V-199,-3702467135073939968.0000000000,2271227427207830016.0000000000,-6075476754085990400.0000000000,-3702482094861009920.0000000000,-3702452175286870016.0000000000,2271212467420760064.0000000000,2271242386994899968.0000000000,-6075491713873059840.0000000000,-6075461794298919936.0000000000,0E-10,0,0,0,0,0,0,None,-0.9900000000,None,14959787070000.0000000000,None,None 14000005,24000025,34000200,V-200,-3726767846292810240.0000000000,2248086962890269952.0000000000,-6097487616715119616.0000000000,-3726782806079880192.0000000000,-3726752886505739776.0000000000,2248072003103200000.0000000000,2248101922677339904.0000000000,-6097502576502190080.0000000000,-6097472656928050176.0000000000,0E-10,0,0,0,0,0,0,None,-0.9900000000,None,14959787070000.0000000000,None,None +19000001,26000001,36000001,No System Name,1.0000000000,1.0000000000,1.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,-300000.0000000000,300000.0000000000,0E-10,0,0,0,0,0,0,None,1.0000000000,None,14959787070000.0000000000,None,None diff --git a/priv/repo/migrations/20250727124145_create_map_default_settings_only.exs b/priv/repo/migrations/20250727124145_create_map_default_settings_only.exs new file mode 100644 index 00000000..4d2c8bbe --- /dev/null +++ b/priv/repo/migrations/20250727124145_create_map_default_settings_only.exs @@ -0,0 +1,60 @@ +defmodule WandererApp.Repo.Migrations.CreateMapDefaultSettingsOnly do + @moduledoc """ + Updates resources based on their most recent snapshots. + + This file was autogenerated with `mix ash_postgres.generate_migrations` + """ + + use Ecto.Migration + + def up do + create table(:map_default_settings, primary_key: false) do + add :id, :uuid, null: false, default: fragment("gen_random_uuid()"), primary_key: true + add :settings, :text, null: false + + add :inserted_at, :utc_datetime_usec, + null: false, + default: fragment("(now() AT TIME ZONE 'utc')") + + add :updated_at, :utc_datetime_usec, + null: false, + default: fragment("(now() AT TIME ZONE 'utc')") + + add :map_id, + references(:maps_v1, column: :id, name: "map_default_settings_map_id_fkey", type: :uuid), + null: false + + add :created_by_id, + references(:character_v1, + column: :id, + name: "map_default_settings_created_by_id_fkey", + type: :uuid + ) + + add :updated_by_id, + references(:character_v1, + column: :id, + name: "map_default_settings_updated_by_id_fkey", + type: :uuid + ) + end + + create unique_index(:map_default_settings, [:map_id], + name: "map_default_settings_unique_map_settings_index" + ) + end + + def down do + drop_if_exists unique_index(:map_default_settings, [:map_id], + name: "map_default_settings_unique_map_settings_index" + ) + + drop constraint(:map_default_settings, "map_default_settings_map_id_fkey") + + drop constraint(:map_default_settings, "map_default_settings_created_by_id_fkey") + + drop constraint(:map_default_settings, "map_default_settings_updated_by_id_fkey") + + drop table(:map_default_settings) + end +end diff --git a/priv/repo/migrations/20250810195743_add_security_audit_indexes.exs b/priv/repo/migrations/20250810195743_add_security_audit_indexes.exs new file mode 100644 index 00000000..e5c270b1 --- /dev/null +++ b/priv/repo/migrations/20250810195743_add_security_audit_indexes.exs @@ -0,0 +1,41 @@ +defmodule WandererApp.Repo.Migrations.AddSecurityAuditIndexes do + use Ecto.Migration + @disable_ddl_transaction true + @disable_migration_lock true + + def up do + # Add indexes for security audit queries + create_if_not_exists index(:user_activity_v1, [:entity_type, :event_type, :inserted_at], + concurrently: true + ) + + create_if_not_exists index(:user_activity_v1, [:user_id, :inserted_at], concurrently: true) + create_if_not_exists index(:user_activity_v1, [:event_type], concurrently: true) + + # Partial index for security events only - for better performance + create_if_not_exists index(:user_activity_v1, [:user_id, :inserted_at], + where: "entity_type = 'security_event'", + name: :user_activity_v1_security_events_idx, + concurrently: true + ) + + # Index for entity_id queries (used by Map.Audit) + create_if_not_exists index(:user_activity_v1, [:entity_id, :inserted_at], concurrently: true) + end + + def down do + drop_if_exists index(:user_activity_v1, [:entity_id, :inserted_at], concurrently: true) + + drop_if_exists index(:user_activity_v1, [:user_id, :inserted_at], + name: :user_activity_v1_security_events_idx, + concurrently: true + ) + + drop_if_exists index(:user_activity_v1, [:event_type], concurrently: true) + drop_if_exists index(:user_activity_v1, [:user_id, :inserted_at], concurrently: true) + + drop_if_exists index(:user_activity_v1, [:entity_type, :event_type, :inserted_at], + concurrently: true + ) + end +end diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240531100555.json b/priv/resource_snapshots/repo/access_list_members_v1/20240531100555.json deleted file mode 100644 index fe050d67..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240531100555.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"member\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "CB795E3E8D78F769E55971510831DA39A33F1D0CC065CFEE6969164B1F33916F", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240603202915.json b/priv/resource_snapshots/repo/access_list_members_v1/20240603202915.json deleted file mode 100644 index 4d9c336b..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240603202915.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "098ED55EA6882AA6E7033650E918E40B7E8A2F97C205D3B15739F88DC4A1FF87", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240608213508.json b/priv/resource_snapshots/repo/access_list_members_v1/20240608213508.json deleted file mode 100644 index 6ae76186..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240608213508.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"viewer\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "9DF32D06113D3923BA091BF65AE604418B8C33C01B421BDDE32032A4D2C31507", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240609213856.json b/priv/resource_snapshots/repo/access_list_members_v1/20240609213856.json deleted file mode 100644 index d567a86e..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240609213856.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "\"viewer\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B9FA697C24A6DEC9FF0E5B7588C07B17E2CE659EC27D1F05A30DBEAD72883FF7", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240722204840.json b/priv/resource_snapshots/repo/access_list_members_v1/20240722204840.json deleted file mode 100644 index 61dcb4ce..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240722204840.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "\"viewer\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "74A488E6C73B100674AB9031886BFD74C84234655A1D1BA4F1B649DBD1DE783F", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "access_list_members_v1_uniq_acl_member_id_index", - "keys": [ - { - "type": "atom", - "value": "access_list_id" - }, - { - "type": "atom", - "value": "eve_character_id" - }, - { - "type": "atom", - "value": "eve_corporation_id" - }, - { - "type": "atom", - "value": "eve_alliance_id" - } - ], - "name": "uniq_acl_member_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_list_members_v1/20240722205315.json b/priv/resource_snapshots/repo/access_list_members_v1/20240722205315.json deleted file mode 100644 index 9c27e9ee..00000000 --- a/priv/resource_snapshots/repo/access_list_members_v1/20240722205315.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_character_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_corporation_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_alliance_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "\"viewer\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "role", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_list_members_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "6773A2F5243E2DCC21A2F460AD0053B28E38235784B3F33045200B4EB4349718", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "access_list_members_v1_uniq_acl_alliance_id_index", - "keys": [ - { - "type": "atom", - "value": "access_list_id" - }, - { - "type": "atom", - "value": "eve_alliance_id" - } - ], - "name": "uniq_acl_alliance_id", - "nils_distinct?": true, - "where": null - }, - { - "all_tenants?": false, - "base_filter": null, - "index_name": "access_list_members_v1_uniq_acl_character_id_index", - "keys": [ - { - "type": "atom", - "value": "access_list_id" - }, - { - "type": "atom", - "value": "eve_character_id" - } - ], - "name": "uniq_acl_character_id", - "nils_distinct?": true, - "where": null - }, - { - "all_tenants?": false, - "base_filter": null, - "index_name": "access_list_members_v1_uniq_acl_corporation_id_index", - "keys": [ - { - "type": "atom", - "value": "access_list_id" - }, - { - "type": "atom", - "value": "eve_corporation_id" - } - ], - "name": "uniq_acl_corporation_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_list_members_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/access_lists_v1/20240531100555.json b/priv/resource_snapshots/repo/access_lists_v1/20240531100555.json deleted file mode 100644 index 266495be..00000000 --- a/priv/resource_snapshots/repo/access_lists_v1/20240531100555.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "access_lists_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "444F11C25C585114DAA27322D172918D59CEE6B49FE9F6AC88181566782B1DBA", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "access_lists_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240531100555.json b/priv/resource_snapshots/repo/character_v1/20240531100555.json deleted file mode 100644 index e6723cd3..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240531100555.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "10706AB4D288BDEE7AE1DB7FD2072989B40231FA7E416EB164022D33157F5F97", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240602093616.json b/priv/resource_snapshots/repo/character_v1/20240602093616.json deleted file mode 100644 index da328aa1..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240602093616.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "C3F49D7B512DF7617A7CC9A9A7D4DF55AF090423B663EF24503F6159A98204E2", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240604074621.json b/priv/resource_snapshots/repo/character_v1/20240604074621.json deleted file mode 100644 index 3db52fc5..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240604074621.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "structure_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "29EF3CA3C393C1D3E7A002E90E1D8D16BDA54E7A4C9163ED534791B63724B345", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240609213856.json b/priv/resource_snapshots/repo/character_v1/20240609213856.json deleted file mode 100644 index eb257154..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240609213856.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "structure_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "C71AABB1835923C905F328CADA4F6F7565B09B6F4BA0603AB15B4A0B791630D1", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240621163558.json b/priv/resource_snapshots/repo/character_v1/20240621163558.json deleted file mode 100644 index c672d2cc..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240621163558.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "structure_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wallet_ballance", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "CEEDE046912657867296D1FC17AC44336CF52D80E801D39341C323FC1B26BDB9", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240621192841.json b/priv/resource_snapshots/repo/character_v1/20240621192841.json deleted file mode 100644 index f143d1e8..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240621192841.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "structure_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wallet_balance", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "1AEB87AAF8CD6CF5A98A330558A3C0050427E164F2FB2FE7AA0D4AB8E61980D0", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240706095019.json b/priv/resource_snapshots/repo/character_v1/20240706095019.json deleted file mode 100644 index 1d73b88c..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240706095019.json +++ /dev/null @@ -1,308 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "access_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "refresh_token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "location", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "structure_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wallet_balance", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_eve_wallet_balance", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "C919A2551EAC04804C90FCA04ECF3C719FE768608D429AFD9706A7684D88EF8B", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240706130240.json b/priv/resource_snapshots/repo/character_v1/20240706130240.json deleted file mode 100644 index e215bc7c..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240706130240.json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_eve_wallet_balance", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_location", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_ship", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_solar_system_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_structure_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_access_token", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_refresh_token", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "9E44110150D5F78BD6FCE0CEB21A7E8B7A2B9163BC2AA621D34A6E8CB8D6DAB0", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20240713102457.json b/priv/resource_snapshots/repo/character_v1/20240713102457.json deleted file mode 100644 index d6c9f3cb..00000000 --- a/priv/resource_snapshots/repo/character_v1/20240713102457.json +++ /dev/null @@ -1,313 +0,0 @@ -{ - "attributes": [ - { - "default": "fragment(\"gen_random_uuid()\")", - "size": null, - "type": "uuid", - "source": "id", - "references": null, - "allow_nil?": false, - "primary_key?": true, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "eve_id", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "name", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "false", - "size": null, - "type": "boolean", - "source": "online", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "false", - "size": null, - "type": "boolean", - "source": "deleted", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "scopes", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "character_owner_hash", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "token_type", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "bigint", - "source": "expires_at", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "ship_name", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "bigint", - "source": "corporation_id", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "corporation_name", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "corporation_ticker", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "bigint", - "source": "alliance_id", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "alliance_name", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "text", - "source": "alliance_ticker", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "inserted_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "updated_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "user_id", - "references": { - "name": "character_v1_user_id_fkey", - "table": "user_v1", - "primary_key?": true, - "schema": "public", - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "destination_attribute": "id", - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_eve_wallet_balance", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_location", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_ship", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_solar_system_id", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_structure_id", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_access_token", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "binary", - "source": "encrypted_refresh_token", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - } - ], - "table": "character_v1", - "hash": "37A78C69380CE82880DA977406421399C66F09FA575AE2FC24FAB1216E6C525E", - "repo": "Elixir.WandererApp.Repo", - "identities": [ - { - "name": "unique_eve_id", - "keys": [ - { - "type": "atom", - "value": "eve_id" - } - ], - "where": null, - "base_filter": null, - "all_tenants?": false, - "nils_distinct?": true, - "index_name": "character_v1_unique_eve_id_index" - } - ], - "schema": null, - "check_constraints": [], - "custom_indexes": [], - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "base_filter": null, - "custom_statements": [], - "has_create_action": true -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20250323093826.json b/priv/resource_snapshots/repo/character_v1/20250323093826.json deleted file mode 100644 index b2a08a87..00000000 --- a/priv/resource_snapshots/repo/character_v1/20250323093826.json +++ /dev/null @@ -1,323 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_eve_wallet_balance", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_location", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_ship", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_solar_system_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_structure_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_station_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_access_token", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_refresh_token", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "0027E0C4A584B6AB536CE623A060E27EC57E6602422A4B9D2DED931EF2337804", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "character_v1_unique_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "unique_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/character_v1/20250411075437.json b/priv/resource_snapshots/repo/character_v1/20250411075437.json deleted file mode 100644 index 6e8d43bc..00000000 --- a/priv/resource_snapshots/repo/character_v1/20250411075437.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "online", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scopes", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_owner_hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expires_at", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_item_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_ticker", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "alliance_ticker", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "character_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_eve_wallet_balance", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_location", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_ship", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_solar_system_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_structure_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_station_id", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_access_token", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_refresh_token", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "D630C33BDB07F87A594F7F1C55931AB89D758C84D71EFCE61C17DEBFF18F383E", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "character_v1_unique_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "unique_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "character_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630094217.json b/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630094217.json deleted file mode 100644 index bd357265..00000000 --- a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630094217.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_transaction_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "amount", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "balance", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "first_party_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "second_party_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "reason", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ref_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "E45BA247AD12230CAD90896DA3CA71B9940E1D00BD51215106256AE7C75AD6B6", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "corp_wallet_transactions_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630103021.json b/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630103021.json deleted file mode 100644 index 7ebbe0e1..00000000 --- a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240630103021.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_transaction_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "amount", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "balance", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "first_party_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "second_party_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "reason", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ref_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "0008A3278A23F8B93B1322F98D47124DE720818DE188C6DA203B92C6B948F219", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "corp_wallet_transactions_v1_eve_transaction_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_transaction_id" - } - ], - "name": "eve_transaction_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "corp_wallet_transactions_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121120.json b/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121120.json deleted file mode 100644 index 4f0a3581..00000000 --- a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121120.json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_transaction_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "amount", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "balance", - "type": "float" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "first_party_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "second_party_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "reason", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ref_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_amount_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_balance_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_first_party_id_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_second_party_id_encoded", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_reason_encoded", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B009AFDEC92308BD2C7129BE50BC21B042B61085A955E8FCB2347FADF64F015F", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "corp_wallet_transactions_v1_eve_transaction_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_transaction_id" - } - ], - "name": "eve_transaction_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "corp_wallet_transactions_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121427.json b/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121427.json deleted file mode 100644 index 50f3b039..00000000 --- a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706121427.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_transaction_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ref_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_amount_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_balance_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_first_party_id_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_second_party_id_encoded", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_reason_encoded", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "C66789F82FF4587652C69760817344F16566775EABFC962B6DF550D86D10A2FF", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "corp_wallet_transactions_v1_eve_transaction_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_transaction_id" - } - ], - "name": "eve_transaction_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "corp_wallet_transactions_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706124349.json b/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706124349.json deleted file mode 100644 index 0e0cd443..00000000 --- a/priv/resource_snapshots/repo/corp_wallet_transactions_v1/20240706124349.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_transaction_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "first_party_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "second_party_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "first_party_id_encoded", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "second_party_id_encoded", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ref_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_amount_encoded", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_balance_encoded", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_reason_encoded", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "E31376D56403DCB616F4579B0800E07217E86C99431FF50650294724537010B3", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "corp_wallet_transactions_v1_eve_transaction_id_index", - "keys": [ - { - "type": "atom", - "value": "eve_transaction_id" - } - ], - "name": "eve_transaction_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "corp_wallet_transactions_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_access_lists_v1/20240603203817.json b/priv/resource_snapshots/repo/map_access_lists_v1/20240603203817.json deleted file mode 100644 index d113a3be..00000000 --- a/priv/resource_snapshots/repo/map_access_lists_v1/20240603203817.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_access_lists_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_access_lists_v1_access_list_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "access_lists_v1" - }, - "size": null, - "source": "access_list_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "D969A70A438F04CFA681D0B3A9A179D7449954D598E55FE1F9B3DAC8EC3B3062", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_access_lists_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_access_lists_v1/20240713102812.json b/priv/resource_snapshots/repo/map_access_lists_v1/20240713102812.json deleted file mode 100644 index 530fa030..00000000 --- a/priv/resource_snapshots/repo/map_access_lists_v1/20240713102812.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "attributes": [ - { - "default": "fragment(\"gen_random_uuid()\")", - "size": null, - "type": "uuid", - "source": "id", - "references": null, - "allow_nil?": false, - "primary_key?": true, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "inserted_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "updated_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "map_id", - "references": { - "name": "map_access_lists_v1_map_id_fkey", - "table": "maps_v1", - "primary_key?": true, - "schema": "public", - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "destination_attribute": "id", - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": false, - "primary_key?": true, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "access_list_id", - "references": { - "name": "map_access_lists_v1_access_list_id_fkey", - "table": "access_lists_v1", - "primary_key?": true, - "schema": "public", - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "destination_attribute": "id", - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": false, - "primary_key?": true, - "generated?": false - } - ], - "table": "map_access_lists_v1", - "hash": "72DB5BB5D63D90C44A75097741E9132A50EAFE974F30BE84F88A2A2CA6415D46", - "repo": "Elixir.WandererApp.Repo", - "identities": [ - { - "name": "unique_map_acl", - "keys": [ - { - "type": "atom", - "value": "map_id" - }, - { - "type": "atom", - "value": "access_list_id" - } - ], - "where": null, - "base_filter": null, - "all_tenants?": false, - "nils_distinct?": true, - "index_name": "map_access_lists_v1_unique_map_acl_index" - } - ], - "schema": null, - "check_constraints": [], - "custom_indexes": [], - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "base_filter": null, - "custom_statements": [], - "has_create_action": true -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_chain_passages_v1/20240616103353.json b/priv/resource_snapshots/repo/map_chain_passages_v1/20240616103353.json deleted file mode 100644 index 40cbcecb..00000000 --- a/priv/resource_snapshots/repo/map_chain_passages_v1/20240616103353.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_type_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_source_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_target_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_passages_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_passages_v1_character_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "character_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "54E64D30DCFB80B93C57FD251790C00F69F8050F78B8BDE74302361815DBC5F2", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_chain_passages_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_chain_v1/20240531100555.json b/priv/resource_snapshots/repo/map_chain_v1/20240531100555.json deleted file mode 100644 index b9efde06..00000000 --- a/priv/resource_snapshots/repo/map_chain_v1/20240531100555.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_source", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_target", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "mass_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "time_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "1", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_size_type", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wormhole_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "count_of_passage", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B72F0AB8CAFC37FDDC5F54EBE5FDE3D7E9A4E066A6A2400E507E8F43509B2446", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_chain_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_chain_v1/20240808201458.json b/priv/resource_snapshots/repo/map_chain_v1/20240808201458.json deleted file mode 100644 index 4be5ce4b..00000000 --- a/priv/resource_snapshots/repo/map_chain_v1/20240808201458.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_source", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_target", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "mass_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "time_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "1", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_size_type", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wormhole_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "count_of_passage", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "locked", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "A56C58B107AAB08706CA42BA017DCC7972DE1ADD0B9C6D45A3C5C4CDFA4A0C11", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_chain_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_chain_v1/20240922080418.json b/priv/resource_snapshots/repo/map_chain_v1/20240922080418.json deleted file mode 100644 index 5ffa83af..00000000 --- a/priv/resource_snapshots/repo/map_chain_v1/20240922080418.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_source", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_target", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "mass_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "time_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "1", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_size_type", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wormhole_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "count_of_passage", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "locked", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_info", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "D2213536C4FA24865B2977B1544847E583441789FF1F1F07E7ADAEBD238764CF", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_chain_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_chain_v1/20241122091349.json b/priv/resource_snapshots/repo/map_chain_v1/20241122091349.json deleted file mode 100644 index 905eaa67..00000000 --- a/priv/resource_snapshots/repo/map_chain_v1/20241122091349.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_source", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_target", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "mass_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "time_status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "1", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "ship_size_type", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wormhole_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "count_of_passage", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "locked", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_info", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_chain_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "D9587518CE16355CA4FB501321848465A3E1DDD7800563069242249DA0B4C389", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_chain_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_character_settings_v1/20240531100555.json b/priv/resource_snapshots/repo/map_character_settings_v1/20240531100555.json deleted file mode 100644 index 303689c1..00000000 --- a/priv/resource_snapshots/repo/map_character_settings_v1/20240531100555.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "tracked", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_character_settings_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_character_settings_v1_character_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "character_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "619C45BA41A00CB9B9984D7168BC7F6859AECD8FF0CC6732928C8C2B793A1118", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_character_settings_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_character_settings_v1/20240612103309.json b/priv/resource_snapshots/repo/map_character_settings_v1/20240612103309.json deleted file mode 100644 index 4ae9d5ab..00000000 --- a/priv/resource_snapshots/repo/map_character_settings_v1/20240612103309.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "tracked", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_character_settings_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_character_settings_v1_character_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "character_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "2C2855063636087DACE1D8AAA24909601932D2775ADCEF3D1A4D75AAA749D021", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_character_settings_v1_uniq_map_character_index", - "keys": [ - "map_id", - "character_id" - ], - "name": "uniq_map_character" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_character_settings_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_character_settings_v1/20250111213133.json b/priv/resource_snapshots/repo/map_default_settings/20250727124145.json similarity index 70% rename from priv/resource_snapshots/repo/map_character_settings_v1/20250111213133.json rename to priv/resource_snapshots/repo/map_default_settings/20250727124145.json index ac596cfa..11e858ff 100644 --- a/priv/resource_snapshots/repo/map_character_settings_v1/20250111213133.json +++ b/priv/resource_snapshots/repo/map_default_settings/20250727124145.json @@ -11,24 +11,14 @@ "type": "uuid" }, { - "allow_nil?": true, - "default": "false", + "allow_nil?": false, + "default": "nil", "generated?": false, "primary_key?": false, "references": null, "size": null, - "source": "tracked", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "followed", - "type": "boolean" + "source": "settings", + "type": "text" }, { "allow_nil?": false, @@ -54,7 +44,7 @@ "allow_nil?": false, "default": "nil", "generated?": false, - "primary_key?": true, + "primary_key?": false, "references": { "deferrable": false, "destination_attribute": "id", @@ -68,11 +58,11 @@ "global": null, "strategy": null }, - "name": "map_character_settings_v1_map_id_fkey", + "name": "map_default_settings_map_id_fkey", "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "maps_v1" }, "size": null, @@ -80,10 +70,10 @@ "type": "uuid" }, { - "allow_nil?": false, + "allow_nil?": true, "default": "nil", "generated?": false, - "primary_key?": true, + "primary_key?": false, "references": { "deferrable": false, "destination_attribute": "id", @@ -97,15 +87,44 @@ "global": null, "strategy": null }, - "name": "map_character_settings_v1_character_id_fkey", + "name": "map_default_settings_created_by_id_fkey", "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "character_v1" }, "size": null, - "source": "character_id", + "source": "created_by_id", + "type": "uuid" + }, + { + "allow_nil?": true, + "default": "nil", + "generated?": false, + "primary_key?": false, + "references": { + "deferrable": false, + "destination_attribute": "id", + "destination_attribute_default": null, + "destination_attribute_generated": null, + "index?": false, + "match_type": null, + "match_with": null, + "multitenancy": { + "attribute": null, + "global": null, + "strategy": null + }, + "name": "map_default_settings_updated_by_id_fkey", + "on_delete": null, + "on_update": null, + "primary_key?": true, + "schema": null, + "table": "character_v1" + }, + "size": null, + "source": "updated_by_id", "type": "uuid" } ], @@ -114,23 +133,19 @@ "custom_indexes": [], "custom_statements": [], "has_create_action": true, - "hash": "03E6D5F913A8DB4EC1506A773B222542769B945776482E5BAE57D39CF1B79034", + "hash": "29D2AE280E1A11D1E42869A118E8E5C42515F24911B74ECB9A642B1BF902DCC1", "identities": [ { "all_tenants?": false, "base_filter": null, - "index_name": "map_character_settings_v1_uniq_map_character_index", + "index_name": "map_default_settings_unique_map_settings_index", "keys": [ { "type": "atom", "value": "map_id" - }, - { - "type": "atom", - "value": "character_id" } ], - "name": "uniq_map_character", + "name": "unique_map_settings", "nils_distinct?": true, "where": null } @@ -142,5 +157,5 @@ }, "repo": "Elixir.WandererApp.Repo", "schema": null, - "table": "map_character_settings_v1" + "table": "map_default_settings" } \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_invites_v1/20250608220906.json b/priv/resource_snapshots/repo/map_invites_v1/20250608220906.json deleted file mode 100644 index ecdaa0b4..00000000 --- a/priv/resource_snapshots/repo/map_invites_v1/20250608220906.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "token", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "valid_until", - "type": "utc_datetime" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_invites_v1_map_id_fkey", - "on_delete": "delete", - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B4122C666C9DCF20E420209F604765AB1A3C4979D4134916F7EF9292162B250C", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_invites_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_licenses_v1/20250306164042.json b/priv/resource_snapshots/repo/map_licenses_v1/20250306164042.json deleted file mode 100644 index 7fc5f4d2..00000000 --- a/priv/resource_snapshots/repo/map_licenses_v1/20250306164042.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "license_key", - "type": "text" - }, - { - "allow_nil?": false, - "default": "true", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "is_valid", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expire_at", - "type": "utc_datetime" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_licenses_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "D692605666CC6C33AC68833306ABDA2FF0D9E948603066D872463F9E26CA0CD6", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_licenses_v1" -} diff --git a/priv/resource_snapshots/repo/map_licenses_v1/20250311105144.json b/priv/resource_snapshots/repo/map_licenses_v1/20250311105144.json deleted file mode 100644 index 54e52bf3..00000000 --- a/priv/resource_snapshots/repo/map_licenses_v1/20250311105144.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "license_key", - "type": "text" - }, - { - "allow_nil?": false, - "default": "true", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "is_valid", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "expire_at", - "type": "utc_datetime" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_licenses_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "F024DBF36F784C2B142125DDAE5A034001667E9C1FCCB7120B719AB9B7FB1059", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_licenses_v1_uniq_map_id_index", - "keys": [ - { - "type": "atom", - "value": "map_id" - } - ], - "name": "uniq_map_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_licenses_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_state_v1/20240803133231.json b/priv/resource_snapshots/repo/map_state_v1/20240803133231.json deleted file mode 100644 index 66b162ec..00000000 --- a/priv/resource_snapshots/repo/map_state_v1/20240803133231.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "%{}", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "systems_last_activity", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "%{}", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "connections_eol_time", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_state_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "C4A64EFE4CA3BB514F50CF83312E0BF321856669EABD1BD1451C770647469B32", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_state_v1_uniq_map_id_index", - "keys": [ - { - "type": "atom", - "value": "map_id" - } - ], - "name": "uniq_map_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_state_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_state_v1/20240803133410.json b/priv/resource_snapshots/repo/map_state_v1/20240803133410.json deleted file mode 100644 index 3b4d1e18..00000000 --- a/priv/resource_snapshots/repo/map_state_v1/20240803133410.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "systems_last_activity", - "type": "binary" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "connections_eol_time", - "type": "binary" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_state_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "075646DB316ECD7AA267C73E98E8C5DBD176C9D36FAEE61253376D8BFEFFD303", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_state_v1_uniq_map_id_index", - "keys": [ - { - "type": "atom", - "value": "map_id" - } - ], - "name": "uniq_map_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_state_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_subscriptions_v1/20240716143816.json b/priv/resource_snapshots/repo/map_subscriptions_v1/20240716143816.json deleted file mode 100644 index 04341823..00000000 --- a/priv/resource_snapshots/repo/map_subscriptions_v1/20240716143816.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "attributes": [ - { - "default": "fragment(\"gen_random_uuid()\")", - "size": null, - "type": "uuid", - "source": "id", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": true - }, - { - "default": "\"alpha\"", - "size": null, - "type": "text", - "source": "plan", - "references": null, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - }, - { - "default": "\"active\"", - "size": null, - "type": "text", - "source": "status", - "references": null, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - }, - { - "default": "nil", - "size": null, - "type": "utc_datetime", - "source": "active_till", - "references": null, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "inserted_at", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "updated_at", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "map_id", - "references": { - "name": "map_subscriptions_v1_map_id_fkey", - "table": "maps_v1", - "schema": "public", - "destination_attribute": "id", - "primary_key?": true, - "multitenancy": { - "global": null, - "strategy": null, - "attribute": null - }, - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - } - ], - "table": "map_subscriptions_v1", - "hash": "797079D3D8E14CC441B193745EDD15F0A262ED89E45C9E3A94671031E95A7A1E", - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "identities": [], - "multitenancy": { - "global": null, - "strategy": null, - "attribute": null - }, - "base_filter": null, - "has_create_action": true -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_subscriptions_v1/20240719092205.json b/priv/resource_snapshots/repo/map_subscriptions_v1/20240719092205.json deleted file mode 100644 index 529f6700..00000000 --- a/priv/resource_snapshots/repo/map_subscriptions_v1/20240719092205.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "attributes": [ - { - "default": "fragment(\"gen_random_uuid()\")", - "size": null, - "type": "uuid", - "source": "id", - "references": null, - "allow_nil?": false, - "primary_key?": true, - "generated?": false - }, - { - "default": "\"alpha\"", - "size": null, - "type": "text", - "source": "plan", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "\"active\"", - "size": null, - "type": "text", - "source": "status", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "100", - "size": null, - "type": "bigint", - "source": "characters_limit", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "10", - "size": null, - "type": "bigint", - "source": "hubs_limit", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "utc_datetime", - "source": "active_till", - "references": null, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "inserted_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "updated_at", - "references": null, - "allow_nil?": false, - "primary_key?": false, - "generated?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "map_id", - "references": { - "name": "map_subscriptions_v1_map_id_fkey", - "table": "maps_v1", - "primary_key?": true, - "schema": "public", - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "destination_attribute": "id", - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": true, - "primary_key?": false, - "generated?": false - } - ], - "table": "map_subscriptions_v1", - "hash": "0369590504875AD7B79BFD28B8349FF3F5DBF952554701129BE72C1E8C51E0BE", - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "check_constraints": [], - "identities": [], - "custom_indexes": [], - "multitenancy": { - "global": null, - "attribute": null, - "strategy": null - }, - "base_filter": null, - "custom_statements": [], - "has_create_action": true -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20240612151548.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20240612151548.json deleted file mode 100644 index d15b1d85..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20240612151548.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "5EAB7F7AFA630F521E733C50576C024542B7516C7C34A4CABB8B269EDE96C903", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - "system_id", - "eve_id" - ], - "name": "uniq_system_eve_id" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20240612153108.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20240612153108.json deleted file mode 100644 index c316a623..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20240612153108.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "10D98F98F9C006E5B444E8AECB858B7EB32343BCA69CBEFF87F6E00FCFB9DCE2", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - "system_id", - "eve_id" - ], - "name": "uniq_system_eve_id" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20241012105645.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20241012105645.json deleted file mode 100644 index 810b4edd..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20241012105645.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "linked_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B437BC9E9F4607EBD235CBB39B814710E223D532CE09B952C9371257159008F4", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "system_id" - }, - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "uniq_system_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20241019083102.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20241019083102.json deleted file mode 100644 index 77243e84..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20241019083102.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "linked_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "740CFD116B778B91E44B8EED8414E4B3B2734FF1D94681B8727484B958958BC7", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "system_id" - }, - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "uniq_system_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20241119140514.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20241119140514.json deleted file mode 100644 index d109f948..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20241119140514.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "linked_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "6A255286EC34371C26500578C2B991D604C154AB4751B8F1EFBE4E7E61AA6F2D", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "system_id" - }, - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "uniq_system_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20241126175752.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20241126175752.json deleted file mode 100644 index c578593b..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20241126175752.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "linked_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_info", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "75415502E71FD26E773B46F0EBFE6A645F7A521B4E1F06199FEFCF9F18F395BE", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "system_id" - }, - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "uniq_system_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_signatures_v1/20250507020200.json b/priv/resource_snapshots/repo/map_system_signatures_v1/20250507020200.json deleted file mode 100644 index d733fc42..00000000 --- a/priv/resource_snapshots/repo/map_system_signatures_v1/20250507020200.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "eve_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "character_eve_id", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "linked_system_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "kind", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_info", - "type": "text" - }, - { - "allow_nil?": false, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_signatures_v1_system_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "map_system_v1" - }, - "size": null, - "source": "system_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "63D26445C9E67459C4D41CF31D61C3EE2356BE664F0D44AB5BC04C2100B701F3", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_signatures_v1_uniq_system_eve_id_index", - "keys": [ - { - "type": "atom", - "value": "system_id" - }, - { - "type": "atom", - "value": "eve_id" - } - ], - "name": "uniq_system_eve_id", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_signatures_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_v1/20240531100555.json b/priv/resource_snapshots/repo/map_system_v1/20240531100555.json deleted file mode 100644 index c46553fd..00000000 --- a/priv/resource_snapshots/repo/map_system_v1/20240531100555.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "tag", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "labels", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "true", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "visible", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "true", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "locked", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "position_x", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "position_y", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "added_at", - "type": "utc_datetime" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "19CDBE098639C990976BC015AEA0BF4886525375FAB019E489AA30278085F47D", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_v1_map_solar_system_id_index", - "keys": [ - "map_id", - "solar_system_id" - ], - "name": "map_solar_system_id" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_system_v1/20240613133932.json b/priv/resource_snapshots/repo/map_system_v1/20240613133932.json deleted file mode 100644 index e43f3cba..00000000 --- a/priv/resource_snapshots/repo/map_system_v1/20240613133932.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "solar_system_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "custom_name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "tag", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "labels", - "type": "text" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "status", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "true", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "visible", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "locked", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "position_x", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "position_y", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "added_at", - "type": "utc_datetime" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_system_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "A1E9DDF1F7FC0B576D924B262010816ED655B910A7604D434B5FB6755421A8BC", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_system_v1_map_solar_system_id_index", - "keys": [ - "map_id", - "solar_system_id" - ], - "name": "map_solar_system_id" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_system_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_transactions_v1/20240716143816.json b/priv/resource_snapshots/repo/map_transactions_v1/20240716143816.json deleted file mode 100644 index 03dd0e5f..00000000 --- a/priv/resource_snapshots/repo/map_transactions_v1/20240716143816.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "attributes": [ - { - "default": "fragment(\"gen_random_uuid()\")", - "size": null, - "type": "uuid", - "source": "id", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": true - }, - { - "default": "\"in\"", - "size": null, - "type": "text", - "source": "type", - "references": null, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - }, - { - "default": "nil", - "size": null, - "type": "float", - "source": "amount", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "inserted_at", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": false - }, - { - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "size": null, - "type": "utc_datetime_usec", - "source": "updated_at", - "references": null, - "allow_nil?": false, - "generated?": false, - "primary_key?": false - }, - { - "default": "nil", - "size": null, - "type": "uuid", - "source": "map_id", - "references": { - "name": "map_transactions_v1_map_id_fkey", - "table": "maps_v1", - "schema": "public", - "destination_attribute": "id", - "primary_key?": true, - "multitenancy": { - "global": null, - "strategy": null, - "attribute": null - }, - "on_delete": null, - "on_update": null, - "deferrable": false, - "match_with": null, - "match_type": null, - "index?": false, - "destination_attribute_default": null, - "destination_attribute_generated": null - }, - "allow_nil?": true, - "generated?": false, - "primary_key?": false - } - ], - "table": "map_transactions_v1", - "hash": "6FA2E1D366EDC3062F6B7AA3537056326E6062FDC9F60BF645BA7B55837AD75F", - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "identities": [], - "multitenancy": { - "global": null, - "strategy": null, - "attribute": null - }, - "base_filter": null, - "has_create_action": true -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_user_settings_v1/20241010160115.json b/priv/resource_snapshots/repo/map_user_settings_v1/20241010160115.json deleted file mode 100644 index 45ee891e..00000000 --- a/priv/resource_snapshots/repo/map_user_settings_v1/20241010160115.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "settings", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_user_settings_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_user_settings_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "88FB044C6F66793E2247BF2CEE17F2E4ED52C007C3DDCE02B6EF583EDDD44D85", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_user_settings_v1_uniq_map_user_index", - "keys": [ - { - "type": "atom", - "value": "map_id" - }, - { - "type": "atom", - "value": "user_id" - } - ], - "name": "uniq_map_user", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_user_settings_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_user_settings_v1/20250327074524.json b/priv/resource_snapshots/repo/map_user_settings_v1/20250327074524.json deleted file mode 100644 index 098695e2..00000000 --- a/priv/resource_snapshots/repo/map_user_settings_v1/20250327074524.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "settings", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_user_settings_v1_map_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "maps_v1" - }, - "size": null, - "source": "map_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "map_user_settings_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "4E38AE137F667F0707C49D15D5B79653DDF6F8A248D1845713200DE4E1C144F0", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "map_user_settings_v1_uniq_map_user_index", - "keys": [ - { - "type": "atom", - "value": "map_id" - }, - { - "type": "atom", - "value": "user_id" - } - ], - "name": "uniq_map_user", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "map_user_settings_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/map_user_settings_v1/20250331201650.json b/priv/resource_snapshots/repo/map_user_settings_v1/20250727123726.json similarity index 89% rename from priv/resource_snapshots/repo/map_user_settings_v1/20250331201650.json rename to priv/resource_snapshots/repo/map_user_settings_v1/20250727123726.json index ac9e3143..1c06d22f 100644 --- a/priv/resource_snapshots/repo/map_user_settings_v1/20250331201650.json +++ b/priv/resource_snapshots/repo/map_user_settings_v1/20250727123726.json @@ -40,6 +40,19 @@ "source": "following_character_eve_id", "type": "text" }, + { + "allow_nil?": true, + "default": "[]", + "generated?": false, + "primary_key?": false, + "references": null, + "size": null, + "source": "hubs", + "type": [ + "array", + "text" + ] + }, { "allow_nil?": false, "default": "nil", @@ -62,7 +75,7 @@ "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "maps_v1" }, "size": null, @@ -91,7 +104,7 @@ "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "user_v1" }, "size": null, @@ -104,7 +117,7 @@ "custom_indexes": [], "custom_statements": [], "has_create_action": true, - "hash": "805B78F8A0ED288E3103D9F5B267FD3927C0AA8F64217DBD7F25EB6B6DDD692A", + "hash": "0DE7CFB3261561DF15952DF1E22950D2DE8DC4FF82D826DC8D85433302278058", "identities": [ { "all_tenants?": false, diff --git a/priv/resource_snapshots/repo/maps_v1/20240531100555.json b/priv/resource_snapshots/repo/maps_v1/20240531100555.json deleted file mode 100644 index 9ed6236e..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20240531100555.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "34A553F36F552052A8877A117E5B484C16634458F4A14DD990FB927DCEE509BF", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20240607045332.json b/priv/resource_snapshots/repo/maps_v1/20240607045332.json deleted file mode 100644 index 0dd83365..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20240607045332.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "slug", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "3F797B0B2D889999B200472DDF715DF20480C144C020E539195DF40C0741EA17", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "maps_v1_unique_slug_index", - "keys": [ - "slug" - ], - "name": "unique_slug" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20240612103309.json b/priv/resource_snapshots/repo/maps_v1/20240612103309.json deleted file mode 100644 index cd6098ea..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20240612103309.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "slug", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": true, - "default": "\"wormholes\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scope", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "A076101745A55DF04769CD52C548249E7E10EF02AE3A48112B46D8CE2E16B357", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "maps_v1_unique_slug_index", - "keys": [ - "slug" - ], - "name": "unique_slug" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20240805140539.json b/priv/resource_snapshots/repo/maps_v1/20240805140539.json deleted file mode 100644 index 21b634ab..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20240805140539.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "slug", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": true, - "default": "\"wormholes\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scope", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "only_tracked_characters", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "DF30403E9C6D515BB7943ABBB774B088B4B98F9E95706E195DC790F3A1EFC01D", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "maps_v1_unique_slug_index", - "keys": [ - { - "type": "atom", - "value": "slug" - } - ], - "name": "unique_slug", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20240806204341.json b/priv/resource_snapshots/repo/maps_v1/20240806204341.json deleted file mode 100644 index 5f36c491..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20240806204341.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "slug", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": false, - "default": "\"wormholes\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scope", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "only_tracked_characters", - "type": "boolean" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "1CE8E5DC6FB948B4882995C443CFCD7DD88D8F27448A7146C28C0A4AB20F96AA", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "maps_v1_unique_slug_index", - "keys": [ - { - "type": "atom", - "value": "slug" - } - ], - "name": "unique_slug", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20241006092351.json b/priv/resource_snapshots/repo/maps_v1/20241006092351.json deleted file mode 100644 index 72b18296..00000000 --- a/priv/resource_snapshots/repo/maps_v1/20241006092351.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "slug", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "personal_note", - "type": "text" - }, - { - "allow_nil?": true, - "default": "[]", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hubs", - "type": [ - "array", - "text" - ] - }, - { - "allow_nil?": false, - "default": "\"wormholes\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "scope", - "type": "text" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "deleted", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "false", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "only_tracked_characters", - "type": "boolean" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "options", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "maps_v1_owner_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "owner_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "E5FC6B5F1B9AD5E23163494C7C93A8002F9C812AFC7A26A8C33A344877086A03", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "maps_v1_unique_slug_index", - "keys": [ - { - "type": "atom", - "value": "slug" - } - ], - "name": "unique_slug", - "nils_distinct?": true, - "where": null - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "maps_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/maps_v1/20250111213133.json b/priv/resource_snapshots/repo/maps_v1/20250727123726.json similarity index 92% rename from priv/resource_snapshots/repo/maps_v1/20250111213133.json rename to priv/resource_snapshots/repo/maps_v1/20250727123726.json index 6c2b8d43..cf93cbba 100644 --- a/priv/resource_snapshots/repo/maps_v1/20250111213133.json +++ b/priv/resource_snapshots/repo/maps_v1/20250727123726.json @@ -113,6 +113,16 @@ "source": "options", "type": "text" }, + { + "allow_nil?": false, + "default": "false", + "generated?": false, + "primary_key?": false, + "references": null, + "size": null, + "source": "webhooks_enabled", + "type": "boolean" + }, { "allow_nil?": false, "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", @@ -155,7 +165,7 @@ "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "character_v1" }, "size": null, @@ -168,7 +178,7 @@ "custom_indexes": [], "custom_statements": [], "has_create_action": true, - "hash": "5266AED79B87A21A891B42E5315E5FC2AA9406184D66A41A1069514F2CB9B16C", + "hash": "566D6185131FF5977CBFFBF43D3E8810C88F15CF3587D7C7E5AFD4056D13DB5D", "identities": [ { "all_tenants?": false, diff --git a/priv/resource_snapshots/repo/ship_type_infos_v1/20240531100555.json b/priv/resource_snapshots/repo/ship_type_infos_v1/20240531100555.json deleted file mode 100644 index 41ed0cda..00000000 --- a/priv/resource_snapshots/repo/ship_type_infos_v1/20240531100555.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "type_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "group_id", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "description", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "mass", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "capacity", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "volume", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "51B0BA517047FF8D692F239A0809D1F8730624A95E74DEA62438A270997AE0A8", - "identities": [ - { - "all_tenants?": false, - "base_filter": null, - "index_name": "ship_type_infos_v1_type_id_index", - "keys": [ - "type_id" - ], - "name": "type_id" - } - ], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "ship_type_infos_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_activity_v1/20240616103353.json b/priv/resource_snapshots/repo/user_activity_v1/20240616103353.json deleted file mode 100644 index 95f307de..00000000 --- a/priv/resource_snapshots/repo/user_activity_v1/20240616103353.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "entity_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"map\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "entity_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"custom\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "event_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "event_data", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "user_activity_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "41A0DA45CD1D0DE6391838543D0EE8EA076282D79D698E30C7AD7A652C768A13", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_activity_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_activity_v1/20240825222325.json b/priv/resource_snapshots/repo/user_activity_v1/20240825222325.json deleted file mode 100644 index f5e2b726..00000000 --- a/priv/resource_snapshots/repo/user_activity_v1/20240825222325.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "entity_id", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"map\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "entity_type", - "type": "text" - }, - { - "allow_nil?": false, - "default": "\"custom\"", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "event_type", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "event_data", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "user_activity_v1_character_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "character_v1" - }, - "size": null, - "source": "character_id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "user_activity_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "0B7FAF7222192337B984B2E004254405C1BFC5CB4BB83667AF2C215166DB021F", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_activity_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_activity_v1/20241022135854.json b/priv/resource_snapshots/repo/user_activity_v1/20250727123726.json similarity index 95% rename from priv/resource_snapshots/repo/user_activity_v1/20241022135854.json rename to priv/resource_snapshots/repo/user_activity_v1/20250727123726.json index a1c2e284..c0db56c4 100644 --- a/priv/resource_snapshots/repo/user_activity_v1/20241022135854.json +++ b/priv/resource_snapshots/repo/user_activity_v1/20250727123726.json @@ -92,7 +92,7 @@ "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "character_v1" }, "size": null, @@ -100,10 +100,10 @@ "type": "uuid" }, { - "allow_nil?": false, + "allow_nil?": true, "default": "nil", "generated?": false, - "primary_key?": true, + "primary_key?": false, "references": { "deferrable": false, "destination_attribute": "id", @@ -121,7 +121,7 @@ "on_delete": null, "on_update": null, "primary_key?": true, - "schema": "public", + "schema": null, "table": "user_v1" }, "size": null, @@ -167,7 +167,7 @@ ], "custom_statements": [], "has_create_action": true, - "hash": "0A26452A1A1C9A8BE1CFD18F9836FE7B778C984F589BD3C9B0EA2801B3FAC509", + "hash": "04C1AB96E7E2BF01680FCB9512C6A93A212D7A00FB42778CA616E74DDCAEFBA1", "identities": [], "multitenancy": { "attribute": null, diff --git a/priv/resource_snapshots/repo/user_transaction_v1/20240630092536.json b/priv/resource_snapshots/repo/user_transaction_v1/20240630092536.json deleted file mode 100644 index 314de2d0..00000000 --- a/priv/resource_snapshots/repo/user_transaction_v1/20240630092536.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "journal_ref_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "corporation_id", - "type": "bigint" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "amount", - "type": "bigint" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "date", - "type": "utc_datetime" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "reason", - "type": "text" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "inserted_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "fragment(\"(now() AT TIME ZONE 'utc')\")", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "updated_at", - "type": "utc_datetime_usec" - }, - { - "allow_nil?": false, - "default": "nil", - "generated?": false, - "primary_key?": true, - "references": { - "deferrable": false, - "destination_attribute": "id", - "destination_attribute_default": null, - "destination_attribute_generated": null, - "index?": false, - "match_type": null, - "match_with": null, - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "name": "user_transaction_v1_user_id_fkey", - "on_delete": null, - "on_update": null, - "primary_key?": true, - "schema": "public", - "table": "user_v1" - }, - "size": null, - "source": "user_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "A3C8764CEA8A37613F0A316DD7B6791F82A2B2CB99F6BB79224CFBEAFD02D1BB", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_transaction_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_v1/20240531100555.json b/priv/resource_snapshots/repo/user_v1/20240531100555.json deleted file mode 100644 index df02ec9d..00000000 --- a/priv/resource_snapshots/repo/user_v1/20240531100555.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "last_map_id", - "type": "uuid" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "B206EE96F408336DAAC687B7072D034B334A0CD98A2710FF6184415CDE1B76FB", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_v1/20240630094622.json b/priv/resource_snapshots/repo/user_v1/20240630094622.json deleted file mode 100644 index eff915f5..00000000 --- a/priv/resource_snapshots/repo/user_v1/20240630094622.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "last_map_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "0.0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wanderer_balance", - "type": "float" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "ED337861F11C53471FCC3BF4264ED71C12B8D6B0CADC31B6AF7C9669BAC655A3", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_v1/20240706085109.json b/priv/resource_snapshots/repo/user_v1/20240706085109.json deleted file mode 100644 index 8b786f88..00000000 --- a/priv/resource_snapshots/repo/user_v1/20240706085109.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "last_map_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "0.0", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "wanderer_balance", - "type": "float" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_balance", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "A36657DA9C1BDDB2963CDD62CA1B6065A44B21D30698204E409FB4BC624BA58C", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_v1" -} \ No newline at end of file diff --git a/priv/resource_snapshots/repo/user_v1/20240706093000.json b/priv/resource_snapshots/repo/user_v1/20240706093000.json deleted file mode 100644 index c228e2fa..00000000 --- a/priv/resource_snapshots/repo/user_v1/20240706093000.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "attributes": [ - { - "allow_nil?": false, - "default": "fragment(\"gen_random_uuid()\")", - "generated?": false, - "primary_key?": true, - "references": null, - "size": null, - "source": "id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "name", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "hash", - "type": "text" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "last_map_id", - "type": "uuid" - }, - { - "allow_nil?": true, - "default": "nil", - "generated?": false, - "primary_key?": false, - "references": null, - "size": null, - "source": "encrypted_balance", - "type": "binary" - } - ], - "base_filter": null, - "check_constraints": [], - "custom_indexes": [], - "custom_statements": [], - "has_create_action": true, - "hash": "DC9A4A29DF6DCF74CE37F2E1E512C701102D9943B1F0D563A388631BAD1D6335", - "identities": [], - "multitenancy": { - "attribute": null, - "global": null, - "strategy": null - }, - "repo": "Elixir.WandererApp.Repo", - "schema": null, - "table": "user_v1" -} \ No newline at end of file